Sauvegarder et restaurer des pools SQL dédiés dans Azure Synapse Analytics

Dans cet article, vous allez découvrir comment utiliser la sauvegarde et la restauration dans un pool SQL dédié Azure Synapse.

Utilisez des points de restauration de pool SQL dédié pour récupérer ou copier votre entrepôt de données dans un état précédent dans la région primaire. Utilisez des sauvegardes géoredondantes d’entrepôts de données pour effectuer une restauration dans une autre région géographique.

Remarque

Toutes les fonctionnalités du pool SQL dédié dans les espaces de travail Azure Synapse ne s’appliquent pas au pool SQL dédié (anciennement SQL DW), et inversement. Pour activer les fonctionnalités de l’espace de travail pour un pool SQL dédié (anciennement SQL DW) existant, reportez-vous au Guide pratique pour activer un espace de travail pour votre pool SQL dédié (anciennement SQL DW). Pour plus d’informations, consultez Quelle est la différence entre les pools SQL dédiés Azure Synapse (anciennement SQL DW) et les pools SQL dédiés dans un espace de travail Azure Synapse Analytics ?.

Qu’est-ce qu’une capture instantanée d’entrepôt de données ?

Une capture instantanée d’entrepôt de données crée un point de restauration que vous pouvez utiliser pour récupérer ou copier votre entrepôt de données dans un état antérieur. Comme un pool SQL dédié est un système distribué, une capture instantanée d’entrepôt de données est constituée de nombreux fichiers qui sont stockés dans le Stockage Azure. Les captures instantanées capturent les changements incrémentiels à partir des données stockées dans votre entrepôt de données.

Remarque

Les taux d’objectif de délai de récupération (RTO) du pool SQL dédié peuvent varier. Éléments susceptibles d’affecter le temps de récupération (restauration) :

  • La taille de la base de données
  • L’emplacement de l’entrepôt de données source et cible (en cas de géorestauration)
  • L’instantané de l’entrepôt de données ne peut pas être exporté en tant que fichier distinct (par exemple pour le Stockage Azure, un environnement local)

Une restauration d’entrepôt de données est un nouvel entrepôt de données créé à partir d’un point de restauration d’un entrepôt de données existant ou supprimé. La restauration de votre entrepôt de données est une partie essentielle de toute stratégie de continuité d’activité ou de récupération d’urgence, dans la mesure où elle recrée vos données après des corruptions et des suppressions accidentelles. Une capture instantanée d’entrepôt de données est également un mécanisme puissant pour créer des copies de votre entrepôt de données à des fins de test ou de développement.

Notes

Les taux d’objectif de délai de récupération (RTO) du pool SQL dédié peuvent varier. Éléments susceptibles d’affecter le temps de récupération (restauration) :

  • La taille de la base de données
  • L’emplacement de l’entrepôt de données source et cible (en cas de géorestauration)

Points de restauration automatiques

La fonctionnalité intégrée de captures instantanées crée des points de restauration. Il n’est pas nécessaire de l’activer. Toutefois, le pool SQL dédié doit être dans un état actif pour permettre la création de points de restauration. S’il est fréquemment suspendu, il est possible que les points de restauration automatiques ne soient pas créés. Veillez donc à créer un point de restauration défini par l’utilisateur avant de suspendre le pool SQL dédié. Les points de restauration automatiques ne peuvent actuellement pas être supprimés par les utilisateurs étant donné que le service utilise ces points de restauration pour conserver les contrats SLA pour la récupération.

Des captures instantanées de votre entrepôt de données sont prises pendant la journée, créant des points de restauration qui sont disponibles pendant sept jours. Cette période de conservation ne peut pas être modifiée. Le pool SQL dédié prend en charge un objectif de point de récupération (RPO) de huit heures. Vous pouvez restaurer votre entrepôt de données dans la région primaire à partir de n’importe quelle capture instantanée prise au cours des sept derniers jours.

Pour voir quand la dernière capture instantanée a démarré, exécutez cette requête sur votre pool SQL dédié en ligne.

SELECT TOP 1 *
FROM sys.pdw_loader_backup_runs
ORDER BY run_id desc;

Remarque

Les sauvegardes ont lieu toutes les quatre (4) heures pour répondre à un contrat SLA de huit (8) heures. Par conséquent, la vue de gestion dynamique sys.pdw_loader_backup_runs affiche l’activité de sauvegarde toutes les quatre (4) heures.

Points de restauration définis par l’utilisateur

Cette fonctionnalité vous permet de déclencher manuellement des captures instantanées pour créer des points de restauration de votre entrepôt de données avant et après des modifications importantes. Cette fonctionnalité garantit que les points de restauration sont logiquement cohérents, ce qui renforce la protection des données en cas d’interruptions de la charge de travail ou d’erreurs d’utilisateur pendant le temps de récupération rapide. Les points de restauration définis par l’utilisateur sont disponibles pendant sept jours et sont automatiquement supprimés pour votre compte. Vous ne pouvez pas changer la période de conservation des points de restauration définis par l’utilisateur. 42 points de restauration définis par l’utilisateur sont garantis à un instant donné. Ils doivent donc être supprimés avant qu’un autre point de restauration soit créé. Vous pouvez déclencher des instantanés pour créer des points de restauration définis par l’utilisateur à l’aide du Portail Azure ou par programmation uniquement au moyen de PowerShell ou des API REST.

Remarque

Si vous avez besoin de points de restauration disponibles pendant de plus de sept jours, votez pour cette fonctionnalité.

Remarque

Le script T-SQL ne peut pas servir à effectuer une sauvegarde à la demande. Des points de restauration définis par l’utilisateur peuvent être créés à l’aide du Portail Azure ou par programmation au moyen de PowerShell ou des API REST.

Si vous recherchez un concept de conservation à long terme (LTR) :

  1. Créez un point de restauration défini par l’utilisateur ou utilisez l’un des points de restauration générés automatiquement.
  2. Restaurez à partir du point de restauration que vous venez de créer vers un nouvel entrepôt de données.
  3. Une fois que vous avez restauré, vous disposez du pool SQL dédié en ligne. Suspendez-la indéfiniment pour réduire les coûts de calcul. La base de données en pause entraîne des frais de stockage au tarif de stockage d'Azure Synapse.

Si vous avez besoin d’une copie active de l’entrepôt de données restauré, vous pouvez reprendre, ce qui ne doit prendre que quelques minutes.

Créer des points de restauration définis par l’utilisateur

Vous pouvez créer un point de restauration défini par l’utilisateur par programmation. Choisissez la méthode appropriée en fonction du pool SQL que vous utilisez : un pool SQL dédié autonome (anciennement SQL DW) ou un pool SQL dédié dans un espace de travail Synapse.

Azure PowerShell

API REST

Supprimer des points de restauration définis par l’utilisateur

Vous pouvez supprimer un point de restauration défini par l’utilisateur spécifique par programmation. Choisissez la méthode appropriée en fonction du pool SQL que vous utilisez : un pool SQL dédié autonome (anciennement SQL DW) ou un pool SQL dédié dans un espace de travail Synapse.

Azure PowerShell

API REST

Conservation des points de restauration

La section suivante contient plus d’informations sur les périodes de rétention des points de restauration :

  1. Le pool SQL dédié supprime un point de restauration à l’issue de la période de conservation de 7 jours et quand il y a au moins 42 points de restauration au total (points de restauration définis par l’utilisateur et points de restauration automatiques).
  2. Aucune capture instantanée n’est prise quand un pool SQL dédié est suspendu.
  3. L’âge d’un point de restauration est mesuré selon les jours calendaires absolus à partir du moment où le point de restauration est pris, ce qui inclut le moment où le pool SQL est suspendu.
  4. À tout moment, un pool SQL dédié peut stocker jusqu’à 42 points de restauration définis par l’utilisateur ou 42 points de restauration automatiques, à condition que ces points de restauration n’aient pas atteint la période de conservation de 7 jours
  5. Si une capture instantanée est prise, le pool SQL dédié est alors suspendu pendant plus de 7 jours, puis son activité est reprise. Le point de restauration persiste jusqu’à ce qu’il y ait 42 points de restauration au total (points de restauration définis par l’utilisateur et points de restauration automatiques)

Conservation des captures instantanées quand un pool SQL est supprimé

Quand vous supprimez un pool SQL dédié, une capture instantanée finale est créée et enregistrée pendant sept jours. Vous pouvez restaurer le pool SQL dédié au point de restauration final créé au moment de la suppression. Si le pool SQL dédié est supprimé dans l’état suspendu, aucune capture instantanée n’est prise. Dans ce scénario, veillez à créer un point de restauration défini par l’utilisateur avant de supprimer le pool SQL dédié.

Sauvegardes de géoréplication et récupération d’urgence

Une géosauvegarde est créée une fois par jour dans un centre de données associé. Le RPO pour une géo-restauration est de 24 heures. Une géo-restauration est toujours une opération de déplacement de données et le RTO dépend de la taille des données. Seule la dernière géosauvegarde est conservée. Vous pouvez restaurer la géosauvegarde sur un serveur dans n’importe quelle autre région où le pool SQL dédié est pris en charge. Une géosauvegarde vous garantit de pouvoir restaurer un entrepôt de données dans le cas où vous ne pouvez pas accéder aux points de restauration de votre région primaire.

Si vous n’avez pas besoin de géosauvegardes pour votre pool SQL dédié, vous pouvez les désactiver et économiser sur les coûts de stockage de la récupération d’urgence. Pour ce faire, reportez-vous à Guide pratique : Désactiver les géosauvegardes pour un pool SQL dédié (anciennement SQL DW). Si vous désactivez les géosauvegardes, vous ne pourrez pas récupérer votre pool SQL dédié dans votre région Azure associée si votre centre de données Azure principal n’est pas disponible.

Remarque

Si vous avez besoin d’un objectif de point de récupération (RPO) plus court pour les géosauvegardes, votez pour cette fonctionnalité. Vous pouvez également créer un point de restauration défini par l’utilisateur et effectuer une restauration à partir du point de restauration nouvellement créé dans un nouvel entrepôt de données se trouvant dans une autre région. Une fois la restauration effectuée, vous retrouvez l’entrepôt de données en ligne que vous pouvez mettre en pause indéfiniment pour réduire les coûts de calcul. La base de données en pause entraîne des frais de stockage aux tarifs du Stockage Premium Azure. Un autre modèle courant pour un point de récupération plus rapide consiste à ingérer des données dans des instances principales et secondaires d’un entrepôt de données en parallèle. Dans ce scénario, les données sont ingérées à partir d’une source (ou de sources) et sont conservées dans deux instances distinctes de l’entrepôt de données (primaire et secondaire). Pour réaliser des économies sur les coûts de calcul, vous pouvez suspendre l’instance secondaire de l’entrepôt. Si vous avez besoin d’une copie active de l’entrepôt de données, vous pouvez reprendre, ce qui ne doit prendre que quelques minutes.

Résidence des données

Si votre centre de données couplé est situé en dehors de votre pays/région, vous pouvez vous assurer que vos données restent dans votre région en approvisionnant votre base de données sur un stockage localement redondant (LRS). Si votre base de données a déjà été approvisionnée sur un stockage géographiquement redondant avec accès en lecture (RA-GRS, option par défaut actuelle), vous pouvez refuser les géosauvegardes, mais votre base de données continuera de résider sur le stockage répliqué sur une paire régionale. Pour vous assurer que les données client restent dans votre région, vous pouvez approvisionner ou restaurer votre pool SQL dédié sur un stockage localement redondant. Pour plus d’informations sur la façon d’approvisionner ou de restaurer sur un stockage localement redondant, consultez l’article Configure single region residency for a dedicated SQL pool (formerly SQL DW) in Azure Synapse Analytics.

Pour confirmer que votre centre de données associé se trouve dans un autre pays/région, reportez-vous à Régions jumelées Azure.

Coûts de sauvegarde et de restauration

Vous remarquerez que la facture Azure comprend un élément de ligne pour le Stockage et un élément de ligne pour le Stockage de reprise d’activité après sinistre. Les frais de stockage correspondent au coût total du stockage de vos données dans la région primaire et aux changements incrémentiels pris par des captures instantanés. Pour en savoir plus sur la facturation des instantanés, reportez-vous à Comprendre comment les instantanés contribuent à l’augmentation des coûts. Les frais géoredondants couvrent le coût du stockage des géosauvegardes.

Le coût total de votre entrepôt de données principal et de sept jours de changements de captures instantanées est arrondi au To le plus proche. Par exemple, si la taille de votre entrepôt de données est de 1,5 To et que les captures instantanées occupent 100 Go, vous êtes facturé pour 2 To de données aux prix du Stockage Standard Azure.

Si vous utilisez le stockage géoredondant, vous payez des frais de stockage distincts. Le stockage géoredondant est facturé au prix standard du stockage géoredondant avec accès en lecture (RA-GRS).

Pour plus d’informations sur la tarification Azure Synapse, consultez Tarification Azure Synapse Analytics. La sortie des données ne vous est pas facturée lors de la restauration dans différentes régions.

Restaurer à partir de points de restauration

Chaque capture instantanée crée un point de restauration qui représente son heure de début. Pour restaurer un entrepôt de données, choisissez un point de restauration et émettez une commande de restauration.

Vous pouvez conserver les entrepôts de données restauré et actuel ou les supprimer tous les deux. Si vous voulez remplacer l’entrepôt de données actuel par l’entrepôt de données restauré, vous pouvez le renommer à l’aide d’ALTER DATABASE avec l’option MODIFY NAME.

Remarque

La restauration au niveau de la table n’est pas prise en charge dans les pools SQL dédiés. Vous pouvez uniquement récupérer une base de données entière à partir de votre sauvegarde, puis copier la ou les tables requises à l’aide des

  • activités des outils ETL comme l’activité de copie
  • Exporter et importer
    • Exporter les données de la sauvegarde restaurée dans votre Data Lake à l’aide de cet exemple CETAS
    • Importer les données à l’aide de COPY ou Polybase

Restauration avec plusieurs abonnements

Vous pouvez effectuer une restauration entre abonnements.

Restauration géoredondante

Vous pouvez restaurer votre pool SQL dédié dans n’importe quelle région prenant en charge le pool SQL dédié au niveau de performances que vous avez choisi.

Notes

Pour effectuer une restauration géoredondante, vous devez avoir activé cette fonctionnalité.

Processus de support

Vous pouvez envoyer un ticket de support par le biais du portail Azure pour Azure Synapse Analytics.