Cette page décrit les groupes de disponibilité AlwaysOn dans SQL Server et explique comment 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 pour les 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é sont compatibles avec un environnement répliqué pour un ensemble sélectionné de bases de donné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 les opérations de sauvegarde ou l'accès en lecture seule.
Pour en savoir plus sur les groupes de disponibilité Always On, consultez 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 les groupes de disponibilité Always On
Datastream est compatible avec le mode de disponibilité synchronous-commit 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 le réplica secondaire écrit les enregistrements du journal des transactions entrantes sur un disque.
Pour en savoir plus sur les modes de disponibilité, consultez Différences entre les modes de disponibilité pour un groupe de disponibilité Always On.
Pour configurer votre instance SQL Server afin de l'utiliser avec les groupes de disponibilité Always On, vous devez activer l'agent SQL Server pour capturer les journaux en cas de basculement, puis exécuter un job de nettoyage. Avant de pouvoir le faire, vous devez modifier les étapes du job de l'agent CDC pour vérifier si la réplique actuelle est bien la réplique principale. 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
- Découvrez comment Datastream fonctionne avec les sources SQL Server.