Esta página descreve o que são os grupos de disponibilidade Always-On no SQL Server e como o Datastream os suporta para cenários de comutação por falha e recuperação de dados.
Vista geral dos grupos de disponibilidade Always On
No SQL Server, os grupos de disponibilidade Always On são uma solução de alta disponibilidade que lhe permite preparar as suas bases de dados para cenários de recuperação de desastres.
Os grupos de disponibilidade Always On maximizam a disponibilidade da base de dados para as empresas. Os grupos de disponibilidade suportam um ambiente replicado para um conjunto selecionado de bases de dados, conhecidas como bases de dados de disponibilidade. Cada grupo inclui um conjunto de bases de dados primárias para tarefas de leitura e escrita, e até oito conjuntos de bases de dados secundárias correspondentes. As bases de dados secundárias podem, opcionalmente, permitir o acesso só de leitura ou as operações de cópia de segurança.
Para mais informações sobre os grupos de disponibilidade Always On, consulte o artigo O que é um grupo de disponibilidade Always On? na documentação do SQL Server.
Para informações sobre os pré-requisitos do grupo de disponibilidade Always On para uma instância do SQL Server, consulte a documentação do SQL Server.
Configure a stream de dados para utilização com grupos de disponibilidade Always On
O fluxo de dados suporta o modo de disponibilidade synchronous-commit com o método CDC de tabelas de alterações. Neste modo, a base de dados secundária permanece sincronizada com a base de dados principal correspondente até a sincronização de dados parar. A confirmação de uma transação só é enviada ao cliente quando a réplica secundária escreve os registos do registo de transações recebidos num disco.
Para obter informações sobre os modos de disponibilidade, consulte o artigo Diferenças entre os modos de disponibilidade para um grupo de disponibilidade Always On.
Para configurar a instância do SQL Server para utilização com grupos de disponibilidade Always On,
tem de ativar o SQL Server Agent para capturar registos quando ocorre uma comutação por falha e,
em seguida, executar uma tarefa de limpeza. Antes de o poder fazer, tem de modificar os passos da tarefa do agente CDC para verificar se a réplica atual é realmente a principal. Isto é feito através da função sys.fn_hadr_is_primary_replica
.
Use os seguintes comandos para configurar a sua instância:
-- 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
O que se segue?
- Saiba como o Datastream funciona com origens do SQL Server.