Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Configurando e configurando o grupo de disponibilidade sempre ativo no SQL Server


O SQL Server nos fornece várias soluções de alta disponibilidade e recuperação de desastres que ajudam a disponibilizar os dados que atendem aos sistemas críticos pelo maior tempo possível com o menor tempo de inatividade possível. Essas soluções de alta disponibilidade e recuperação de desastres fornecidas pelo Microsoft SQL Server são discutidas no artigo SQL Server Transaction Log and High Availability Solutions.

Neste artigo, mostraremos como configurar e configurar um site do Grupo de Disponibilidade e configurá-lo para atender aos requisitos da empresa. Mas vamos começar com uma breve visão geral do recurso Always-on Availability Group para nos familiarizarmos com ele.

Visão geral


O Grupo de Disponibilidade Always-on do SQL Server, introduzido na versão SQL Server 2012, é uma solução de alta disponibilidade e recuperação de desastres de nível empresarial que é construída sobre o recurso Clustering de Failover do Windows Server, no qual um ou vários bancos de dados podem atuar como um grupo de disponibilidade e falhou como uma única unidade.

O Grupo de Disponibilidade é um contêiner para um conjunto de bancos de dados que estão hospedados em uma réplica primária, contém a cópia de leitura/gravação dos bancos de dados e sincronizados com até oito réplicas secundárias, contém uma cópia somente leitura desses bancos de dados.

Como alternativa ao recurso de espelhamento de banco de dados, o Always on Availability Group pode ser usado para reduzir a carga na instância primária configurando as réplicas secundárias para lidar com a carga de trabalho somente leitura e as operações de backup. Dessa forma, o Grupo de Disponibilidade Always-on pode ser usado para melhorar a disponibilidade dos bancos de dados e aprimorar a utilização de recursos do SQL Server para todas as réplicas.

O processo de sincronização entre as réplicas do Grupo de Disponibilidade pode ser executado em um dos dois modos de disponibilidade com suporte:
  • Modo de confirmação síncrona Observação:nesse modo de disponibilidade, a réplica primária aguardará as réplicas secundárias, até duas réplicas secundárias síncronas, para confirmar a gravação do log em seu arquivo de log de transações do banco de dados, antes de confirmá-lo na réplica primária. Esse modo de disponibilidade aumenta o nível de disponibilidade de dados em relação ao preço de latência da transação.
  • Modo de confirmação assíncrona :Este modo de disponibilidade é usado principalmente para sincronizar com as réplicas de recuperação de desastres, que são distribuídas em data centers distantes, onde a réplica primária não aguardará as réplicas secundárias, para confirmar a proteção do log para confirmar a transação no lado primário, fornecendo menos dados nível de disponibilidade e menos latência de transações.

O processo de failover dos Grupos de Disponibilidade Always-on, no qual a função primária será alterada entre as réplicas, pode ser realizado manualmente pelo administrador do banco de dados ou automaticamente pelo próprio SQL Server em caso de alguma falha em nível de servidor, levando em consideração que esta o failover não ocorrerá no caso de problemas no nível do banco de dados, como corrupção do banco de dados.

Para cada Grupo de Disponibilidade, um nome de Servidor pode ser criado para fornecer aos clientes a capacidade de se conectarem diretamente à réplica primária ou às réplicas somente leitura sem recuperar os nomes e funções de instância do SQL Server subjacentes no grupo de disponibilidade. Esse nome de servidor é chamado de Ouvinte do Grupo de Disponibilidade .


Cenário de demonstração


Depois de fornecer uma breve introdução ao recurso Always-on Availability Group, estamos prontos para configurar um grupo de disponibilidade e configurá-lo corretamente. Nesta demonstração, criaremos um Grupo de Disponibilidade para replicar o banco de dados AdventureWorks2017 entre duas instâncias do SQL Server; SQL1 e SQL2, com o SQL Server 2017 já instalado nesses servidores.

Para fins de teste e demonstração, os SQL Server Services nas instâncias SQL1 e SQL2 estão sendo executados na conta de serviço ay\sqladmin, que tem as permissões adequadas nessas instâncias do SQL Server.

Primeiros passos


Conforme mencionado na visão geral deste artigo, o recurso Grupo de Disponibilidade Sempre Ativa é construído sobre o recurso Cluster de Failover do Windows Server. Portanto, precisamos criar um site de cluster de failover sobre o qual definiremos o site do Grupo de Disponibilidade.

Criar um cluster de failover


Em primeiro lugar, precisamos ter certeza de que o recurso Failover Clustering está instalado em todas as réplicas que participarão do site do Grupo de Disponibilidade. Isso pode ser feito abrindo o painel do Gerenciador de Servidores em cada réplica e escolhendo a opção Adicionar Funções e Recursos no menu Gerenciar e, em seguida, verifique e instale o Agrupamento de Failover recurso desses assistentes, conforme mostrado abaixo:



Após instalar o recurso Failover Clustering, abra o Failover Cluster Manager janela em uma das réplicas, usando uma conta de administrador local autorizado com privilégios de administrador de domínio que permitem criar esse nome de cluster no diretório ativo e clique no botão Criar cluster opção, conforme abaixo:



A partir do Assistente de criação de cluster aberto , verifique as instruções fornecidas em Antes de começar janela e clique em Avançar continuar:



Na próxima página, forneça o nome ou IP das réplicas que participarão do Grupo de Disponibilidade e clique em próximo para continuar:



Depois disso, você precisa especificar se deseja executar o teste de validação de cluster, para validar se os recursos disponíveis nesses servidores são compatíveis com o recurso Failover Clustering, antes de criar o Failover Cluster ou não. É sempre recomendável realizar o teste de validação nessa etapa antes de tentar criar o site de cluster de failover.



Isso o direcionará para o Assistente de validação de configuração . Na primeira página do assistente de validação, verifique as instruções do assistente e clique em Avançar para prosseguir:



Depois disso, você precisa especificar se deseja executar todas as validações de cluster de failover, que é a opção recomendada, ou selecionar testes específicos mais rápidos. Nesta demonstração, iremos com a opção recomendada pela Microsoft e realizaremos todos os testes de validação, depois clique em Próximo continuar:



E você pode revisar os testes de validação que serão realizados dentro deste assistente de validação e confirmar para prosseguir clicando em Próximo , do seguinte modo:



Quando o processo de validação estiver concluído, você pode clicar no botão Visualizar relatório para revisar o resultado do teste de validação ou exportá-lo para outro engenheiro para corrigir qualquer problema enfrentado, ou clicar em Concluir diretamente para iniciar o processo de criação do cluster, conforme abaixo:



Por enquanto, verificamos se nossos servidores são compatíveis com os requisitos do recurso Failover Clustering e podemos continuar a criar o site de Failover Clustering. No Ponto de acesso para administração do cluster janela, forneça um nome e endereço IP exclusivos para o cluster de failover e clique em Avançar continuar:



Depois disso, revise as configurações de criação de cluster que você fornece e certifique-se de remover a verificação ao lado de Adicionar todo o armazenamento qualificado ao cluster , pois o recurso Always on Availability Group funciona usando armazenamento dedicado para cada servidor e NÃO armazenamento compartilhado. Se estiver de acordo com as configurações, clique em Avançar para prosseguir:



Depois que o site de Cluster de Failover for criado com êxito, o assistente o notificará com uma mensagem de que o site de Cluster de Failover foi criado completamente, conforme abaixo:



Você pode verificar se o site de cluster de Failover foi criado com sucesso, abrindo o Gerenciador de Cluster de Failover, que mostrará o site de cluster criado e todos os componentes desse cluster conforme mostrado abaixo:



Para manter o site do Cluster de Failover no melhor modo de disponibilidade, você precisa configurar o Quorum do cluster que controla quando manter o Cluster de Failover online ou desativá-lo com base nos votos de nós e recursos. Para configurar o quorum do cluster, clique com o botão direito do mouse no nome do cluster, sob o gerenciador de cluster de failover, e escolha a opção Configure Cluster Quorum Settings opção em Mais ações cardápio, conforme abaixo. Para obter informações detalhadas sobre as configurações de quorum que atendem ao recurso Always On Availability Group, verifique os modos de quorum do cluster de failover do Windows nos grupos de disponibilidade Always On do SQL Server:


Ativar recurso de grupo de disponibilidade sempre ativo


Após criar o Cluster de Failover, sobre o qual o Grupo de Disponibilidade será criado, precisamos habilitar o recurso Grupo de Disponibilidade Always-on e conectá-lo ao site do Cluster de Failover que será usado.

Para habilitar o recurso Always-on Availability Group, abra o SQL Server Configuration Manager -> SQL Server Services, clique com o botão direito do mouse no serviço SQL Server e escolha a opção Propriedades. Na janela de propriedades do SQL Server Service, vá para Always-on Availability página e marque a opção "Ativar grupos de disponibilidade sempre ativos ”, sob o nome do cluster de failover detectado automaticamente, conforme mostrado abaixo:



Leve em consideração que, essa alteração deve ser realizada em todas as réplicas que participarão do grupo de disponibilidade e entrará em vigor após a reinicialização do serviço SQL Server, conforme abaixo:


Criar novo grupo de disponibilidade sempre ativo


Depois de habilitar o recurso Always-on Availability Group, começaremos a criar o novo Grupo de Disponibilidade expandindo o nó Always-on High Availability, no SSMS Object Explorer, clique com o botão direito do mouse no nó Grupos de Disponibilidade e escolha o Novo Assistente de grupo de disponibilidade , como mostrado abaixo:



A primeira página do assistente de Novo Grupo de Disponibilidade é a página Introdução, na qual você encontra uma breve descrição das etapas que serão executadas neste assistente para criar um novo Grupo de Disponibilidade. Revise o resumo fornecido e clique em Avançar continuar:



Em Especificar opções do grupo de disponibilidade janela, você precisa especificar o nome do Grupo de Disponibilidade, o tipo de cluster, com base na versão do SQL Server e sistema operacional usado nas réplicas, onde você pode escolher entre Windows Server Failover Clustering , não Windows EXTERNO cluster ou NENHUM se nenhum cluster for usado.

Esta página também permite ativar a detecção de integridade no nível do banco de dados opção, que verifica quando um banco de dados não está mais no status online, e realiza o failover automático do grupo de disponibilidade e habilita as transações distribuídas nos grupos de disponibilidade por cada banco de dados, conforme mostrado abaixo:



Depois disso, você precisa selecionar o(s) banco(s) de dados que participarão desse Grupo de Disponibilidade. O assistente verificará as pré-solicitações do banco de dados para serem adicionados ao grupo Disponibilidade, incluindo o modelo de recuperação completa do banco de dados e se um backup completo é feito desse banco de dados antes de adicioná-lo. Depois de atender aos requisitos para os bancos de dados a serem incluídos, atualize a lista de bancos de dados, verifique o banco de dados e clique em Avançar continuar:



Na próxima página, em Réplicas guia, você precisa adicionar todas as réplicas do SQL Server que participarão deste Grupo de Disponibilidade e hospedar uma cópia dos bancos de dados incluídos. Após adicionar as réplicas, você pode escolher até três instâncias para serem configuradas com o modo de disponibilidade de confirmação síncrona e permitir o Failover Automático entre essas réplicas e o restante das réplicas que serão configuradas com o modo de confirmação assíncrona. Você também pode decidir se deseja configurar cada réplica como secundária legível para conexões somente leitura ou réplica legível com intenção de leitura para lidar com a carga de trabalho somente leitura direcionada automaticamente pelo ouvinte, conforme mostrado abaixo:



Na aba Endpoints, verifique as configurações dos endpoints de conexão que serão utilizados para a comunicação entre as réplicas, onde você precisa ter certeza que a porta TCP utilizada está habilitada nas regras de firewall de todas as réplicas e que a conta de serviço fornecida tem Permissão de conexão no endpoint das réplicas, conforme abaixo:



Na guia Preferências de Backup, você precisa especificar o local onde as tarefas de backup serão executadas no grupo de disponibilidade. Ele permite que você execute um backup automático da réplica secundária como opção preferencial, o secundário como obrigatório, o primário como obrigatório ou em qualquer réplica. Com base nessa opção, você pode criar o plano de manutenção para fazer backup dos bancos de dados participantes do grupo de disponibilidade, conforme abaixo:



Na mesma janela, você também pode definir as configurações do ouvinte do grupo de disponibilidade, na página Ouvinte ou continuar sem criar o ouvinte por enquanto e realizar a criação posteriormente. Nesta demonstração, vamos configurar o listener após criar o grupo de disponibilidade, conforme mostrado abaixo:



Além disso, você pode usar a página Roteamento somente leitura para definir a lista de roteamento somente leitura, que é usada para controlar a carga de trabalho somente leitura nos secundários. Para obter mais informações, consulte Como configurar o roteamento somente leitura para um grupo de disponibilidade no SQL Server 2016:



Na próxima página, você precisa especificar o mecanismo que será usado para o processo inicial de sincronização de dados entre as réplicas primária e secundária, com a possibilidade de realizar a sincronização de forma automática ou manual juntando o secundário ao grupo de disponibilidade e sincronizar os bancos de dados posteriormente manualmente.

Existem dois métodos de sincronização automática disponíveis nesse assistente, o primeiro é especificar uma pasta compartilhada para copiar temporariamente os backups completos e de log de transações e realizar a restauração automaticamente, que usaremos aqui nesta demonstração, ou usar um método de propagação direta sem fazendo backup, conforme descrito no grupo de disponibilidade Always On do SQL Server 2016 com propagação direta:



Para usar o Banco de Dados Completo e Backup de Log método, precisamos criar uma pasta compartilhada e fornecer as contas de serviços do SQL Server para as permissões de leitura e gravação de réplicas nessa pasta, conforme mostrado abaixo:



Depois disso, o assistente de Novo Grupo de Disponibilidade realizará uma verificação de validação para todas as configurações antes de prosseguir com o processo de criação do grupo de disponibilidade. Se houver algum erro, você pode corrigi-lo diretamente, atualizar a página e clicar em Avançar para prosseguir:



No estágio final, o assistente fornecerá um resumo de todas as configurações do assistente para revisá-lo e clique em Concluir para começar a criar o grupo de disponibilidade, conforme abaixo:



Quando o assistente estiver concluído, ele mostrará o resultado de cada etapa e se houver algum erro enfrentado. Caso contrário, ele exibirá uma mensagem informando que o Grupo de Disponibilidade foi criado com sucesso sem problemas, conforme mostrado abaixo:



Você também pode validar se o Always on Availability Group foi criado e configurado com sucesso usando o SSMS Object Explorer, verificando se os bancos de dados participantes em um estado sincronizado em todas as réplicas e se as réplicas e os bancos de dados estão online no Always-on Nó de alta disponibilidade, conforme mostrado abaixo:



Você também pode se conectar à réplica Primária, com a palavra Primária ao lado do nome do grupo de disponibilidade, e verificar a página de propriedades do Grupo de Disponibilidade, com a capacidade de executar as mesmas tarefas que realizamos no Assistente de Novo Grupo de Disponibilidade, como adicionar novas réplicas , adicionando novo banco de dados, alterando a configuração de cada réplica, alterando as preferências de backup e definindo uma lista de roteamento somente leitura, conforme mostrado abaixo:


Criar ouvinte de grupo de disponibilidade sempre ativo


A última etapa na configuração do Grupo de Disponibilidade é criar o ouvinte do grupo de disponibilidade que será usado ao se conectar às réplicas primárias e secundárias sem especificar o nome da réplica.

Para criar o ouvinte do grupo de disponibilidade, clique com o botão direito do mouse no nó Ouvinte do grupo de disponibilidade no nó do grupo de disponibilidade criado e escolha Adicionar ouvinte opção. A partir do Novo Ouvinte do Grupo de Disponibilidade aberto janela, forneça o nome desse ouvinte, a porta TCP que será usada para se conectar a esse ouvinte e o endereço IP estático que será atribuído ao ouvinte e clique em OK para criá-lo. Quando o listener for criado com sucesso, a janela será fechada automaticamente e o nome do listener será exibido no nó Listener, conforme mostrado abaixo:



Para se conectar ao Grupo de Disponibilidade usando o nome do listener, forneça o nome ou o IP do listener com o número da porta TCP no Connect to Server e ele se conectará diretamente ao nó primário, conforme mostrado abaixo:


Processo de failover de teste


Depois de testar a conexão com o ouvinte do Grupo de Disponibilidade e as réplicas, precisamos realizar um teste importante para o failover, para garantir que a função principal seja movida entre as réplicas sem nenhum problema e que os bancos de dados estejam acessíveis e em o estado sincronizado após o failover.

Para executar um failover manual, clique com o botão direito do mouse no nome do grupo de disponibilidade e escolha a opção Failover opção, conforme abaixo:



A primeira página do grupo de disponibilidade de failover assistente é a página de introdução, que fornece um resumo das ações que podem ser executadas nesse assistente. Revise a introdução e clique em Avançar continuar:



Na próxima página, selecione qual nó atuará como a nova réplica primária, certificando-se de que não haverá perda de dados quando a operação de failover for executada, depois clique em Avançar para prosseguir:



Depois disso, você deve se conectar à nova réplica primária selecionada para garantir que essa réplica esteja online e acessível, conforme mostrado abaixo:



Em seguida, revise suas escolhas no assistente de Failover na página de resumo e clique em Concluir para iniciar o processo de Failover:



Quando o failover for concluído, revise a página de resultados para garantir que não haja nenhum problema enfrentado durante o processo de failover, conforme abaixo:



No SSMS Object Explorer, a função da réplica SQL1 será alterada diretamente para Secundária, conforme mostrado abaixo:



Neste artigo, descrevemos em detalhes as etapas que devem ser executadas para preparar a criação do site do Grupo de Disponibilidade e como criar e configurar o site do Grupo de Disponibilidade Always-on. No próximo artigo, veremos como solucionar os problemas que você pode enfrentar com um site de Grupo de Disponibilidade existente. Fique atento.