Utiliser des groupes de disponibilité Always On


Cette page décrit les groupes de disponibilité Always On dans SQL Server et la façon dont Datastream les prend en charge pour les scénarios de basculement et de récupération de données.

Présentation des groupes de disponibilité Always On

Dans SQL Server, les groupes de disponibilité Always On sont une solution de haute disponibilité qui vous permet de préparer vos bases de données à des scénarios de reprise après sinistre.

Les groupes de disponibilité Always On maximisent la disponibilité des bases de données pour les entreprises. Les groupes de disponibilité prennent en charge un environnement répliqué pour un ensemble de bases de données sélectionnées, appelées bases de données de disponibilité. Chaque groupe comprend un ensemble de bases de données principales pour les tâches de lecture et d'écriture, et jusqu'à huit ensembles de bases de données secondaires correspondantes. Les bases de données secondaires peuvent éventuellement autoriser un accès en lecture seule ou des opérations de sauvegarde.

Pour en savoir plus sur les groupes de disponibilité Always On, consultez la section What is an Always On availability group? (Qu'est-ce qu'un groupe de disponibilité Always On ?) dans la documentation SQL Server.

Pour en savoir plus sur les conditions préalables du groupe de disponibilité Always On pour une instance SQL Server, consultez la documentation SQL Server.

Configurer Datastream pour l'utiliser avec des groupes de disponibilité Always On

Datastream prend en charge le mode de disponibilité commit synchrone avec la méthode CDC des tables de modifications. Dans ce mode, la base de données secondaire reste synchronisée avec la base de données principale correspondante jusqu'à ce que la synchronisation des données s'arrête. La confirmation d'une transaction n'est envoyée au client que lorsque l'instance dupliquée secondaire écrit les enregistrements du journal des transactions entrantes sur un disque.

Pour en savoir plus sur les modes de disponibilité, consultez la section Différences entre les modes de disponibilité d'un groupe de disponibilité Always On.

Pour configurer votre instance SQL Server pour l'utiliser avec des groupes de disponibilité Always On, vous devez activer l'agent SQL Server pour qu'il capture les journaux en cas de basculement, puis exécuter une tâche de nettoyage. Pour ce faire, vous devez modifier les étapes de la tâche de l'agent CDC afin de vérifier si le réplica actuel est bien le principal. Pour ce faire, utilisez la fonction sys.fn_hadr_is_primary_replica.

Utilisez les commandes suivantes pour configurer votre instance:

  -- Check if the current replica is a primary for the corresponding database.
  USE [DATABASE_NAME];
  DECLARE @DatabaseName SYSNAME = DB_NAME();
  IF (SELECT sys.fn_hadr_is_primary_replica(@DatabaseName)) = 1
  BEGIN
  -- If the replica isn't a primary, the code block that follows is skipped
  EXECUTE sys.sp_cdc_add_job @job_type = 'capture';
  EXECUTE sys.sp_cdc_add_job @job_type = 'cleanup';
  END

Étape suivante