Gestion de sauvegarde de SQL Server sur Microsoft Azure

S’applique à :SQL Server - Windows uniquement

La sauvegarde managée SQL Server vers Microsoft Azure permet de gérer et d’automatiser les sauvegardes SQL Server dans le stockage Blob Microsoft Azure. Vous pouvez choisir d’autoriser SQL Server à déterminer la planification de sauvegarde en fonction de la charge de travail des transactions de votre base de données. Ou vous pouvez utiliser les options avancées pour définir une planification. Les paramètres de rétention déterminent la durée pendant laquelle les sauvegardes sont stockées dans le stockage d’objets blob Azure. La sauvegarde managée SQL Server sur Microsoft Azure prend en charge la restauration à un point dans le temps pour la période de rétention spécifiée.

À compter de SQL Server 2016 (13.x), les procédures et le comportement sous-jacent de la sauvegarde managée SQL Server vers Microsoft Azure ont changé. Pour plus d’informations, consultez Migrer les paramètres de gestion de sauvegarde de SQL Server 2014 vers SQL Server 2016.

Astuce

La sauvegarde managée SQL Server sur Microsoft Azure est recommandée pour les instances SQL Server s’exécutant sur des machines virtuelles Microsoft Azure.

Avantages

Actuellement, l'automatisation des sauvegardes pour plusieurs bases de données requiert le développement d'une stratégie de sauvegarde, l'écriture d'un code personnalisé et la planification des sauvegardes. À l’aide de SQL Server Managed Backup vers Microsoft Azure, vous pouvez créer un plan de sauvegarde en spécifiant uniquement la période de rétention et l’emplacement de stockage. Bien que les paramètres avancés soient disponibles, ils ne sont pas obligatoires. Sql Server Managed Backup to Microsoft Azure schedules, effectue et gère les sauvegardes.

La sauvegarde managée SQL Server sur Microsoft Azure peut être configurée au niveau de la base de données ou au niveau de l’instance SQL Server. Lors de la configuration au niveau de l’instance, les nouvelles bases de données sont également sauvegardées automatiquement. Vous pouvez utiliser les paramètres au niveau de la base de données pour remplacer les valeurs par défaut au niveau de l’instance pour un cas particulier.

Vous pouvez également chiffrer les sauvegardes pour renforcer la sécurité, et vous pouvez configurer une planification personnalisée pour contrôler le moment où les sauvegardes sont effectuées. Pour plus d’informations sur les avantages de l’utilisation du stockage Blob Microsoft Azure pour les sauvegardes SQL Server, consultez Sauvegarde et restauration SQL Server avec Stockage Blob Microsoft Azure

Prerequisites

Le stockage Microsoft Azure est utilisé par la sauvegarde managée SQL Server sur Microsoft Azure pour stocker les fichiers de sauvegarde. Les prérequis suivants sont obligatoires :

Logiciel requis Description
Compte Microsoft Azure Vous pouvez commencer à utiliser Azure avec une version d’évaluation gratuite avant d’explorer les options d’achat.
Compte de stockage Azure Les sauvegardes sont stockées dans stockage Blob Azure associé à un compte de stockage Azure. Pour obtenir des instructions détaillées sur la création d’un compte de stockage, consultez À propos des comptes de stockage Azure.
Conteneur d’objets blob Les objets blob sont organisés dans des conteneurs. Vous spécifiez le conteneur cible pour les fichiers de sauvegarde. Vous pouvez créer un conteneur dans le portail de gestion Azureou vous pouvez utiliser la commande New-AzureStorageContainerAzure PowerShell .
Signature d’accès partagé (SAP) L’accès au conteneur cible est contrôlé par une signature d’accès partagé (SAS). Pour une vue d’ensemble de SAS, consultez Signatures d’accès partagé, partie 1 : présentation du modèle SAS. Vous pouvez créer un jeton SAS dans le code ou avec la commande PowerShell New-AzureStorageContainerSASToken . Pour obtenir un script PowerShell qui simplifie ce processus, consultez Simplification de la création d’informations d’identification SQL avec des jetons de signature d’accès partagé (SAP) sur Stockage Azure avec PowerShell. Le jeton SAP peut être stocké dans des informations d’identification SQL à utiliser avec la sauvegarde managée SQL Server sur Microsoft Azure.
SQL Server Agent SQL Server Agent doit s’exécuter pour que la sauvegarde managée SQL Server sur Microsoft Azure fonctionne. Envisagez de définir l’option de démarrage sur automatique.

Composants

Transact-SQL est l’interface principale permettant d’interagir avec la sauvegarde managée SQL Server sur Microsoft Azure. Les procédures stockées système sont utilisées pour activer, configurer et surveiller la sauvegarde managée SQL Server sur Microsoft Azure. Les fonctions système sont utilisées pour récupérer des paramètres de configuration existants, des valeurs de paramètre et des informations sur le fichier de configuration. Les événements étendus sont utilisés pour exposer des erreurs et des avertissements. Les mécanismes d'alerte sont activés via les travaux SQL Agent et la gestion basées sur des stratégies SQL Server. Voici une liste des objets et une description de ses fonctionnalités par rapport à SQL Server Managed Backup vers Microsoft Azure.

Les applets de commande PowerShell sont également disponibles pour configurer la sauvegarde managée SQL Server sur Microsoft Azure. SQL Server Management Studio prend en charge la restauration des sauvegardes créées par la sauvegarde managée SQL Server sur Microsoft Azure à l’aide de la tâche Restaurer la base de données

Objet système Description
MSDB Stocke les métadonnées, l’historique des sauvegardes pour toutes les sauvegardes créées par la sauvegarde managée SQL Server sur Microsoft Azure.
managed_backup.sp_backup_config_basic (Transact-SQL) Active la sauvegarde managée SQL Server sur Microsoft Azure.
managed_backup.sp_backup_config_advanced (Transact-SQL) Configure les paramètres avancés de la sauvegarde managée SQL Server sur Microsoft Azure, tels que le chiffrement.
managed_backup.sp_backup_config_schedule (Transact-SQL) Crée une planification personnalisée pour la sauvegarde managée SQL Server sur Microsoft Azure.
managed_backup.sp_ backup_master_switch (Transact-SQL) Suspend et reprend la sauvegarde managée SQL Server sur Microsoft Azure.
managed_backup.sp_set_parameter (Transact-SQL) Active et configure la surveillance de la sauvegarde managée SQL Server sur Microsoft Azure. Exemples : activer les événements étendus, les paramètres de courrier électronique pour les notifications.
managed_backup.sp_backup_on_demand (Transact-SQL) Effectue une sauvegarde ad hoc pour une base de données qui est activée pour utiliser la sauvegarde managée SQL Server sur Microsoft Azure sans interrompre la chaîne de journaux.
managed_backup.fn_backup_db_config (Transact-SQL) Retourne la sauvegarde managée SQL Server actuelle vers l’état et les valeurs de configuration de Microsoft Azure pour une base de données, ou pour toutes les bases de données de l’instance.
managed_backup.fn_is_master_switch_on (Transact-SQL) Retourne l’état du commutateur principal.
managed_backup.sp_get_backup_diagnostics (Transact-SQL) Retourne les événements enregistrés par Événements étendus.
managed_backup.fn_get_parameter (Transact-SQL) Retourne les valeurs actuelles des paramètres système de la sauvegarde comme les paramètres de surveillance et de courrier électronique pour les alertes.
managed_backup.fn_available_backups (Transact-SQL) Récupère les sauvegardes disponibles pour une base de données spécifiée ou pour toutes les bases de données dans une instance.
managed_backup.fn_get_current_xevent_settings (Transact-SQL) Retourne les paramètres actuels des événements étendus.
managed_backup.fn_get_health_status (Transact-SQL) Retourne le décompte agrégé des erreurs enregistrées par les événements étendus pour une période spécifiée.

Stratégie de sauvegarde

Planification de la sauvegarde

Vous pouvez spécifier une planification de sauvegarde personnalisée à l’aide de la procédure stockée système managed_backup.sp_backup_config_schedule (Transact-SQL). Si vous ne spécifiez pas de planification personnalisée, le type de sauvegardes planifiées et la fréquence de sauvegarde est déterminée en fonction de la charge de travail de la base de données. Les paramètres de période de rétention sont utilisés pour déterminer la période pendant laquelle un fichier de sauvegarde doit être retenu dans le stockage et la capacité à restaurer une base de données à un point précis dans le temps au cours de la période de rétention.

Conventions d’affectation de noms aux fichiers de sauvegarde

Sql Server Managed Backup to Microsoft Azure utilise le conteneur que vous spécifiez. Vous avez donc le contrôle sur le nom du conteneur. Les fichiers de sauvegarde des bases de données autres que des bases de données de disponibilité sont nommés en utilisant les 40 premiers caractères du nom de la base de données, le GUID de la base de données sans le symbole « - » et l’horodateur. Le caractère de soulignement est inséré entre les segments comme délimiteurs. L'extension .bak est utilisée pour le fichier en cas de sauvegarde complète et l'extension .log est utilisée pour les sauvegardes de journal. Pour les bases de données d’un groupe de disponibilité, en plus de la convention de nommage décrite ci-dessus, le GUID de la base de données du groupe de disponibilité est ajouté à la suite des 40 caractères du nom de la base de données. La valeur du GUID de la base de données du groupe de disponibilité est la valeur de group_database_id dans sys.databases.

Sauvegarde de base de données complète

La sauvegarde managée SQL Server sur l’agent Microsoft Azure planifie une sauvegarde complète de base de données si l’une des valeurs suivantes est vraie.

  • Une base de données est une sauvegarde managée SQL Server sur Microsoft Azure activée pour la première fois, ou lorsque la sauvegarde managée SQL Server sur Microsoft Azure est activée avec les paramètres par défaut au niveau de l’instance.

  • La taille du journal depuis la dernière sauvegarde de base de données complète est égale ou supérieure à 1 Go.

  • L'intervalle maximum d'une semaine est dépassé depuis la dernière sauvegarde de base de données complète.

  • La séquence de journaux de transactions consécutifs est rompue. Sql Server Managed Backup to Microsoft Azure vérifie régulièrement si la chaîne de journaux est intacte en comparant les premiers et derniers LSN des fichiers de sauvegarde. En cas de rupture dans la chaîne de journaux pour une raison quelconque, SQL Server Managed Backup vers Microsoft Azure planifie une sauvegarde complète de base de données. Le motif le plus fréquent d'une rupture de la séquence de journaux de transactions consécutifs est le plus souvent une commande de sauvegarde émise à l'aide de Transact-SQL ou via la tâche de sauvegarde dans SQL Server Management Studio. D'autres scénarios communs sont la suppression accidentelle des fichiers journaux de sauvegarde ou le remplacement accidentel des sauvegardes.

Sauvegarde du journal des transactions

La sauvegarde managée SQL Server sur Microsoft Azure planifie une sauvegarde de journal si l’une des valeurs suivantes est vraie :

  • Il n’y a pas d’historique de sauvegarde de journal qui se trouve. Cela est généralement vrai lorsque la sauvegarde managée SQL Server sur Microsoft Azure est activée pour la première fois.

  • L'espace du journal des transactions utilisé dépasse 5 Mo.

  • L'intervalle maximum de 2 heures est dépassé depuis la dernière sauvegarde de journal.

  • Chaque fois que la sauvegarde du journal des transactions est en retard derrière une sauvegarde complète de la base de données. Le but est de conserver la séquence de journaux de transactions consécutifs avant la sauvegarde complète.

Paramètres de période de rétention

Lors de l’activation de la sauvegarde, vous devez définir la période de rétention en jours : le minimum est de 1 jour et le maximum est de 90 jours.

Sql Server Managed Backup vers Microsoft Azure en fonction des paramètres de période de rétention, évalue la possibilité de récupérer à un point dans le temps spécifié, afin de déterminer les fichiers de sauvegarde à conserver et d’identifier les fichiers de sauvegarde à supprimer. Le paramètre backup_finish_date de la sauvegarde est utilisé pour déterminer et vérifier la durée spécifiée dans les paramètres de la période de rétention.

Points importants à prendre en compte

Pour une base de données, s’il existe une tâche de sauvegarde complète de base de données en cours d’exécution, sql Server Managed Backup vers Microsoft Azure attend que le travail actuel soit terminé avant d’effectuer une autre sauvegarde complète de la base de données pour la même base de données. De même, une seule sauvegarde de journal de transactions peut être exécutée à la fois. Toutefois, une sauvegarde de base de données complète et une sauvegarde de journal peuvent s'exécuter simultanément. Les échecs sont enregistrés en tant qu'événements étendus.

Si plus de 10 sauvegardes de base de données complètes sont planifiées simultanément, un avertissement est généré au moyen du canal de débogage des événements étendus. Sql Server Managed Backup vers Microsoft Azure conserve ensuite une file d’attente de priorité pour les bases de données restantes qui nécessitent une sauvegarde jusqu’à ce que toutes les sauvegardes soient planifiées et terminées.

Note

La gestion de sauvegarde de SQL Server n’est pas prise en charge avec les serveurs proxy.

Prise en charge

Les limitations et considérations de prise en charge suivantes sont spécifiques à SQL Server :

  • La sauvegarde de bases de données système master, modèleet msdb est prise en charge. La sauvegarde de tempdb n’est pas prise en charge.

  • Tous les modèles de récupération sont pris en charge (Complète, journalisée en bloc et Simple).

  • Sql Server Managed Backup to Microsoft Azure Agent prend uniquement en charge les sauvegardes complètes et de journaux de base de données. L’automatisation de la sauvegarde de fichiers n’est pas prise en charge.

  • Le Stockage Blob Microsoft Azure est la seule option de stockage de sauvegarde prise en charge. Les sauvegardes sur disque ou bande ne sont pas prises en charge.

  • Sql Server Managed Backup to Microsoft Azure utilise la fonctionnalité Backup to Block Blob. La taille maximale d’un objet blob de blocs est de 200 Go. Mais en utilisant l’agrégation, la taille maximale d’une sauvegarde individuelle peut atteindre 12 To. Si vos besoins en matière de sauvegarde dépassent cela, envisagez d’utiliser la compression et de tester la taille du fichier de sauvegarde avant de configurer la sauvegarde managée SQL Server sur Microsoft Azure. Pour le test, effectuez une sauvegarde sur un disque local ou une sauvegarde manuelle dans Microsoft Azure Storage à l’aide de l’instruction Transact-SQL BACKUP TO URL . Pour plus d’informations, consultez SQL Server Backup to URL.

  • La sauvegarde managée SQL Server sur Microsoft Azure peut avoir certaines limitations lorsqu’elle est configurée avec d’autres technologies prenant en charge la sauvegarde, la haute disponibilité ou la récupération d’urgence.

  • Les sauvegardes de bases de données dans un groupe de disponibilité seront une sauvegarde copy_only.

Voir aussi