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 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 gérée de SQL Server vers Microsoft Azure prend en charge la limite de restauration dans le temps pour la période de rétention spécifiée.

Remarque

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

La sauvegarde gérée de SQL Server vers Microsoft Azure est recommandée pour les instances de SQL Server exécutées 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 la sauvegarde gérée par SQL Server 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. Il existe des paramètres avancés mais ils ne sont pas obligatoires. La sauvegarde gérée de SQL Server vers Microsoft Azure planifie, exécute et maintient les sauvegardes.

La sauvegarde gérée par SQL Server vers Microsoft Azure peut être configurée au niveau de la base de données ou au niveau de l’instance de SQL Server. Lorsqu'elle est configurée au niveau de l'instance, toute nouvelle base de données est également sauvegardée 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 Microsoft Azure Blob pour les sauvegardes de SQL Server, consultez Sauvegarde et restauration de SQL Server avec Stockage Blob Azure.

Prérequis

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 :

Configuration requise Description
Compte Microsoft Azure Vous pouvez commencer à utiliser Azure avec une version d’évaluation gratuite avant d’explorer les options d’achat.
compte Stockage Azure Les sauvegardes sont stockées dans le 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 Créer un compte de stockage.
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 Azure ou vous pouvez utiliser la commande New-AzureStorageContainerAzure PowerShell.
Signature d’accès partagé (SAS) 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 Accorder un accès limité aux ressources Stockage Azure à l’aide des signatures d’accès partagé (SAP). 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é (SAS) sur le stockage Azure avec Powershell. Le jeton SAS 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 être en cours d'exécution pour que la sauvegarde gérée par SQL Server vers Microsoft Azure fonctionne. Envisagez de définir l’option de démarrage sur automatique.
Secondaire de groupe de disponibilité accessible en lecture Si vous déchargez vos sauvegardes managées sur un réplica secondaire d’un groupe de disponibilité Always On, le réplica secondaire doit être défini sur Lisible pour que les sauvegardes gérées s’effectuent correctement.

Composants

Transact-SQL est l’interface principale pour interagir avec la sauvegarde managée SQL Server sur Microsoft Azure. Les procédures stockées du système sont utilisées pour activer, configurer et surveiller la sauvegarde gérée par SQL Server vers 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. La liste suivante d’objets inclut une description de leurs fonctionnalités par rapport à la sauvegarde managée SQL Server sur 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 gérée de SQL Server vers 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 gérée de SQL Server vers Microsoft Azure.
managed_backup.sp_backup_config_basic Permet la sauvegarde gérée de SQL Server vers Microsoft Azure.
managed_backup.sp_backup_config_advanced Configure les paramètres avancés pour la sauvegarde gérée de SQL Server vers Microsoft Azure, tels que le chiffrement.
managed_backup.sp_backup_config_schedule Crée une planification personnalisée pour la sauvegarde gérée de SQL Server vers Microsoft Azure.
managed_backup.sp_backup_master_switch Met en pause et reprend la sauvegarde gérée de SQL Server vers Microsoft Azure.
managed_backup.sp_set_parameter 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 Effectue une sauvegarde ad hoc pour une base de données activée pour utiliser la sauvegarde gérée par SQL Server vers Microsoft Azure sans rompre la séquence de journaux de transactions consécutifs.
managed_backup.fn_backup_db_config Renvoie l'état actuel de la sauvegarde gérée par SQL Server vers Microsoft Azure et les valeurs de configuration pour une base de données, ou pour toutes les bases de données de l'instance.
managed_backup.fn_is_master_switch_on Retourne l’état du commutateur principal.
managed_backup.sp_get_backup_diagnostics Retourne les événements enregistrés par Événements étendus.
managed_backup.fn_get_parameter 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 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 Retourne les paramètres actuels des événements étendus.
managed_backup.fn_get_health_status 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

Les sections suivantes décrivent une stratégie de sauvegarde pour la sauvegarde managée SQL Server sur Microsoft Azure.

Planification de la sauvegarde

Vous pouvez spécifier un calendrier de sauvegarde personnalisé à l'aide de la procédure stockée managed_backup.sp_backup_config_schedule. Si vous ne spécifiez pas de calendrier personnalisé, le type de sauvegardes programmées et la fréquence des sauvegardes sont déterminés 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

La sauvegarde gérée de SQL Server vers Microsoft Azure utilise le conteneur que vous spécifiez, donc vous pouvez contrôler le nom du conteneur. Pour les fichiers de sauvegarde, les bases de données non disponibles sont nommées selon la convention suivante : Le nom est créé 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 - et l'horodateur. Le caractère de soulignement est inséré entre les segments comme délimiteurs. L'extension de fichier .bak est utilisée pour les sauvegardes complètes et .log pour les sauvegardes de journaux. Pour les bases de données d'un groupe de disponibilité (AG), en plus de la convention d’affectation de noms des fichiers décrite précédemment, le GUID de la base de données AG est ajouté après les 40 caractères du nom de la base de données. La valeur GUID de la base de données du groupe de disponibilité est la valeur de group_database_id dans sys.databases.

Sauvegarde complète de base de données

L'agent de sauvegarde gérée de SQL Server vers Microsoft Azure planifie une sauvegarde complète de la base de données si l'une des conditions 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. La sauvegarde gérée par SQL Server vers Microsoft Azure vérifie périodiquement si la séquence de journaux de transactions consécutifs est intacte en comparant le premier et le dernier LSN des fichiers de sauvegarde. Si la séquence de journaux de transactions consécutifs est rompue pour un motif quelconque, la sauvegarde gérée de SQL Server vers Microsoft Azure planifie une sauvegarde complète de la 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 fichier journal si l’une des conditions suivantes est remplie :

  • Aucun historique de sauvegarde de fichier journal n’est disponible. 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.

  • Lorsque la sauvegarde du journal des transactions traîne 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

Lorsque vous configurez la sauvegarde, vous devez définir la période de rétention en jours : 1 jour au minimum et 90 jours au maximum.

La sauvegarde gérée de SQL Server vers Microsoft Azure, basée sur les paramètres de la période de rétention, évalue la capacité de récupération à 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.

À propos de l’installation

Pour une base de données, si une tâche de sauvegarde complète de base de données existante est en cours d'exécution, alors la sauvegarde gérée par SQL Server vers Microsoft Azure attend que la tâche en cours soit terminée avant d'effectuer une autre sauvegarde complète de 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. La sauvegarde gérée de SQL Server vers Microsoft Azure maintient ensuite une file d'attente prioritaire pour les bases de données restantes qui nécessitent une sauvegarde jusqu'à ce que toutes les sauvegardes soient planifiées et terminées.

Remarque

La sauvegarde gérée de SQL Server n'est pas prise en charge par les serveurs proxy.

Prise en charge

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

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

  • Tous les modes de récupération sont pris en charge (complet, en bloc et simple).

  • La sauvegarde managée SQL Server sur l’agent Microsoft Azure prend uniquement en charge les sauvegardes complètes et de journaux de base de données. La sauvegarde de fichiers automatique n'est pas prise en charge.

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

  • La sauvegarde gérée par SQL Server vers Microsoft Azure utilise la fonctionnalité de sauvegarde vers l’objet blob de blocs. 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 cette limite, envisagez d'utiliser la compression et testez la taille du fichier de sauvegarde avant de configurer la sauvegarde gérée de SQL Server vers Microsoft Azure. Vous pouvez tester en effectuant une sauvegarde sur un disque local ou en effectuant une sauvegarde manuelle sur le stockage Microsoft Azure à l'aide de l'instruction Transact-SQL BACKUP TO URL. Pour plus d’informations, consultez Sauvegarde de SQL Server vers une URL pour le Stockage Blob Azure Microsoft.

  • La sauvegarde gérée de SQL Server vers Microsoft Azure peut présenter certaines limites 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é sont des sauvegardes de copie uniquement.

  • Si vous déchargez vos sauvegardes managées sur un réplica secondaire d’un groupe de disponibilité Always On, le réplica secondaire doit être défini sur Lisible pour que les sauvegardes gérées relient plusieurs fichiers.