Tutorial: Configurar um grupo de disponibilidade manualmente – SQL Server em VMs do Azure

Aplica-se a:SQL Server na VM do Azure

Dica

Há vários métodos de implantação de um grupo de disponibilidade. Simplifique sua implantação sem precisar usar o Azure Load Balancer ou DNN (nome de rede distribuída) para seu grupo de disponibilidade Always On criando suas VMs (máquinas virtuais) do SQL Server em várias sub-redes dentro da mesma rede virtual do Azure. Se você já tiver criado seu grupo de disponibilidade em uma única sub-rede, poderá migrá-lo para um ambiente de várias sub-redes.

Este tutorial mostra como criar um grupo de disponibilidade Always On para o SQL Server em VMs do Azure em uma sub-rede individual. O tutorial completo cria um grupo de disponibilidade com uma réplica de banco de dados em duas instâncias do SQL Server.

Este artigo configura manualmente o ambiente do grupo de disponibilidade. Também é possível automatizar as etapas usando o portal do Azure, o PowerShell ou a CLI do Azure ou os modelos de início rápido do Azure.

Tempo estimado: este tutorial levará cerca de 30 minutos para ser concluído depois que os pré-requisitos forem atendidos.

Pré-requisitos

O tutorial pressupõe que você tenha uma compreensão básica dos grupos de disponibilidade Always On do SQL Server. Se você precisar de mais informações, confira Visão geral dos grupos de disponibilidade Always On (SQL Server).

Antes de iniciar os procedimentos deste tutorial, você precisará concluir os pré-requisitos para a criação de grupos de disponibilidade Always On em máquinas virtuais do Azure. Se você já concluiu esses pré-requisitos, vá para Criar o cluster.

A seguinte tabela resume os pré-requisitos necessários para concluir este tutorial:

Requisito Descrição
Duas instâncias do SQL Server - Em um conjunto de disponibilidade do Azure
- Em um único domínio
– Com o clustering de failover instalado
Windows Server Compartilhamento de arquivo para a testemunha do cluster
Conta de serviço do SQL Server Conta do domínio
Conta de serviço SQL Server Agent Conta do domínio
Portas de firewall abertas – SQL Server: 1433 para uma instância padrão
- Ponto de extremidade de espelhamento de banco de dados: 5022 ou qualquer porta disponível
– Investigação de integridade do endereço IP do balanceador de carga para um grupo de disponibilidade: 59999 ou qualquer porta disponível
– Investigação de integridade do endereço IP do balanceador de carga para o núcleo do cluster: 58888 ou qualquer porta disponível
Clustering de failover Necessário para as duas instâncias do SQL Server
Conta do domínio de instalação – Administrador local em cada instância do SQL Server
– Membro da função de servidor fixa sysadmin de cada instância do SQL Server
NSGs (Grupos de Segurança de Rede) Se o ambiente estiver usando Grupos de segurança de rede, verifique se a configuração atual permite o tráfego de rede pelas portas descritas em Configurar o firewall.

Criar o cluster

A primeira tarefa será criar um cluster de failover do Windows Server com VMs do SQL Server e um servidor testemunha:

  1. Use o protocolo RDP para se conectar à primeira VM do SQL Server. Use uma conta de domínio que seja de administrador nas VMs do SQL Server e no servidor testemunha.

    Dica

    Nos pré-requisitos, você criou uma conta chamada CORP\Install. Use essa conta.

  2. No painel do Gerenciador do Servidor, selecione Ferramentas e Gerenciador de Cluster de Failover.

  3. No painel esquerdo, clique com o botão direito do mouse em Gerenciador de Cluster de Failover e selecione Criar Cluster.

    Screenshot of Failover Cluster Manager and the option for creating a cluster on the shortcut menu.

  4. No Assistente para Criação de Cluster, crie um cluster de um nó percorrendo as páginas com as configurações na seguinte tabela:

    Página Configuração
    Antes de começar Usar padrões.
    Selecionar Servidores Insira o nome da primeira VM do SQL Server em Insira o nome do servidor e selecione Adicionar.
    Aviso de Validação Selecione Não. Eu não preciso de suporte da Microsoft para este cluster e, portanto, não desejo executar testes de validação. Continuar a criar o cluster quando eu selecionar Avançar.
    Ponto de Acesso para Administrar o Cluster Em Nome do Cluster, insira um nome de cluster (por exemplo, SQLAGCluster1).
    Confirmação Use os padrões, a menos que você esteja usando Espaços de Armazenamento.

Definir o endereço IP do cluster de failover do Windows Server

Observação

No Windows Server 2019, o cluster cria um valor de Nome de Servidor Distribuído em vez de um valor de Nome de Rede de Cluster. Se estiver usando o Windows Server 2019, ignore todas as etapas que se referem ao nome do cluster principal neste tutorial. Crie um nome de rede de cluster usando o PowerShell. Para obter mais informações, confira a postagem no blog Cluster de failover: objeto de rede de cluster.

  1. Em Gerenciador de Cluster de Failover, role para baixo até Recursos Principais de Cluster e expanda os detalhes do cluster. Os recursos Nome e Endereço IP devem estar no estado Falha.

    O recurso de endereço IP não pode ficar online porque o cluster recebeu o mesmo endereço IP do próprio computador. É um endereço duplicado.

  2. Clique com o botão direito do mouse no recurso Endereço IP com falha e selecione Propriedades.

    Screenshot of Failover Cluster Manager that shows selections for opening properties for the IP address.

  3. Selecione Endereço IP Estático. Especifique um endereço disponível na mesma sub-rede das máquinas virtuais.

  4. Na seção Recursos do Núcleo do Cluster, clique com o botão direito do mouse no nome do cluster e selecione Colocar Online. Aguarde até que ambos os recursos estejam online.

    Quando o recurso de nome do cluster fica online, ele atualiza o servidor do controlador de domínio com uma nova conta de computador do Active Directory. Use essa conta do Active Directory para executar o serviço clusterizado do grupo de disponibilidade posteriormente.

Adicionar a outra instância do SQL Server ao cluster

  1. Na árvore do navegador, clique com o botão direito do mouse no cluster e selecione Adicionar Nó.

    Screenshot of Failover Cluster Manager that shows selections for adding a node to a cluster.

  2. No Assistente para Adicionar Nó, selecione Avançar.

  3. Na página Selecionar Servidores, adicione a segunda VM do SQL Server. Insira o nome da VM em Insira o nome do servidor e selecione Adicionar>Avançar.

  4. Na página Aviso de Validação, selecione Não. (Em um cenário de produção, você deve executar os testes de validação). Em seguida, selecione Avançar.

  5. Na página Confirmação, se você estiver usando os Espaços de Armazenamento, desmarque a caixa de seleção Adicionar todo o armazenamento qualificado ao cluster.

    Screenshot of the page in the Add Node Wizard that confirms the addition of a node to the cluster.

    Aviso

    Se você não desmarcar Adicionar todo o armazenamento qualificado ao cluster, o Windows desanexará os discos virtuais durante o processo de clustering. Como resultado, eles não serão exibidos no Gerenciador de Discos nem no Pesquisador de Objetos até que o armazenamento seja removido do cluster e reanexado por meio do PowerShell.

  6. Selecione Avançar.

  7. Selecione Concluir.

    O Gerenciador de Cluster de Failover mostra que o cluster tem um novo nó e o listará no contêiner Nós.

  8. Saia da sessão de área de trabalho remota.

Adicionar um compartilhamento de arquivo para um quorum de cluster

Neste exemplo, o cluster do Windows usa um compartilhamento de arquivo para criar um quorum de cluster. Este tutorial usa o quorum NodeAndFileShareMajority. Para obter mais informações, confira Configurar e gerenciar o quorum.

  1. Conecte-se à VM do servidor testemunha do compartilhamento de arquivo usando uma sessão da área de trabalho remota.

  2. No Gerenciador do Servidor, selecione Ferramentas. Abra Gerenciamento de Computador.

  3. Selecione Pastas Compartilhadas.

  4. Clique com o botão direito do mouse em Compartilhamentos e selecione Novo Compartilhamento.

    Screenshot that shows selections for creating a new share in Computer Management.

    Use o Assistente para Criar uma Pasta Compartilhada para criar um compartilhamento.

  5. Na página Caminho da Pasta, selecione Procurar. Localize ou crie um caminho para a pasta compartilhada e selecione Avançar.

  6. Na página Nome, Descrição e Configurações, verifique o nome de compartilhamento e o caminho. Selecione Avançar.

  7. Na página Permissões de Pasta Compartilhada, defina Personalizar permissões. selecione Personalizado.

  8. Na caixa de diálogo Personalizar Permissões, selecione Adicionar.

  9. Verifique se a conta usada para criar o cluster tem controle completo.

    Screenshot of the dialog for customizing permissions, showing that the Install account has full control of the share.

  10. Selecione OK.

  11. Na página Permissões de Pasta Compartilhada, selecione Concluir. Em seguida, selecione Concluir novamente.

  12. Saia do servidor.

Configurar o quorum do cluster

Observação

Dependendo da configuração do grupo de disponibilidade, pode ser necessário alterar o voto de quórum de um nó que participa do cluster de failover do Windows Server. Para obter mais informações, confira Configurar o quorum de cluster para o SQL Server nas VMs do Azure.

  1. Conecte-se ao primeiro nó de cluster usando uma sessão da área de trabalho remota.

  2. No Gerenciador de Cluster de Failover, clique com o botão direito do mouse no cluster, aponte para Mais Ações e selecione Definir as Configurações do Quorum do Cluster.

    Screenshot of Failover Cluster Manager that shows selections for configuring cluster quorum settings.

  3. No Assistente para Configurar o Quorum do Cluster, selecione Avançar.

  4. Em Selecionar Opção de Configuração de Quorum, escolha Selecionar a testemunha de quorum e selecione Avançar.

  5. Na página Selecionar Testemunha de Quorum, escolha Configurar uma testemunha de compartilhamento de arquivos.

    Dica

    O Windows Server 2016 dá suporte a testemunha de nuvem. Se você escolher esse tipo de testemunha, não precisará de uma testemunha do compartilhamento de arquivo. Para obter mais informações, confira Implantar uma testemunha de nuvem para um cluster de failover. Este tutorial usa uma testemunha de compartilhamento de arquivo, à qual os sistemas operacionais anteriores dão suporte.

  6. Em Configurar Testemunha de Compartilhamento de Arquivo, insira o caminho para o compartilhamento criado. Em seguida, selecione Avançar.

  7. Na página Confirmação, verifique as configurações. Em seguida, selecione Avançar.

  8. Selecione Concluir.

Os recursos principais de cluster são configurados com uma testemunha de compartilhamento de arquivos.

Habilitar os grupos de disponibilidade

Em seguida, habilite os grupos de disponibilidade Always On. Realize estas etapas nas duas VMs do SQL Server.

  1. Na tela Iniciar, abra o SQL Server Configuration Manager.

  2. Na árvore do navegador, selecione Serviços do SQL Server. Em seguida, clique com o botão direito do mouse no serviço SQL Server (MSSQLSERVER) e selecione Propriedades.

  3. Selecione a guia Alta Disponibilidade Always On e escolha Habilitar grupos de disponibilidade Always On.

    Screenshot that shows selections for enabling Always On availability groups.

  4. Escolha Aplicar. Selecione OK na caixa de diálogo pop-up.

  5. Reinicie o serviço SQL Server.

Habilitar o recurso FILESTREAM

Caso não esteja usando FILESTREAM para seu banco de dados no grupo de disponibilidade, ignore esta etapa e prossiga para a próxima etapa - Criar Banco de Dados.

Se planeja adicionar um banco de dados ao grupo de disponibilidade que usa FILESTREAM, você precisa habilitar FILESTREAM, pois o recurso está desabilitado por padrão. Use o SQL Server Configuration Manager para habilitar o recurso nas duas instâncias do SQL Server.

Para habilitar o recurso FILESTREAM, siga estas etapas:

  1. Inicie o arquivo RDP para a primeira VM do SQL Server (por exemplo, SQL-VM-1) com uma conta de domínio que seja membro da função de servidor fixa sysadmin, como a conta de domínio CORP\Install criada no documento de pré-requisitos

  2. Na tela Iniciar de uma de suas VMs do SQL Server, inicie o SQL Server Configuration Manager.

  3. Na árvore do navegador, realce Serviços do SQL Server, clique com o botão direito do mouse no serviço SQL Server (MSSQLSERVER) e selecione Propriedades.

  4. Selecione a guia FILESTREAM, em seguida, marque a caixa de seleção Habilitar FILESTREAM para acesso a Transact-SQL:

  5. Escolha Aplicar. Selecione OK na caixa de diálogo pop-up.

  6. No SQL Server Management Studio, clique em Nova Consulta para exibir o Editor de Consultas.

  7. No Editor de Consultas, insira o seguinte código Transact-SQL:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE
    
  8. Clique em Executar.

  9. Reinicie o serviço SQL Server.

  10. Repita essas etapas para a outra instância do SQL Server.

Criar um banco de dados na primeira instância do SQL Server

  1. Abra o arquivo RDP da primeira VM do SQL Server com uma conta de domínio que seja membro da função de servidor fixa sysadmin.
  2. Abra o SSMS (SQL Server Management Studio) e conecte-se à primeira instância do SQL Server.
  3. No Pesquisador de Objetos, clique com o botão direito do mouse em Bancos de Dados e selecione Novo Banco de Dados.
  4. Em Nome do banco de dados, insira MyDB1 e selecione OK.

Criar um compartilhamento de backup

  1. Na primeira VM do SQL Server em Gerenciador do Servidor, selecione Ferramentas. Abra Gerenciamento de Computador.

  2. Selecione Pastas Compartilhadas.

  3. Clique com o botão direito do mouse em Compartilhamentos e selecione Novo Compartilhamento.

    Screenshot of selections for starting the process of creating a backup share.

    Use o Assistente para Criar uma Pasta Compartilhada para criar um compartilhamento.

  4. Na página Caminho da Pasta, selecione Procurar. Localize ou crie um caminho para a pasta compartilhada do backup de banco de dados e selecione Avançar.

  5. Na página Nome, Descrição e Configurações, verifique o nome de compartilhamento e o caminho. Em seguida, selecione Avançar.

  6. Na página Permissões de Pasta Compartilhada, defina Personalizar permissões. Em seguida, selecione Personalizado.

  7. Na caixa de diálogo Personalizar Permissões, selecione Adicionar.

  8. Marque Controle Total para conceder acesso completo ao compartilhamento para a conta do serviço SQL Server (Corp\SQLSvc):

    Screenshot of the Customize Permissions dialog. Make sure that the SQL Server service accounts for both servers have full control.

  9. Selecione OK.

  10. Na página Permissões de Pasta Compartilhada, selecione Concluir. Selecione Concluir novamente.

Fazer um backup completo do banco de dados

Você precisa fazer backup do novo banco de dados para inicializar a cadeia de logs. Se você não fizer um backup do novo banco de dados, ele não poderá ser incluído em um grupo de disponibilidade.

  1. No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados, aponte para Tarefas e selecione Fazer Backup.

  2. Selecione OK para realizar um backup completo no local de backup padrão.

Criar um grupo de disponibilidade

Agora você está pronto para criar e configurar um grupo de disponibilidade executando as seguintes tarefas:

  • Crie um banco de dados na primeira instância do SQL Server.
  • Faça um backup completo e um backup de log de transações do banco de dados.
  • Restaure os backups completo e de log na segunda instância do SQL Server com a opção NO RECOVERY.
  • Crie o grupo de disponibilidade (MyTestAG1) com confirmação síncrona, failover automático e réplicas secundárias para leitura.

Crie o grupo de disponibilidade

  1. Conecte-se à VM do SQL Server usando a área de trabalho remota e abra o SQL Server Management Studio.

  2. No Pesquisador de Objetos do SSMS, clique com o botão direito do mouse em Alta Disponibilidade Always On e selecione Assistente de Novo Grupo de Disponibilidade.

    Screenshot of Object Explorer in SSMS, with the shortcut command for starting the New Availability Group Wizard.

  3. Na página Introdução, selecione Avançar. Na página Especificar Opções do Grupo de Disponibilidade, insira um nome para o grupo de disponibilidade na caixa Nome do grupo de disponibilidade. Por exemplo, insira MyTestAG. Em seguida, selecione Avançar.

    Screenshot that shows specifying an availability group name in the New Availability Group Wizard in SSMS.

  4. Na página Selecionar Bancos de Dados, selecione seu banco de dados e, em seguida, Avançar.

    Observação

    O banco de dados atende aos pré-requisitos de um grupo de disponibilidade, pois você fez, pelo menos, um backup completo na réplica primária pretendida.

    Screenshot that shows selecting databases in the New Availability Group Wizard in SSMS.

  5. Na página Especificar Réplicas, selecione Adicionar Réplica.

    Screenshot of the button for adding a replica in the New Availability Group Wizard in SSMS.

  6. Na caixa de diálogo Conectar ao Servidor, em Nome do servidor, insira o nome da segunda instância do SQL Server. Depois, selecione Conectar.

    De volta à página Especificar Réplicas, você verá o segundo servidor listado em Réplicas de Disponibilidade. Configure as réplicas como mostrado abaixo.

    Screenshot that shows two servers listed as replicas in the New Availability Group Wizard in SSMS.

  7. Selecione Pontos de extremidade para ver o ponto de extremidade de espelhamento de banco de dados desse grupo de disponibilidade. Use a mesma porta que você usou ao definir a regra de firewall para pontos de extremidade de espelhamento de banco de dados.

    Screenshot of the Endpoints tab in the New Availability Group Wizard in SSMS.

  8. Na página Selecionar Sincronização de Dados Inicial, escolha Completa e especifique um local de rede compartilhado. Para o local, use o compartilhamento de backup criado. No exemplo, ele era \\<Primeira Instância do SQL Server>\Backup\. Selecione Avançar.

    Observação

    A sincronização completa usa um backup completo do banco de dados na primeira instância do SQL Server e o restaura na segunda instância. Para bancos de dados grandes, não recomendamos a sincronização completa porque isso pode levar muito tempo.

    Você pode reduzir esse tempo manualmente usando um backup do banco de dados e restaurando-o com NO RECOVERY. Se o banco de dados já foi restaurado com NO RECOVERY na segunda instância do SQL Server antes da configuração do grupo de disponibilidade, escolha Somente ingresso. Caso deseje fazer o backup depois de configurar o grupo de disponibilidade, escolha Ignorar sincronização inicial de dados.

    Screenshot of the options for data synchronization in the New Availability Group Wizard in SSMS.

  9. Na página Validação, selecione Avançar. O arquivo deve ser semelhante à seguinte imagem:

    Screenshot of the page that shows the results of validation in the New Availability Group Wizard in SSMS.

    Observação

    Há um aviso para a configuração do ouvinte porque você não configurou um ouvinte do grupo de disponibilidade. Você pode ignorar esse aviso porque, nas máquinas virtuais do Azure, o ouvinte é criado depois do balanceador de carga do Azure.

  10. Na página Resumo, selecione Concluir e aguarde enquanto o assistente configura o novo grupo de disponibilidade. Na página Progresso, selecione Mais detalhes para ver o progresso detalhado.

    Depois que o assistente concluir a configuração, inspecione a página Resultados para verificar se o grupo de disponibilidade foi criado com sucesso.

    Screenshot that shows successful completion of the New Availability Group Wizard in SSMS.

  11. Selecione Fechar para fechar o assistente.

Conferir o grupo de disponibilidade

  1. No Pesquisador de Objetos, expanda Alta Disponibilidade AlwaysOn e, em seguida, expanda Grupos de Disponibilidade. Agora você poderá ver o novo grupo de disponibilidade neste contêiner. Clique com o botão direito do mouse no grupo de disponibilidade e selecione Mostrar Painel.

    Screenshot of Object Explorer in SSMS that shows selections for opening a dashboard for an availability group.

    O painel do grupo de disponibilidade será parecido com a seguinte captura de tela:

    Screenshot of the availability group dashboard in SSMS.

    O painel mostra as réplicas, o modo de failover de cada réplica e o estado de sincronização.

  2. No Gerenciador de Cluster de Failover, selecione seu cluster. Selecione funções.

    O nome do grupo de disponibilidade usado é uma função no cluster. Esse grupo de disponibilidade não tem um endereço IP para conexões de cliente, pois você não configurou um ouvinte. Você configurará o ouvinte depois de criar um balanceador de carga do Azure.

    Screenshot of an availability group in Failover Cluster Manager.

    Aviso

    Não tente fazer failover do grupo de disponibilidade por meio do Gerenciador de Cluster de Failover. Todas as operações de failover devem ser executadas no painel do grupo de disponibilidade no SSMS. Saiba mais sobre as restrições do uso do Gerenciador de Cluster de Failover com grupos de disponibilidade.

Agora você tem um grupo de disponibilidade com duas réplicas do SQL Server. Você pode mover o grupo de disponibilidade entre instâncias. Você ainda não pode se conectar ao grupo de disponibilidade porque não tem um ouvinte.

Nas máquinas virtuais do Azure, o ouvinte precisa de um balanceador de carga. A próxima etapa é criar o balanceador de carga no Azure.

Criar um balanceador de carga do Azure

Observação

As implantações do grupo de disponibilidade em várias sub-redes não exigem um balanceador de carga. Em um ambiente de sub-rede única, os clientes que usam o SQL Server 2019 CU8 e posterior no Windows 2016 e posterior podem substituir o ouvinte de VNN (nome da rede virtual) tradicional e o Azure Load Balancer por um ouvinte de DNN (nome da rede distribuída). Se você quiser usar um DNN, ignore todas as etapas do tutorial que configuram o Azure Load Balancer para o grupo de disponibilidade.

Nas máquinas virtuais do Azure em uma sub-rede individual, um grupo de disponibilidade do SQL Server precisa de um balanceador de carga. O balanceador de carga contém os endereços IP dos ouvintes do grupo de disponibilidade e do cluster de failover do Windows Server. Esta seção resume como criar o balanceador de carga no portal do Azure.

Um balanceador de carga no Azure pode ser padrão ou básico. Um balanceador de carga padrão traz mais recursos do que o balanceador de carga básico. Para um grupo de disponibilidade, o balanceador de carga padrão será necessário se você usar uma zona de disponibilidade (em vez de um conjunto de disponibilidade). Para ver os detalhes sobre a diferença entre os SKUs, confira SKUs do Azure Load Balancer.

Importante

Em 30 de setembro de 2025, o SKU Básico do Azure Load Balancer será desativado. Para saber mais, confira o anúncio oficial. Se você estiver usando o Load Balancer Básico, atualize-o para o Standard antes da data de desativação. Para obter diretrizes, confira Atualizar o balanceador de carga.

  1. No portal do Azure, acesse o grupo de recursos que contém as VMs do SQL Server e selecione + Adicionar.

  2. Pesquise pelo balanceador de carga. Escolha o balanceador de carga publicado pela Microsoft.

    Screenshot that shows selecting a Microsoft-published load balancer.

  3. Selecione Criar.

  4. Na página Criar balanceador de carga, configure os seguintes parâmetros para o balanceador de carga:

    Configuração Entrada ou seleção
    Assinatura Use a mesma assinatura da máquina virtual.
    Grupo de recursos Use o mesmo grupo de recursos da máquina virtual.
    Nome Use um nome de texto para o balanceador de carga, por exemplo, sqlLB.
    Região Use a mesma região que a máquina virtual.
    SKU Selecione Padrão.
    Tipo selecione Interno.

    A página terá esta aparência:

    Screenshot of the Azure portal that shows selected parameters for a load balancer.

  5. Selecione Próximo: Configuração do IP de front-end.

  6. Selecione + Adicionar uma configuração de IP de front-end.

    Screenshot of the button for creating a frontend IP configuration in the Azure portal.

  7. Configure o endereço IP de front-end usando os seguintes valores:

    • Nome: insira um nome que identifique a configuração de IP de front-end.
    • Rede virtual: selecione a mesma rede das máquinas virtuais.
    • Sub-rede: selecione a mesma sub-rede das máquinas virtuais.
    • Atribuição: selecione Estático.
    • Endereço IP: use um endereço disponível na sub-rede. Use este endereço para o ouvinte do grupo de disponibilidade. Esse endereço é diferente do endereço IP do cluster.
    • Zona de disponibilidade: opcionalmente, escolha uma zona de disponibilidade para implantar o endereço IP.

    A seguinte imagem mostra a caixa de diálogo Adicionar configuração de IP de front-end:

    Screenshot of the Azure portal that shows the dialog for frontend IP configuration.

  8. Selecione Adicionar.

  9. Escolha Revisar + Criar para validar a configuração. Em seguida, escolha Criar para criar o balanceador de carga e o endereço IP de front-end.

Para configurar o balanceador de carga, você precisará criar um pool de back-end e uma investigação, além de definir as regras de balanceamento de carga.

Adicionar um pool de back-end ao ouvinte do grupo de disponibilidade

  1. No portal do Azure, vá para o grupo de recursos. Talvez seja necessário atualizar a exibição para ver o balanceador de carga recém-criado.

    Screenshot of the Azure portal that shows a load balancer in an availability group.

  2. Selecione o balanceador de carga, Pools de back-end e +Adicionar.

  3. Em Nome, forneça um nome para o pool de back-end.

  4. Em Configuração do Pool de Back-end, escolha NIC.

  5. Selecione Adicionar para associar o pool de back-end ao conjunto de disponibilidade que contém as VMs.

  6. Em Máquina virtual, escolha as máquinas virtuais que hospedarão as réplicas do grupo de disponibilidade. Não inclua o servidor de testemunha de compartilhamento de arquivos.

    Observação

    Se as duas máquinas virtuais não forem especificadas, só as conexões com a réplica primária terão sucesso.

  7. Selecione Adicionar para adicionar as máquinas virtuais ao pool de back-end.

  8. Selecione Salvar para criar o pool de back-end.

Definir a investigação

  1. No portal do Azure, selecione o balanceador de carga, Investigações de integridade e +Adicionar.

  2. Defina a investigação de integridade do ouvinte, conforme a seguir:

    Configuração Descrição Exemplo
    Nome Texto SQLAlwaysOnEndPointProbe
    Protocolo Escolher TCP TCP
    Porta Qualquer porta não utilizada 59999
    Intervalo O tempo entre as tentativas de investigação, em segundos 5
  3. Selecione Adicionar.

Definir as regras de balanceamento de carga

  1. No portal do Azure, selecione o balanceador de carga, Regras de balanceamento de carga e +Adicionar.

  2. Defina as regras de balanceamento de carga do ouvinte da seguinte maneira:

    Configuração Descrição Exemplo
    Nome Texto SQLAlwaysOnEndPointListener
    Endereço IP de front-end Escolher um endereço Use o endereço que você criou ao criar o balanceador de carga.
    Pool de back-end Escolha o pool de back-ends Selecione o pool de back-end que contém as máquinas virtuais destinadas ao balanceador de carga.
    Protocolo Escolher TCP TCP
    Porta Usar a porta para o ouvinte do grupo de disponibilidade 1433
    Porta de back-end Esse campo não é usado quando um IP flutuante é definido para o retorno de servidor direto 1433
    Investigação de integridade O nome especificado para a investigação SQLAlwaysOnEndPointProbe
    Persistência de sessão Lista suspensa Nenhuma
    Tempo limite de ociosidade Minutos para manter uma conexão TCP aberta 4
    IP flutuante (retorno de servidor direto) Uma topologia de fluxo e um esquema de mapeamento de endereço IP Enabled

    Aviso

    O retorno de servidor direto é definido durante a criação. Não é possível alterar isso.

  3. Selecione Salvar.

Adicionar o endereço IP do núcleo do cluster ao cluster de failover do Windows Server

O endereço IP do cluster de failover do Windows Server também precisa estar no balanceador de carga. Se você estiver usando o Windows Server 2019, ignore este processo, porque o cluster cria um valor de Nome de Servidor Distribuído em vez do valor de Nome de Rede de Cluster.

  1. No portal do Azure, acesse o mesmo balanceador de carga do Azure. Selecione Configuração de IP de front-end e +Adicionar. Use o endereço IP que você configurou para o cluster de failover do Windows Server nos recursos do núcleo do cluster. Defina o endereço IP como Estático.

  2. No balanceador de carga, selecione Investigações de integridade e, em seguida, +Adicionar.

  3. Defina a investigação de integridade do endereço IP do núcleo do cluster para o cluster de failover do Windows Server da seguinte maneira:

    Configuração Descrição Exemplo
    Nome Texto WSFCEndPointProbe
    Protocolo Escolher TCP TCP
    Porta Qualquer porta não utilizada 58888
    Intervalo O tempo entre as tentativas de investigação, em segundos 5
  4. Selecione Adicionar para definir a investigação de integridade.

  5. Selecione Regras de balanceamento de carga e +Adicionar.

  6. Defina as regras de balanceamento de carga para o endereço IP do núcleo do cluster da seguinte maneira:

    Configuração Descrição Exemplo
    Nome Texto WSFCEndPoint
    Endereço IP de front-end Escolher um endereço Use o endereço que você criou quando configurou o endereço IP para o cluster de failover do Windows Server. Isso é diferente do endereço IP do ouvinte.
    Pool de back-end Escolha o pool de back-ends Selecione o pool de back-end que contém as máquinas virtuais destinadas ao balanceador de carga.
    Protocolo Escolher TCP TCP
    Porta Use a porta para o endereço IP de cluster. Essa é uma porta disponível que não é usada para a porta de investigação do ouvinte. 58888
    Porta de back-end Esse campo não é usado quando um IP flutuante é definido para o retorno de servidor direto 58888
    Investigação O nome especificado para a investigação WSFCEndPointProbe
    Persistência de sessão Lista suspensa Nenhuma
    Tempo limite de ociosidade Minutos para manter uma conexão TCP aberta 4
    IP flutuante (retorno de servidor direto) Uma topologia de fluxo e um esquema de mapeamento de endereço IP Enabled

    Aviso

    O retorno de servidor direto é definido durante a criação. Não é possível alterar isso.

  7. Selecione OK.

Configurar o ouvinte

A próxima etapa será configurar um ouvinte do grupo de disponibilidade no cluster de failover.

Observação

Este tutorial mostra como criar um ouvinte individual, com um endereço IP para o balanceador de carga interno. Para criar ouvintes usando um ou mais endereços IP, confira Configurar um ou mais ouvintes do grupo de disponibilidade Always On.

O ouvinte do grupo de disponibilidade é um nome de rede e endereço IP que o grupo de disponibilidade do SQL Server escuta. Para criar o ouvinte do grupo de disponibilidade:

  1. Obtenha o nome do recurso de rede de cluster:

    a. Use o RDP para se conectar à máquina virtual do Azure que hospeda a réplica primária.

    b. Abra o Gerenciador de Cluster de Failover.

    c. Selecione o nó redes e anote o nome da rede do cluster. Use esse nome na variável $ClusterNetworkName no script do PowerShell. Na seguinte imagem, o nome da rede de cluster é Rede de Cluster 1:

    Screenshot that shows a cluster network name in Failover Cluster Manager.

  2. Adicionar o ponto de acesso para cliente. O ponto de acesso do cliente é o nome da rede que os aplicativos usam para se conectar aos bancos de dados em um grupo de disponibilidade.

    a. Em Gerenciador de Cluster de Failover, expanda o nome do cluster e selecione Funções.

    b. No painel Funções, clique com o botão direito do mouse no nome do grupo de disponibilidade e selecione Adicionar recurso>Ponto de Acesso do Cliente.

    Screenshot of Failover Cluster Manager that shows selecting the Client Access Point command on the shortcut menu for the availability group.

    c. Na caixa Nome, crie um nome para o novo ouvinte. O nome para o novo ouvinte é o nome da rede que o aplicativo usará para se conectar aos bancos de dados no grupo de disponibilidade do SQL Server.

    d. Para concluir a criação do ouvinte, selecione Avançar duas vezes e Concluir. Não coloque o ouvinte ou o recurso online neste momento.

  3. Coloque a função de cluster do grupo de disponibilidade offline. Em Gerenciador de Cluster de Failover, em Funções, clique com o botão direito do mouse na função e selecione Parar Função.

  4. Configure o recurso de IP para o grupo de disponibilidade:

    a. Selecione a guia Recursos e expanda o ponto de acesso do cliente criado. O ponto de acesso para cliente está offline.

    Screenshot of Failover Cluster Manager that shows an offline status for a client access point.

    b. Clique com o botão direito do mouse no recurso de IP e selecione Propriedades. Anote o nome do endereço IP e use-o na variável $IPResourceName no script do PowerShell.

    c. Em Endereço IP, selecione Endereço IP Estático. Defina o endereço IP como o mesmo endereço que você usou quando definiu o endereço do balanceador de carga no portal do Azure.

    Screenshot of Failover Cluster Manager that shows the selection of an IP address.

  5. Torne o grupo de disponibilidade do SQL Server dependente do ponto de acesso do cliente:

    a. Em Gerenciador de Cluster de Failover, selecione Funções e o grupo de disponibilidade.

    b. Na guia Recursos, em Outros Recursos, com o botão direito do mouse no recurso de grupo de disponibilidade e selecione Propriedades.

    c. Na guia Dependências, adicione o nome do ponto de acesso do cliente (o ouvinte).

    Screenshot of Failover Cluster Manager that shows adding a name on the Dependencies tab.

    d. Selecione OK.

  6. Torne o ponto de acesso do cliente dependente do endereço IP:

    a. Em Gerenciador de Cluster de Failover, selecione Funções e o grupo de disponibilidade.

    b. Na guia Recursos, clique com o botão direito do mouse no ponto de acesso do cliente em Nome do Servidor e selecione Propriedades.

    Screenshot of Failover Cluster Manager that shows the Properties menu option for the listener's name.

    c. Selecione a guia Dependências. Verifique se o endereço IP é uma dependência. Se não for, defina uma dependência do endereço IP. Se houver vários recursos listados, verifique se os endereços IP têm dependências OR e não AND. Depois, selecione OK.

    Screenshot of the Dependencies tab that shows an IP resource for an availability group.

    Dica

    Você pode validar se as dependências estão configuradas corretamente. Em Gerenciador de Cluster de Failover, acesse Funções, clique com o botão direito do mouse no grupo de disponibilidade, selecione Mais Ações e Mostrar Relatório de Dependências. Quando as dependências são configuradas corretamente, o grupo de disponibilidade é dependente do nome da rede e o nome da rede depende do endereço IP.

  7. Defina os parâmetros do cluster no PowerShell:

    a. Copie o script do PowerShell a seguir em uma de suas instâncias do SQL Server. Atualize as variáveis para o seu ambiente.

    • $ClusterNetworkName localize o nome no Gerenciador de Cluster de Failover selecionando Redes, clique com o botão direito do mouse e selecione Propriedades. $ClusterNetworkName está em Nome na guia Geral.

    • $IPResourceName é o nome dado ao recurso de endereço IP no Gerenciador de Cluster de Failover. Isso é encontrado no Gerenciador de Cluster de Failover selecionando Funções, selecione o SQL Server AG ou nome FCI, selecione a guia Recursos em Nome do Servidor, clique com o botão direito do mouse no recurso de endereço IP e selecione Propriedades. O valor correto está em Nome, na guia Geral.

    • $ListenerILBIP é o endereço IP que você criou no balanceador de carga do Azure para o ouvinte do grupo de disponibilidade. Localize $ListenerILBIP no Gerenciador de Cluster de Failover na mesma página de propriedades que o SQL Server AG/Nome do Recurso do Ouvinte FCI.

    • $ListenerProbePort é a porta que você configurou no balanceador de carga do Azure para o ouvinte do grupo de disponibilidade, como 59999. Qualquer porta TCP não usada é válida.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<IPResourceName>" # The IP address resource name.
    $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Defina os parâmetros de cluster executando o script do PowerShell em um dos nós do cluster.

    Observação

    Se suas instâncias do SQL Server estiverem em regiões separadas, você precisará executar o script do PowerShell duas vezes. Na primeira vez, use os valores $ListenerILBIP e $ListenerProbePort da primeira região. Na segunda vez, use os valores $ListenerILBIP e $ListenerProbePort da segunda região. O nome da rede de cluster e o nome do recurso de IP do cluster são também diferentes para cada região.

  8. Coloque a função de cluster do grupo de disponibilidade online. Em Gerenciador de Cluster de Failover, em Funções, clique com o botão direito do mouse na função e selecione Iniciar Função.

Se necessário, repita as etapas anteriores para definir os parâmetros de cluster para o endereço IP do cluster de failover do Windows Server:

  1. Obtenha o nome do endereço IP do cluster de failover do Windows Server. Em Gerenciador de Cluster de Failover em Recursos Principais de Cluster, localize Nome do Servidor.

  2. Clique com o botão direito do mouse em Endereço de IP e escolha Propriedades.

  3. Copie o nome do endereço IP em Nome. Isso pode ser Endereço IP do Cluster.

  4. Defina os parâmetros do cluster no PowerShell:

    a. Copie o script do PowerShell a seguir em uma de suas instâncias do SQL Server. Atualize as variáveis para o seu ambiente.

    • $ClusterCoreIP é o endereço IP que você criou no balanceador de carga do Azure para o recurso de cluster principal do cluster de failover do Windows Server. Ele é diferente do endereço IP do ouvinte do grupo de disponibilidade.

    • $ClusterProbePort é a porta que você configurou no balanceador de carga do Azure para a investigação de integridade do cluster de failover do Windows Server. Ela é diferente da investigação do ouvinte do grupo de disponibilidade.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name.
    $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Defina os parâmetros de cluster executando o script do PowerShell em um dos nós do cluster.

Se algum recurso do SQL estiver configurado para usar uma porta entre 49152 e 65536 (o intervalo de portas dinâmicas padrão do TCP/IP), adicione uma exclusão para cada porta. Esses recursos podem incluir:

  • Mecanismo de banco de dados do SQL Server
  • Ouvinte do grupo de disponibilidade Always On
  • Investigação de integridade da instância de cluster de failover
  • Ponto de extremidade de espelhamento de banco de dados
  • Recurso IP do núcleo do cluster

A adição de uma exclusão impedirá que outros processos do sistema sejam atribuídos dinamicamente à mesma porta. Para esse cenário, configure as seguintes exclusões em todos os nós de cluster:

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

É importante configurar a exclusão de porta quando a porta não estiver em uso. Caso contrário, o comando falhará com uma mensagem como "O processo não pode acessar o arquivo porque está sendo usado por outro processo". Para confirmar que as exclusões foram configuradas corretamente, use o seguinte comando: netsh int ipv4 show excludedportrange tcp.

Aviso

A porta de investigação de integridade do ouvinte do grupo de disponibilidade deve ser diferente da porta de investigação de integridade do endereço IP do núcleo do cluster. Nestes exemplos, a porta do ouvinte é 59999 e a porta de investigação de integridade do endereço IP do núcleo do cluster é 58888. Ambas as portas exigem uma regra de firewall de "entrada de permissão".

Definir a porta do ouvinte

No SQL Server Management Studio, defina a porta do ouvinte:

  1. Abra o SQL Server Management Studio e conecte-se à réplica primária.

  2. Acesse Alta Disponibilidade Always On>Grupos de disponibilidade>Ouvintes do grupo de disponibilidade.

  3. Clique com o botão direito do mouse no nome do ouvinte que você criou no Gerenciador de Cluster de Failover e selecione Propriedades.

  4. Na caixa Porta, especifique o número da porta do ouvinte do grupo de disponibilidade. O padrão é 1433. Selecione OK.

Agora você tem um grupo de disponibilidade para o SQL Server em VMs do Azure em execução no modo do Azure Resource Manager.

Testar a conexão com o ouvinte

Para testar a conexão:

  1. Use o RDP para se conectar a uma VM do SQL Server que esteja na mesma rede virtual, mas que não seja a proprietária da réplica, como a outra réplica.

  2. Use o utilitário sqlcmd para testar a conexão. Por exemplo, o seguinte script estabelece uma conexão do sqlcmd com a réplica primária por meio do ouvinte com a autenticação do Windows:

    sqlcmd -S <listenerName> -E
    

    Se o ouvinte estiver usando uma porta diferente da porta padrão (1433), especifique a porta na cadeia de conexão. Por exemplo, o seguinte comando conecta-se a um ouvinte na porta 1435:

    sqlcmd -S <listenerName>,1435 -E
    

O utilitário sqlcmd se conecta automaticamente a qualquer instância do SQL Server que seja a réplica primária atual do grupo de disponibilidade.

Dica

Verifique se a porta especificada está aberta no firewall das duas VMs do SQL Server. Ambos os servidores exigem uma regra de entrada para a porta TCP que você usa. Para obter mais informações, confira Adicionar ou editar as regras de firewall.

Próximas etapas

Para obter mais informações, consulte: