Tutorial: Configurar manualmente um grupo de disponibilidade - SQL Server em VMs do Azure
Aplica-se a:SQL Server na VM do Azure
Gorjeta
Há muitos métodos para implantar um grupo de disponibilidade. Simplifique sua implantação e elimine a necessidade de um Balanceador de Carga do Azure ou DNN (nome de rede distribuída) para seu grupo de disponibilidade Always On criando suas máquinas virtuais (VMs) do SQL Server em várias sub-redes dentro da mesma rede virtual do Azure. Se você já criou seu grupo de disponibilidade em uma única sub-rede, pode 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 única sub-rede. 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.
Estimativa de tempo: Este tutorial leva cerca de 30 minutos para ser concluído depois de atender aos pré-requisitos.
Pré-requisitos
O tutorial pressupõe que você tenha uma compreensão básica dos grupos de disponibilidade Always On do SQL Server. Se precisar de mais informações, consulte Visão geral dos grupos de disponibilidade Always On (SQL Server).
Antes de começar os procedimentos neste tutorial, você precisa concluir os pré-requisitos para criar grupos de disponibilidade Always On em máquinas virtuais do Azure. Se você já concluiu esses pré-requisitos, pode ir para Criar o cluster.
A tabela a seguir 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 clustering de failover instalado |
Windows Server: | Compartilhamento de arquivos para uma testemunha de cluster |
Conta de serviço do SQL Server | Conta de domínio |
Conta de serviço do SQL Server Agent | Conta de 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 - Sonda de integridade do endereço IP do balanceador de carga para um grupo de disponibilidade: 59999 ou qualquer porta disponível - Sonda 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 ambas as instâncias do SQL Server |
Conta de domínio de instalação | - Administrador local em cada instância do SQL Server - Membro da função de servidor fixa sysadmin para cada instância do SQL Server |
Grupos de Segurança de Rede (NSGs) | Se o ambiente estiver usando grupos de segurança de rede, verifique se a configuração atual permite o tráfego de rede através das portas descritas em Configurar o firewall. |
Criar o cluster
A primeira tarefa é criar um cluster de failover do Windows Server com VMs do SQL Server e um servidor testemunha:
Use o protocolo RDP (Remote Desktop Protocol) para se conectar à primeira VM do SQL Server. Use uma conta de domínio que seja um administrador nas VMs do SQL Server e no servidor testemunha.
Gorjeta
Nos pré-requisitos, você criou uma conta chamada CORP\Install. Use esta conta.
No painel do Gerenciador do Servidor, selecione Ferramentas e, em seguida, selecione Gerenciador de Cluster de Failover.
No painel esquerdo, clique com o botão direito do mouse em Gerenciador de Cluster de Failover e selecione Criar Cluster.
No Assistente para Criar Cluster, crie um cluster de um nó percorrendo as páginas com as configurações na tabela a seguir:
Página Definição Antes de começar Use padrões. Selecionar Servidores Digite o primeiro nome da VM do SQL Server em Digite o nome do servidor e selecione Adicionar. Aviso de validação Selecione Não. Não necessito de suporte da Microsoft para este cluster e, portanto, não quero executar os testes de validação. Quando seleciono Avançar, continuo criando o cluster. Ponto de acesso para administrar o cluster Em Nome do Cluster, insira um nome de cluster (por exemplo, SQLAGCluster1). Confirmação Use padrões, a menos que você esteja usando Espaços de Armazenamento.
Definir o endereço IP do cluster de failover do Windows Server
Nota
No Windows Server 2019, o cluster cria um valor de Nome de Servidor Distribuído em vez do valor de Nome de Rede do Cluster. Se você estiver usando o Windows Server 2019, ignore todas as etapas que se referem ao nome do núcleo do cluster neste tutorial. Você pode criar um nome de rede de cluster usando o PowerShell. Para obter mais informações, consulte a postagem do blog Cluster de Failover: Objeto de Rede de Cluster.
No Gerenciador de Cluster de Failover, role para baixo até Recursos Principais do 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 ser colocado online porque o cluster recebe o mesmo endereço IP que a própria máquina. É um endereço duplicado.
Clique com o botão direito do mouse no recurso Endereço IP com falha e selecione Propriedades.
Selecione Endereço IP estático. Especifique um endereço disponível da mesma sub-rede que suas máquinas virtuais.
Na seção Recursos Principais 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 de cluster fica online, ele atualiza o servidor do controlador de domínio com uma nova conta de computador do Ative Directory. Use essa conta do Ative Directory para executar o serviço clusterizado do grupo de disponibilidade mais tarde.
Adicionar a outra instância do SQL Server ao cluster
Na árvore do navegador, clique com o botão direito do mouse no cluster e selecione Adicionar nó.
No Assistente para Adicionar Nó, selecione Avançar.
Na página Selecionar Servidores, adicione a segunda VM do SQL Server. Introduza o nome da VM em Introduzir nome do servidor e, em seguida, selecione Adicionar>Seguinte.
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.
Na página Confirmação, se estiver a utilizar Espaços de Armazenamento, desmarque a caixa de verificação Adicionar todo o armazenamento elegível ao 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 aparecem no Gerenciador de Discos ou no Pesquisador de Objetos até que o armazenamento seja removido do cluster e reanexado via PowerShell.
Selecione Seguinte.
Selecione Concluir.
O Gerenciador de Cluster de Failover mostra que o cluster tem um novo nó e o lista no contêiner de nós .
Saia da sessão da área de trabalho remota.
Adicionar um compartilhamento de arquivos para um quórum de cluster
Neste exemplo, o cluster do Windows usa um compartilhamento de arquivos para criar um quórum de cluster. Este tutorial usa um NodeAndFileShareMajority
quórum. Para obter mais informações, consulte Configurar e gerenciar quorum.
Conecte-se à VM do servidor testemunha de compartilhamento de arquivos usando uma sessão de área de trabalho remota.
No Gerenciador do Servidor, selecione Ferramentas. Abra o Gerenciamento do Computador.
Selecione Pastas compartilhadas.
Clique com o botão direito do rato em Partilhas e, em seguida, selecione Nova Partilha.
Use o Assistente para Criar uma Pasta Compartilhada para criar um compartilhamento.
Na página Caminho da Pasta, selecione Procurar. Localize ou crie um caminho para a pasta compartilhada e selecione Avançar.
Na página Nome, Descrição e Configurações, verifique o nome e o caminho do compartilhamento. Selecione Seguinte.
Na página Permissões de Pasta Compartilhada , defina Personalizar permissões. Selecione Personalizado.
Na caixa de diálogo Personalizar Permissões, selecione Adicionar.
Verifique se a conta usada para criar o cluster tem controle total.
Selecione OK.
Na página Permissões de Pasta Compartilhada , selecione Concluir. Em seguida, selecione Concluir novamente.
Saia do servidor.
Configurar o quórum do cluster
Nota
Dependendo da configuração do seu grupo de disponibilidade, pode ser necessário alterar a votação de quórum de um nó que está participando do cluster de failover do Windows Server. Para obter mais informações, consulte Configurar quorum de cluster para SQL Server em VMs do Azure.
Conecte-se ao primeiro nó do cluster usando uma sessão de área de trabalho remota.
No Gerenciador de Cluster de Failover, clique com o botão direito do mouse no cluster, aponte para Mais Ações e selecione Configurar Configurações de Quórum de Cluster.
No Assistente para Configurar Quórum de Cluster, selecione Avançar.
Na página Selecionar Opção de Configuração do Quórum, escolha Selecionar a testemunha do quórum e selecione Avançar.
Na página Selecionar Testemunha de Quórum, selecione Configurar uma testemunha de compartilhamento de arquivos.
Gorjeta
O Windows Server 2016 oferece suporte a uma testemunha de nuvem. Se você escolher esse tipo de testemunha, não precisará de uma testemunha de compartilhamento de arquivos. Para obter mais informações, consulte Implantar uma testemunha de nuvem para um cluster de failover. Este tutorial usa uma testemunha de compartilhamento de arquivos, que os sistemas operacionais anteriores suportam.
Em Configurar Testemunha de Compartilhamento de Arquivos, insira o caminho para o compartilhamento que você criou. Em seguida, selecione Seguinte.
Na página Confirmação, verifique as configurações. Em seguida, selecione Seguinte.
Selecione Concluir.
Os recursos principais do cluster são configurados com uma testemunha de compartilhamento de arquivos.
Habilitar grupos de disponibilidade
Em seguida, habilite os grupos de disponibilidade Always On. Conclua estas etapas em ambas as VMs do SQL Server.
Na tela Iniciar, abra o SQL Server Configuration Manager.
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.
Selecione a guia Alta disponibilidade Always On e, em seguida, selecione Ativar grupos de disponibilidade Always On.
Selecione Aplicar. Selecione OK na caixa de diálogo pop-up.
Reinicie o serviço do SQL Server.
Ativar o recurso FILESTREAM
Se você não estiver usando FILESTREAM para seu banco de dados no grupo de disponibilidade, ignore esta etapa e passe para a próxima etapa - Criar banco de dados.
Se você planeja adicionar um banco de dados ao seu grupo de disponibilidade que usa FILESTREAM, FILESTREAM precisa ser habilitado, pois o recurso está desabilitado por padrão. Use o SQL Server Configuration Manager para habilitar o recurso em ambas as instâncias do SQL Server.
Para ativar a funcionalidade FILESTREAM, siga estes passos:
Inicie o arquivo RDP na primeira VM do SQL Server (como 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
Na tela Iniciar de uma VM do SQL Server, inicie o SQL Server Configuration Manager.
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.
Selecione a guia FILESTREAM e marque a caixa para Habilitar FILESTREAM para acesso Transact-SQL:
Selecione Aplicar. Selecione OK na caixa de diálogo pop-up.
No SQL Server Management Studio, clique em Nova Consulta para exibir o Editor de Consultas.
No Editor de Consultas, insira o seguinte código Transact-SQL:
EXEC sp_configure filestream_access_level, 2 RECONFIGURE
Clique em Executar.
Reinicie o serviço do SQL Server.
Repita essas etapas para a outra instância do SQL Server.
Criar um banco de dados na primeira instância do SQL Server
- Abra o arquivo RDP na primeira VM do SQL Server com uma conta de domínio que seja membro da função de servidor fixa sysadmin .
- Abra o SQL Server Management Studio (SSMS) e conecte-se à primeira instância do SQL Server.
- No Pesquisador de Objetos, clique com o botão direito do mouse em Bancos de Dados e selecione Novo Banco de Dados.
- Em Nome do banco de dados, digite MyDB1 e selecione OK.
Criar um compartilhamento de backup
Na primeira VM do SQL Server no Gerenciador do Servidor, selecione Ferramentas. Abra o Gerenciamento do Computador.
Selecione Pastas compartilhadas.
Clique com o botão direito do rato em Partilhas e, em seguida, selecione Nova Partilha.
Use o Assistente para Criar uma Pasta Compartilhada para criar um compartilhamento.
Na página Caminho da Pasta, selecione Procurar. Localize ou crie um caminho para a pasta compartilhada do backup do banco de dados e selecione Avançar.
Na página Nome, Descrição e Configurações, verifique o nome e o caminho do compartilhamento. Em seguida, selecione Seguinte.
Na página Permissões de Pasta Compartilhada , defina Personalizar permissões. Em seguida, selecione Personalizado.
Na caixa de diálogo Personalizar Permissões, selecione Adicionar.
Marque Controle Total para conceder acesso total ao compartilhamento da conta de serviço do SQL Server (
Corp\SQLSvc
):Selecione OK.
Na página Permissões de Pasta Compartilhada , selecione Concluir. Selecione Concluir novamente.
Faça 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.
No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados, aponte para Tarefas e selecione Backup.
Selecione OK para fazer um backup completo para o 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 completos e de log para a segunda instância do SQL Server usando a
NO RECOVERY
opção. - Crie o grupo de disponibilidade (MyTestAG) com confirmação síncrona, failover automático e réplicas secundárias legíveis.
Criar o grupo de disponibilidade
Conecte-se à sua VM do SQL Server usando a área de trabalho remota e abra o SQL Server Management Studio.
No Pesquisador de Objetos no SSMS, clique com o botão direito do mouse em Sempre em Alta Disponibilidade e selecione Assistente para Novo Grupo de Disponibilidade.
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, digite MyTestAG. Em seguida, selecione Seguinte.
Na página Selecionar Bancos de Dados, selecione seu banco de dados e selecione Avançar.
Nota
O banco de dados atende aos pré-requisitos de um grupo de disponibilidade porque você fez pelo menos um backup completo na réplica primária pretendida.
Na página Especificar réplicas, selecione Adicionar réplica.
Na caixa de diálogo Conectar ao Servidor, em Nome do servidor, digite o nome da segunda instância do SQL Server. Em seguida, selecione Conectar.
De volta à página Especificar réplicas, você verá o segundo servidor listado em Réplicas de disponibilidade. Configure as réplicas da seguinte maneira.
Selecione Pontos de extremidade para ver o ponto de extremidade de espelhamento de banco de dados para esse 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.
Na página Selecionar Sincronização Inicial de Dados, selecione Completo e especifique um local de rede compartilhado. Para o local, use o compartilhamento de backup que você criou. No exemplo, era \\First SQL Server Instance>\Backup\<. Selecione Seguinte.
Nota
A sincronização completa faz um backup completo do banco de dados na primeira instância do SQL Server e o restaura para a segunda instância. Para bancos de dados grandes, não recomendamos a sincronização completa porque pode levar muito tempo.
Você pode reduzir esse tempo fazendo manualmente um backup do banco de dados e restaurando-o com
NO RECOVERY
o . Se o banco de dados já tiver sido restaurado comNO RECOVERY
a segunda instância do SQL Server antes de configurar o grupo de disponibilidade, selecione Somente ingresso. Se quiser fazer o backup depois de configurar o grupo de disponibilidade, selecione Ignorar sincronização inicial de dados.Na página Validação, selecione Avançar. Esta página deve ser semelhante à seguinte imagem:
Nota
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, em máquinas virtuais do Azure, você cria o ouvinte depois de criar o balanceador de carga do Azure.
Na página Resumo, selecione Concluir e aguarde enquanto o assistente configura o novo grupo de disponibilidade. Na página Progresso, você pode selecionar Mais detalhes para exibir 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 êxito.
Selecione Fechar para fechar o assistente.
Verificar o grupo de disponibilidade
No Pesquisador de Objetos, expanda Alta Disponibilidade Sempre Ativada e, em seguida, expanda Grupos de Disponibilidade. Agora você deve 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.
O painel do grupo de disponibilidade deve ser semelhante à captura de tela a seguir:
O painel mostra as réplicas, o modo de failover de cada réplica e o estado de sincronização.
No Gerenciador de Cluster de Failover, selecione seu cluster. Selecione Funções.
O nome do grupo de disponibilidade que você usou é uma função no cluster. Esse grupo de disponibilidade não tem um endereço IP para conexões de cliente porque você não configurou um ouvinte. Você configurará o ouvinte depois de criar um balanceador de carga do Azure.
Aviso
Não tente fazer failover do grupo de disponibilidade 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 de uso do Gerenciador de Cluster de Failover com grupos de disponibilidade.
Neste ponto, você tem um grupo de disponibilidade com duas réplicas do SQL Server. Você pode mover o grupo de disponibilidade entre instâncias. Ainda não é possível conectar-se ao grupo de disponibilidade porque não tem um ouvinte.
Nas máquinas virtuais do Azure, o ouvinte requer um balanceador de carga. A próxima etapa é criar o balanceador de carga no Azure.
Criar um balanceador de carga do Azure
Nota
As implantações de 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 VNN (nome de rede virtual) tradicional e o Balanceador de Carga do Azure por um ouvinte DNN (nome de rede distribuído). Se você quiser usar uma DNN, ignore todas as etapas do tutorial que configuram o Balanceador de Carga do Azure para seu grupo de disponibilidade.
Em máquinas virtuais do Azure em uma única sub-rede, um grupo de disponibilidade do SQL Server requer um balanceador de carga. O balanceador de carga contém os endereços IP para os ouvintes do grupo de disponibilidade e o 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 tem mais recursos do que o balanceador de carga básico. Para um grupo de disponibilidade, o balanceador de carga padrão é necessário se você usar uma zona de disponibilidade (em vez de um conjunto de disponibilidade). Para obter detalhes sobre a diferença entre as SKUs, consulte SKUs do Balanceador de Carga do Azure.
Importante
Em 30 de setembro de 2025, a SKU Básica para o Azure Load Balancer será desativada. Para obter mais informações, veja o anúncio oficial. Se você estiver usando o Basic Load Balancer, atualize para o Standard Load Balancer antes da data de desativação. Para obter orientações, consulte Upgrade Load Balancer.
No portal do Azure, vá para o grupo de recursos que contém suas VMs do SQL Server e selecione + Adicionar.
Procure por balanceador de carga. Escolha o balanceador de carga que a Microsoft publica.
Selecione Criar.
Na página Criar balanceador de carga, configure os seguintes parâmetros para o balanceador de carga:
Definição Entrada ou seleção Subscrição Use a mesma assinatura que a máquina virtual. Grupo de recursos Use o mesmo grupo de recursos que a máquina virtual. Name Use um nome de texto para o balanceador de carga, como sqlLB. Região Use a mesma região que a máquina virtual. SKU selecione Standard. Tipo Selecione Interno. A página deve ter esta aparência:
Selecione Next: Frontend IP configuration.
Selecione + Adicionar uma configuração de IP frontend.
Configure o endereço IP frontend usando os seguintes valores:
- Nome: insira um nome que identifique a configuração de IP do frontend.
- Rede virtual: selecione a mesma rede que as máquinas virtuais.
- Sub-rede: selecione a mesma sub-rede que as máquinas virtuais.
- Atribuição: Selecione Estático.
- Endereço IP: use um endereço disponível da sub-rede. Use este endereço para o ouvinte do grupo de disponibilidade. Este endereço é diferente do endereço IP do cluster.
- Zona de disponibilidade: opcionalmente, escolha uma zona de disponibilidade para implantar seu endereço IP.
A imagem a seguir mostra a caixa de diálogo Adicionar configuração de IP frontend:
Selecione Adicionar.
Escolha Rever + Criar para validar a configuração. Em seguida, selecione Criar para criar o balanceador de carga e o endereço IP do frontend.
Para configurar o balanceador de carga, você precisa criar um pool de back-end, criar uma sonda e definir as regras de balanceamento de carga.
Adicionar um pool de back-end para o ouvinte do grupo de disponibilidade
No portal do Azure, vá para o seu grupo de recursos. Talvez seja necessário atualizar a exibição para ver o balanceador de carga recém-criado.
Selecione o balanceador de carga, selecione Pools de back-end e selecione +Adicionar.
Em Name, forneça um nome para o pool de back-end.
Para Configuração do Pool de Back-end, selecione NIC.
Selecione Adicionar para associar o pool de back-end ao conjunto de disponibilidade que contém as VMs.
Em Máquina virtual, escolha as máquinas virtuais que hospedarão réplicas do grupo de disponibilidade. Não inclua o servidor testemunha de compartilhamento de arquivos.
Nota
Se ambas as máquinas virtuais não forem especificadas, somente as conexões com a réplica primária serão bem-sucedidas.
Selecione Adicionar para adicionar as máquinas virtuais ao pool de back-end.
Selecione Salvar para criar o pool de back-end.
Definir a sonda
No portal do Azure, selecione o balanceador de carga, selecione Sondas de integridade e selecione +Adicionar.
Defina a sonda de integridade do ouvinte da seguinte maneira:
Definição Descrição Exemplo Name Texto SQLAlwaysOnEndPointProbe Protocolo Selecione TCP TCP Porta Qualquer porta não utilizada 59999 Intervalo A quantidade de tempo entre as tentativas de sonda, em segundos 5 Selecione Adicionar.
Definir as regras de balanceamento de carga
No portal do Azure, selecione o balanceador de carga, selecione Regras de balanceamento de carga e selecione +Adicionar.
Defina as regras de balanceamento de carga do ouvinte da seguinte maneira:
Definição Descrição Exemplo Name Texto SQLAlwaysOnEndPointListener Endereço IP de front-end Escolha uma morada Use o endereço que você criou quando criou o balanceador de carga. Conjunto de back-end Escolha o pool de back-end Selecione o pool de back-end que contém as máquinas virtuais destinadas ao balanceador de carga. Protocolo Selecione TCP TCP Porta Usar a porta para o ouvinte do grupo de disponibilidade 1433 Porta de back-end Este campo não é usado quando um IP flutuante é definido para retorno direto do servidor 1433 Sonda de Saúde O nome que você especificou para a sonda SQLAlwaysOnEndPointProbe Persistência da sessão Lista pendente Nenhum Tempo limite de inatividade Minutos para manter uma conexão TCP aberta 4 IP flutuante (retorno direto do servidor) Uma topologia de fluxo e um esquema de mapeamento de endereços IP Ativado Aviso
O retorno direto do servidor é definido durante a criação. Não é possível alterá-lo.
Selecione Guardar.
Adicionar o endereço IP principal do cluster para o 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 estiver a utilizar 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 do Cluster.
No portal do Azure, vá para o mesmo balanceador de carga do Azure. Selecione Configuração de IP Frontend e, em seguida, selecione +Adicionar. Use o endereço IP que você configurou para o cluster de failover do Windows Server nos recursos principais do cluster. Defina o endereço IP como Estático.
No balanceador de carga, selecione Sondas de integridade e, em seguida, selecione +Adicionar.
Defina a investigação de integridade do endereço IP principal do cluster para o cluster de failover do Windows Server da seguinte maneira:
Definição Descrição Exemplo Name Texto WSFCEndPointProbe Protocolo Selecione TCP TCP Porta Qualquer porta não utilizada 58888 Intervalo A quantidade de tempo entre as tentativas de sonda, em segundos 5 Selecione Adicionar para definir a sonda de integridade.
Selecione Regras de balanceamento de carga e, em seguida, selecione +Adicionar.
Defina as regras de balanceamento de carga para o endereço IP principal do cluster da seguinte maneira:
Definição Descrição Exemplo Name Texto WSFCEndPoint Endereço IP de front-end Escolha uma morada 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. Conjunto de back-end Escolha o pool de back-end Selecione o pool de back-end que contém as máquinas virtuais destinadas ao balanceador de carga. Protocolo Selecione TCP TCP Porta Use a porta para o endereço IP do cluster. Esta é uma porta disponível que não é usada para a porta de teste do ouvinte. 58888 Porta de back-end Este campo não é usado quando um IP flutuante é definido para retorno direto do servidor 58888 Sonda O nome que você especificou para a sonda WSFCEndPointProbe Persistência da sessão Lista pendente Nenhum Tempo limite de inatividade Minutos para manter uma conexão TCP aberta 4 IP flutuante (retorno direto do servidor) Uma topologia de fluxo e um esquema de mapeamento de endereços IP Ativado Aviso
O retorno direto do servidor é definido durante a criação. Não é possível alterá-lo.
Selecione OK.
Configurar o serviço de escuta
A próxima coisa a fazer é configurar um ouvinte de grupo de disponibilidade no cluster de failover.
Nota
Este tutorial mostra como criar um único ouvinte, com um endereço IP para o balanceador de carga interno. Para criar ouvintes usando um ou mais endereços IP, consulte Configurar um ou mais ouvintes do grupo de disponibilidade Always On.
O serviço de escuta do grupo de disponibilidade é um endereço IP e um nome de rede nos quais o grupo de disponibilidade do SQL Server escuta. Para criar o ouvinte do grupo de disponibilidade:
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 Gestor de Clusters de Ativação Pós-falha.
c. Selecione o nó Redes e anote o nome da rede do cluster. Use esse nome na
$ClusterNetworkName
variável no script do PowerShell. Na imagem a seguir, o nome da rede do cluster é Rede de Cluster 1:Adicione o ponto de acesso do 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. No 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 Ponto de Acesso para Cliente de Recurso>.
c. Na caixa Nome, crie um nome para esse novo ouvinte. O nome do novo ouvinte é o nome da rede que os aplicativos usam para se conectar a bancos de dados no grupo de disponibilidade do SQL Server.
d. Para concluir a criação do ouvinte, selecione Avançar duas vezes e, em seguida, selecione Concluir. Não coloque o ouvinte ou recurso online neste momento.
Coloque a função de cluster para o grupo de disponibilidade offline. No Gerenciador de Cluster de Failover, em Funções, clique com o botão direito do mouse na função e selecione Parar Função.
Configure o recurso IP para o grupo de disponibilidade:
a. Selecione a guia Recursos e expanda o ponto de acesso do cliente que você criou. O ponto de acesso do cliente está offline.
b. Clique com o botão direito do mouse no recurso IP e selecione Propriedades. Anote o nome do endereço IP e use-o
$IPResourceName
na variável 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 ao definir o endereço do balanceador de carga no portal do Azure.
Torne o grupo de disponibilidade do SQL Server dependente do ponto de acesso do cliente:
a. No Gerenciador de Cluster de Failover, selecione Funções e selecione seu grupo de disponibilidade.
b. No separador Recursos, em Outros Recursos, clique com o botão direito do rato no recurso do grupo de disponibilidade e, em seguida, selecione Propriedades.
c. Na guia Dependências, adicione o nome do ponto de acesso do cliente (o ouvinte).
d. Selecione OK.
Torne o ponto de acesso do cliente dependente do endereço IP:
a. No Gerenciador de Cluster de Failover, selecione Funções e selecione seu 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.
c. Selecione a guia Dependências . Verifique se o endereço IP é uma dependência. Se não estiver, defina uma dependência no endereço IP. Se vários recursos estiverem listados, verifique se os endereços IP têm dependências OR, não AND. Em seguida, selecione OK.
Gorjeta
Você pode validar se as dependências estão configuradas corretamente. No Gerenciador de Cluster de Failover, vá para Funções, clique com o botão direito do mouse no grupo de disponibilidade, selecione Mais Ações e selecione Mostrar Relatório de Dependência. Quando as dependências estão configuradas corretamente, o grupo de disponibilidade depende do nome da rede e o nome da rede depende do endereço IP.
Defina os parâmetros do cluster no PowerShell:
a. Copie o seguinte script do PowerShell para 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 na rede e selecione Propriedades. O $ClusterNetworkName está em Nome na guia Geral.$IPResourceName
é o nome dado ao recurso Endereço IP no Gerenciador de Cluster de Failover. Isso é encontrado no Gerenciador de Cluster de Failover selecionando Funções, selecione o nome SQL Server AG ou 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. Poderá encontrar o valor correto em Nome no separador Geral.$ListenerILBIP
é o endereço IP que você criou no balanceador de carga do Azure para o ouvinte do grupo de disponibilidade. Encontre o $ListenerILBIP no Gerenciador de Cluster de Failover na mesma página de propriedades que o Nome do Recurso do Ouvinte AG/FCI do SQL Server.$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 utilizada é 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 do cluster executando o script do PowerShell em um dos nós do cluster.
Nota
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
$ListenerILBIP
valores e$ListenerProbePort
da primeira região. Na segunda vez, use os$ListenerILBIP
valores e$ListenerProbePort
da segunda região. O nome da rede do cluster e o nome do recurso IP do cluster também são diferentes para cada região.Coloque a função de cluster para o grupo de disponibilidade online. No 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:
Obtenha o nome do endereço IP do cluster de failover do Windows Server. No Gerenciador de Cluster de Failover, em Recursos Principais do Cluster, localize Nome do Servidor.
Clique com o botão direito do rato em Endereço IP e, em seguida, selecione Propriedades.
Copie o nome do endereço IP de Nome. Pode ser o Endereço IP do Cluster.
Defina os parâmetros do cluster no PowerShell:
a. Copie o seguinte script do PowerShell para 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. É diferente do endereço IP para o 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. É diferente da sonda para o 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 do cluster executando o script do PowerShell em um dos nós do cluster.
Se algum recurso SQL estiver configurado para usar uma porta entre 49152 e 65536 (o intervalo de portas dinâmicas padrão para 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
- Sonda de integridade para a instância de cluster de failover
- Ponto de extremidade de espelhamento de banco de dados
- Recurso IP principal do cluster
Adicionar 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 se as exclusões estão configuradas corretamente, use o seguinte comando: netsh int ipv4 show excludedportrange tcp
.
Aviso
A porta para a sonda de integridade do ouvinte do grupo de disponibilidade deve ser diferente da porta para a sonda de integridade do endereço IP principal do cluster. Nesses exemplos, a porta do ouvinte é 59999 e a porta da sonda de integridade do endereço IP do núcleo do cluster é 58888. Ambas as portas requerem uma regra de firewall "permitir entrada".
Definir a porta do ouvinte
No SQL Server Management Studio, defina a porta do ouvinte:
Abra o SQL Server Management Studio e conecte-se à réplica primária.
Vá para Grupos de disponibilidade de alta disponibilidade>Always On Ouvintes>do grupo de disponibilidade.
Clique com o botão direito do mouse no nome do ouvinte que você criou no Gerenciador de Cluster de Failover e selecione Propriedades.
Na caixa Porta, especifique o número da porta para o 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 Azure Resource Manager.
Testar a conexão com o ouvinte
Para testar a conexão:
Use o RDP para se conectar a uma VM do SQL Server que esteja na mesma rede virtual, mas não seja proprietária da réplica, como a outra réplica.
Use o utilitário sqlcmd para testar a conexão. Por exemplo, o script a seguir estabelece uma conexão sqlcmd com a réplica primária por meio do ouvinte usando 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 comando a seguir se conecta 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.
Gorjeta
Verifique se a porta especificada está aberta no firewall de ambas as VMs do SQL Server. Ambos os servidores requerem uma regra de entrada para a porta TCP que você usa. Para obter mais informações, consulte Adicionar ou editar regras de firewall.
Próximos passos
- Adicionar um endereço IP a um balanceador de carga para um segundo grupo de disponibilidade
- Configurar failover automático ou manual
Para saber mais, veja: