Partager via


Configuration de la sauvegarde managée SQL Server sur Azure pour les groupes de disponibilité

Cette rubrique est un didacticiel sur la configuration de la sauvegarde managée SQL Server sur Microsoft Azure pour les bases de données participant à des groupes de disponibilité AlwaysOn.

Configurations du groupe de disponibilité

La sauvegarde gérée de SQL Server vers Microsoft Azure est prise en charge pour les bases de données des groupes de disponibilité, que les réplicas soient tous configurés sur site, entièrement sur Azure, ou dans le cadre d'une implémentation hybride entre un site local et une ou plusieurs machines virtuelles Azure. Toutefois, vous devrez peut-être prendre en compte les éléments suivants pour une ou plusieurs implémentations :

  • Fréquence de sauvegarde des journaux : la fréquence de sauvegarde des journaux dépend à la fois de l'intervalle de temps et de la croissance du volume des journaux. Par exemple, la sauvegarde du journal est effectuée une fois toutes les 2 heures, sauf si l’espace journal utilisé au cours de la période de deux heures est de 5 Mo ou plus. Cela s’applique à toutes les implémentations, locales, cloud ou hybrides.

  • Bande passante réseau : cela s’applique aux implémentations où les réplicas se trouvent dans différents emplacements physiques, comme dans un cloud hybride, ou dans différentes régions Azure dans une configuration cloud uniquement. La bande passante réseau peut affecter la latence des secondaires et si les fichiers secondaires sont définis sur la réplication synchrone, cela peut entraîner la croissance du journal sur le serveur principal. Si les secondaires sont configurés pour la réplication synchrone, ils peuvent ne pas être en mesure de rester à jour en raison de la latence du réseau, ce qui peut entraîner une perte de données en cas de basculement vers le secondaire.

Configuration de la sauvegarde managée SQL Server sur Microsoft Azure pour les bases de données de disponibilité.

Autorisations :

  • Nécessite l’appartenance au rôle de base de données db_backupoperator, avec des autorisations ALTER ANY CREDENTIAL et des autorisations sur la procédure stockée EXECUTE.

  • Nécessite des autorisations SELECT sur la fonction smart_admin.fn_get_current_xevent_settings.

  • Nécessite EXECUTE des autorisations sur la procédure stockée smart_admin.sp_get_backup_diagnostics . En outre, elle nécessite VIEW SERVER STATE des autorisations, car elle appelle en interne d’autres objets système qui nécessitent cette autorisation.

  • Nécessite des autorisations sur les procédures stockées EXECUTE et smart_admin.sp_set_instance_backup.

Voici les étapes de base de la configuration d’un groupe de disponibilité AlwaysOn avec la sauvegarde managée SQL Server sur Microsoft Azure. Un didacticiel détaillé pas à pas est décrit plus loin dans cette rubrique.

  1. Une fois que vous avez créé le groupe de disponibilité, configurez le réplica de sauvegarde préféré. Ce paramètre pour le groupe de disponibilité est également utilisé par la sauvegarde managée SQL Server sur Microsoft Azure pour déterminer le réplica à utiliser pour la sauvegarde. Pour obtenir des instructions pas à pas sur la configuration de la préférence de sauvegarde, consultez Configurer la sauvegarde sur les réplicas de disponibilité (SQL Server). Si vous créez un groupe de disponibilité AlwaysOn, consultez Prise en main des groupes de disponibilité AlwaysOn (SQL Server).

  2. Configurez l’accès en lecture seule aux réplicas secondaires. Pour obtenir des instructions pas à pas sur la configuration de l’accès en lecture seule, consultez Configurer l'accès Read-Only sur un réplica de disponibilité (SQL Server)

  3. Spécifiez la réplique de sauvegarde. Le paramètre de réplica de sauvegarde préféré est utilisé par la sauvegarde managée de SQL Server vers Microsoft Azure pour déterminer quelle base de données utiliser pour programmer les sauvegardes. Pour vérifier si la réplique actuelle est la réplique de sauvegarde préférée, utilisez la fonction sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  4. Sur chaque réplica, configurez la sauvegarde managée SQL Server vers Microsoft Azure pour la base de données en utilisant la procédure stockée smart-admin.sp_set_db_backup.

    Comportement de sauvegarde managée SQL Server sur Microsoft Azure après un basculement : La sauvegarde managée SQL Server sur Microsoft Azure continuera à fonctionner et à gérer les copies de sauvegarde et la récupération après un événement de basculement. Aucune action spécifique n’est requise après un basculement.

Considérations et exigences :

La configuration de la sauvegarde managée SQL Server sur Microsoft Azure pour les bases de données participant au groupe de disponibilité AlwaysOn nécessite des considérations et des exigences spécifiques. Voici une liste de considérations et de conditions requises :

  • Les paramètres de configuration sql Server Managed Backup vers Microsoft Azure doivent être identiques pour toutes les bases de données sur tous les nœuds de SQL Server participant au même groupe de disponibilité. Pour ce faire, vous pouvez soit définir la même sauvegarde managée SQL Server vers Microsoft Azure au niveau des configurations pour la base de données principale et toutes les réplicas, soit définir les mêmes paramètres par défaut de sauvegarde managée SQL Server vers Microsoft Azure sur tous les nœuds participant aux groupes de disponibilité. Nous vous recommandons de définir la sauvegarde managée SQL Server sur Microsoft Azure sur la base de données, car la configuration de la sauvegarde managée SQL Server sur Microsoft Azure au niveau de la base de données vous permet d’isoler les paramètres des bases de données et les modifications apportées aux paramètres par défaut affectent toutes les autres bases de données de l’instance.

  • Spécifiez le réplica de sauvegarde. Le paramètre de réplica de sauvegarde préféré est utilisé par la sauvegarde managée SQL Server sur Microsoft Azure pour planifier les sauvegardes. Pour déterminer si le réplica actuel est le réplica de sauvegarde préféré, utilisez la fonction sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  • Si la réplique secondaire est configurée comme réplique préférée, elle doit être configurée pour avoir au moins un accès en lecture seule. Les groupes de disponibilité qui n’ont aucun accès de connexion aux bases de données secondaires ne sont pas pris en charge. Pour plus d’informations, consultez Configurer l’accès en lecture seule sur un réplica de disponibilité (SQL Server).

  • Si vous configurez la sauvegarde gérée de SQL Server sur Microsoft Azure après avoir configuré le groupe de disponibilité, la sauvegarde gérée de SQL Server sur Microsoft Azure va tenter de copier toutes les sauvegardes existantes et de les transférer vers le conteneur de stockage. Si la sauvegarde managée SQL Server sur Microsoft Azure n’est pas en mesure de trouver ou d’accéder à des sauvegardes existantes, elle planifie une sauvegarde complète de base de données. Cela s’effectue spécifiquement pour optimiser les opérations de sauvegarde pour les bases de données du groupe de disponibilité.

  • Vous pouvez envisager de désactiver les paramètres au niveau de l’instance si vous créez une base de données de disponibilité et que vous n’avez pas l’intention d’appliquer les paramètres au niveau de l’instance à la base de données

  • Lorsque vous utilisez le chiffrement, utilisez le même certificat sur tous les réplicas. Cela facilite les opérations de sauvegarde continues et ininterrompues en cas de basculement ou de restauration sur une autre réplique.

Activer et configurer la sauvegarde managée SQL Server sur Microsoft Azure pour une base de données de disponibilité

Ce tutoriel décrit les étapes permettant d’activer et de configurer la sauvegarde managée SQL Server sur Microsoft Azure pour une base de données (AGTestDB) sur les ordinateurs Node1 et Node2, puis les étapes permettant de surveiller l’état d’intégrité de SQL Server Managed Backup vers Microsoft Azure.

  1. Créez un compte de stockage Azure : Les sauvegardes sont stockées dans le service stockage Blob Azure. Vous devez d’abord créer un compte de stockage Azure, si vous n’en avez pas déjà un. Pour plus d’informations, consultez Création d’un compte de stockage Azure. Notez le nom du compte de stockage, les clés d’accès et l’URL du compte de stockage. Le nom du compte de stockage et les informations de clé d’accès sont utilisés pour créer des informations d’identification SQL. Les informations d’identification SQL sont utilisées par la sauvegarde managée SQL Server sur Microsoft Azure pendant les opérations de sauvegarde pour s’authentifier auprès du compte de stockage.

  2. Créez des informations d’identification SQL : Créez des informations d’identification SQL en utilisant le nom du compte de stockage en tant qu’identité et clé d’accès au stockage comme mot de passe.

  3. Vérifiez que le service SQL Server Agent est démarré et en cours d’exécution : Démarrez SQL Server Agent s’il n’est pas en cours d’exécution. La sauvegarde managée SQL Server sur Microsoft Azure nécessite que SQL Server Agent s’exécute sur l’instance pour effectuer des opérations de sauvegarde. Vous pouvez définir SQL Agent pour qu’il s’exécute automatiquement pour vous assurer que les opérations de sauvegarde peuvent se produire régulièrement.

  4. Déterminez la période de rétention : Déterminez la période de rétention souhaitée pour les fichiers de sauvegarde. La période de rétention est spécifiée en jours et peut aller de 1 à 30. La période de rétention détermine le délai de récupération de la base de données.

  5. Créez un certificat ou une clé asymétrique à utiliser pour le chiffrement lors de la sauvegarde : Créez le certificat sur le premier nœud Node1, puis exportez-le dans un fichier à l’aide de BACKUP CERTIFICATE (Transact-SQL).. Sur le nœud 2, créez un certificat à l’aide du fichier exporté à partir du nœud 1. Pour plus d’informations sur la création d’un certificat à partir d’un fichier, consultez l’exemple dans CREATE CERTIFICATE (Transact-SQL).

  6. Activez et configurez la sauvegarde managée SQL Server sur Microsoft Azure pour AGTestDB sur Node1 : Démarrez SQL Server Management Studio et connectez-vous à l’instance sur Node1 où la base de données de disponibilité est installée. Dans la fenêtre de requête, exécutez l’instruction suivante après avoir modifié les valeurs pour le nom de la base de données, l’URL de stockage, les informations d’identification SQL et la période de rétention en fonction de vos besoins :

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='AGTestDB'   
                    ,@retention_days=30   
                    ,@credential_name='MyCredential'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
                    ,@enable_backup=1;  
    GO  
    

    Pour plus d’informations sur la création d’un certificat pour le chiffrement, consultez l’étape Créer un certificat de sauvegarde dans Créer une sauvegarde chiffrée.

  7. Activez et configurez la sauvegarde managée SQL Server sur Microsoft Azure pour AGTestDB sur Node2 : Démarrez SQL Server Management Studio et connectez-vous à l’instance sur Node2 où la base de données de disponibilité est installée. Dans la fenêtre de requête, exécutez l’instruction suivante après avoir modifié les valeurs pour le nom de la base de données, l’URL de stockage, les informations d’identification SQL et la période de rétention en fonction de vos besoins :

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='AGTestDB'   
                    ,@retention_days=30   
                    ,@credential_name='MyCredential'  
                    ,@encryption_algorithm ='AES_128'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
                    ,@enable_backup=1;  
    GO  
    

    La sauvegarde managée SQL Server sur Microsoft Azure est désormais activée sur la base de données que vous avez spécifiée. L’exécution des opérations de sauvegarde sur la base de données peut prendre jusqu’à 15 minutes. La sauvegarde s'effectuera sur la copie de sauvegarde préférée.

  8. Passez en revue la configuration par défaut des événements étendus : Passez en revue la configuration des événements étendus en exécutant l’instruction transact-SQL suivante sur le réplica à partir duquel SQL Server Managed Backup vers Microsoft Azure utilise pour planifier les sauvegardes. C'est généralement le paramètre préférentiel de copie de sauvegarde pour le groupe de disponibilité auquel appartient la base de données.

    SELECT * FROM smart_admin.fn_get_current_xevent_settings(); 
    

    Vous devez voir que les événements de canal Administrateur, Opérationnel et Analytique sont activés par défaut et ne peuvent pas être désactivés. Cela doit suffire pour surveiller les événements nécessitant une intervention manuelle. Vous pouvez activer les événements de débogage, mais ces canaux incluent des événements d'information et de débogage que SQL Server Managed Backup sur Microsoft Azure utilise pour détecter et résoudre les problèmes. Pour plus d’informations, consultez Surveiller la sauvegarde managée SQL Server sur Azure.

  9. Activer et configurer la notification pour l’état d’intégrité : SQL Server Managed Backup vers Microsoft Azure possède une procédure stockée qui crée une tâche d’agent pour envoyer des notifications par e-mail en cas d’erreurs ou d’avertissements nécessitant une attention particulière. Pour recevoir ces notifications, vous devez activer l’exécution de la procédure stockée qui crée un travail SQL Server Agent. Les étapes suivantes décrivent le processus d’activation et de configuration des notifications par e-mail :

    1. Configurez la messagerie de base de données si elle n’est pas déjà activée sur l’instance. Pour plus d’informations, consultez Configurer la messagerie de base de données.

    2. Configurez la notification sql Server Agent pour utiliser la messagerie de base de données. Pour plus d’informations, consultez Configurer la messagerie de SQL Server Agent en vue de l’utilisation de la messagerie de base de données.

    3. Activez les notifications par e-mail pour recevoir des erreurs de sauvegarde et des avertissements : Dans la fenêtre de requête, exécutez les instructions Transact-SQL suivantes :

      EXEC msdb.smart_admin.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email>'  
      

      Pour plus d’informations et un exemple de script complet, consultez Surveiller la sauvegarde managée SQL Server sur Azure.

  10. Afficher les fichiers de sauvegarde dans le compte de stockage Azure : Connectez-vous au compte de stockage à partir de SQL Server Management Studio ou du portail de gestion Azure. Vous verrez un conteneur pour l’instance de SQL Server qui héberge la base de données que vous avez configurée pour utiliser la sauvegarde managée SQL Server sur Microsoft Azure. Vous pouvez également voir une base de données et une sauvegarde de journal dans les 15 minutes suivant l’activation de la sauvegarde managée SQL Server sur Microsoft Azure pour la base de données.

  11. Surveillez l’état d’intégrité : Vous pouvez surveiller via des notifications par e-mail que vous avez configurées précédemment ou surveiller activement les événements enregistrés. Voici quelques exemples d’instructions Transact-SQL utilisées pour afficher les événements :

    --  view all admin events  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    DECLARE @eventresult TABLE  
    (event_type nvarchar(512),  
    event varchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek  
    
    SELECT * from @eventresult  
    WHERE event_type LIKE '%admin%'  
    
    -- to enable debug events  
    Use msdb;  
    Go  
    EXEC smart_admin.sp_set_parameter 'FileRetentionDebugXevent', 'True'  
    
    --  View all events in the current week  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    

Les étapes décrites dans cette section sont spécifiquement destinées à configurer la sauvegarde managée SQL Server sur Microsoft Azure pour la première fois sur la base de données. Vous pouvez modifier les configurations existantes à l’aide de la même procédure stockée système smart_admin.sp_set_db_backup et fournir les nouvelles valeurs. Pour plus d’informations, consultez Sauvegarde managée SQL Server sur Azure - Paramètres de rétention et de stockage.

Considérations relatives à la suppression d’une base de données de la configuration du groupe de disponibilité AlwaysOn

Si une base de données est supprimée de la configuration du groupe de disponibilité AlwaysOn et qu’elle est désormais une base de données autonome, nous vous recommandons d’effectuer une sauvegarde à l’aide de smart_admin.sp_backup_on_demand (Transact-SQL). Lorsque vous créez une sauvegarde de base de données de cette façon, elle établit une nouvelle chaîne de sauvegarde et le fichier est placé dans le conteneur spécifique à l’instance, par opposition au conteneur de disponibilité où les sauvegardes ont été stockées lorsque la base de données faisait partie du groupe de disponibilité.

Avertissement

La récupération de la base de données dans ce scénario à partir de sauvegardes antérieures à la modification de l’état du groupe de disponibilité n’est pas garantie.