Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
Este tópico descreve como criar ou configurar um único ouvinte do grupo de disponibilidade para um Grupo de Disponibilidade Always On usando o SQL Server Management Studio, o Transact-SQL ou o PowerShell no SQL Server.
Importante
Para criar o primeiro ouvinte de um grupo de disponibilidade, é altamente recomendável usar o SQL Server Management Studio, Transact-SQL ou SQL Server PowerShell. Evite criar um ouvinte diretamente no cluster WSFC, exceto se necessário, por exemplo, para criar um ouvinte adicional.
Já existe um ouvinte para esse grupo de disponibilidade?
Para determinar se um ouvinte já existe para o grupo de disponibilidade
Observação
Se já houver um ouvinte e você quiser criar um ouvinte adicional, consulte Criar um ouvinte adicional para um grupo de disponibilidade, posteriormente neste artigo.
Limitações e restrições
- Só é possível criar um ouvinte por grupo de disponibilidade via SQL Server. Geralmente, cada grupo de disponibilidade exige somente um ouvinte. No entanto, alguns cenários de cliente exigem vários ouvintes para um grupo de disponibilidade. Depois de criar um ouvinte pelo SQL Server, você pode usar o Windows PowerShell para clusters de failover ou o Gerenciador de Cluster de Failover do WSFC para criar ouvintes adicionais. Para obter mais informações, consulte Criar um ouvinte adicional para um grupo de disponibilidade, posteriormente neste artigo.
Recomendações
O uso de um endereço IP estático é recomendável, embora não obrigatório, para várias configurações de sub-rede.
Pré-requisitos
Você deve estar conectado à instância do servidor que hospeda a réplica primária.
Se você estiver configurando um listener de grupo de disponibilidade em várias sub-redes e planeja usar endereços IP estáticos, precisará obter o endereço IP estático de cada sub-rede que hospeda uma réplica de disponibilidade do grupo de disponibilidade para o qual está criando o listener. Normalmente, você precisará solicitar os endereços IP estáticos aos administradores de rede.
Importante
Antes de criar seu primeiro ouvinte, é altamente recomendável ler Conectividade de cliente Always On.
Requisitos do nome DNS de um ouvinte de grupo de disponibilidade
Cada listener de grupo de disponibilidade deve ter um nome de host DNS que seja exclusivo no domínio e no NetBIOS. O nome DNS é um valor da cadeia de caracteres. Este nome pode conter somente caracteres alfanuméricos, traços/hifens (-) e sublinhados (_), em qualquer ordem. Os nomes de host DNS não diferenciam maiúsculas de minúsculas. O comprimento máximo é 63 caracteres; no entanto, no SQL Server Management Studio, o comprimento máximo que você pode especificar é 15 caracteres.
Nós recomendamos que você especifique uma cadeia de caracteres significativa. Por exemplo, para um grupo de disponibilidade denominado AG1, um nome de host de DNS significativo seria ag1-listener.
Importante
O NetBIOS reconhece somente os primeiros 15 caracteres no dns_name. Se você tiver dois clusters do WSFC que sejam controlados pelo mesmo Active Directory e tentar criar ouvintes de grupo de disponibilidade nos dois clusters usando nomes com mais de 15 caracteres e um prefixo idêntico de 15 caracteres, você obterá um erro relatando que o recurso Nome de Rede virtual não pôde ser colocado online. Para obter informações sobre regras de nomenclatura de prefixos para nomes DNS, consulte Atribuindo nomes de domínio.
Permissões do Windows
| Permissões | Link |
|---|---|
| O CNO (nome do objeto de cluster) do cluster WSFC que está hospedando o grupo de disponibilidade deve ter a permissão para Criar objetos de computador. No Active Directory, por padrão, um CNO não tem a permissão Criar Objetos de computador explicitamente e pode criar 10 VCOs (objetos de computador virtuais). Depois que 10 VCOs forem criados, a criação de VCOs adicionais falhará. É possível impedir isso concedendo a permissão explicitamente ao CNO do cluster WSFC. Os VCOs de grupos de disponibilidade que você excluiu não são excluídos automaticamente no Active Directory e contam para o seu limite padrão de 10 VCOs, a menos que sejam excluídos manualmente. Observação: em algumas organizações, a política de segurança proíbe a concessão da permissão Criar Objetos de computador a contas de usuário individuais. |
Steps for configuring the account for the person who installs the cluster (Etapas para configurar a conta para a pessoa que instala o cluster) no Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory Etapas para configurar a conta para a pessoa que instala o cluster no Guia passo a passo do cluster de failover: configurando contas no Active Directory |
| Se sua organização exigir que você pré-configure a conta de computador para um nome de rede virtual de ouvinte, você precisará da subscrição no grupo Operador de Conta ou da assistência de seu administrador de domínio. | Etapas para pré-preparar uma conta para um serviço ou aplicativo clusterizado no Guia passo a passo do cluster de failover: configurando contas no Active Directory. |
Dica
Geralmente, é mais simples não pré-preparar a conta de computador para um nome de rede virtual de ouvinte. Se possível, deixe a conta ser criada e configurada automaticamente ao executar o Assistente de Alta Disponibilidade do WSFC.
Permissões do SQL Server
| Tarefa | Permissões |
|---|---|
| Para criar um ouvinte de grupo de disponibilidade | Requer associação na função de servidor fixa sysadmin e uma das seguintes permissões: permissão de servidor CREATE AVAILABILITY GROUP, permissão ALTER ANY AVAILABILITY GROUP ou permissão CONTROL SERVER. |
| Para modificar um ouvinte de grupo de disponibilidade existente | Requer permissão ALTER AVAILABILITY GROUP no grupo de disponibilidade, permissão CONTROL AVAILABILITY GROUP, permissão ALTER ANY AVAILABILITY GROUP ou permissão CONTROL SERVER. |
Criar um ouvinte
Você pode criar um ouvinte usando o SQL Server Management Studio (SSMS), o Transact-SQL ou o PowerShell.
Dica
Use o Assistente de Grupo de Disponibilidade para criar um ouvinte de grupo de disponibilidade.
Para criar ou configurar um ouvinte do grupo de disponibilidade no SSMS, siga estas etapas:
No Pesquisador de Objetos, conecte-se à instância do servidor que hospeda a réplica primária do grupo de disponibilidade e selecione o nome do servidor para expandir a árvore de servidores.
Expanda os nós Alta Disponibilidade Always On e grupos de disponibilidade.
Clique no grupo de disponibilidade cujo ouvinte você deseja configurar e escolha uma das alternativas a seguir:
Para criar um ouvinte, clique com o botão direito do mouse no nó Ouvintes do Grupo de Disponibilidade e selecione o comando Novo Ouvinte . Isso abre a caixa de diálogo Novo Ouvinte do grupo de disponibilidade. Para obter mais informações, consulte Adicionar ouvinte ao grupo de disponibilidade (caixa de diálogo), mais adiante neste artigo.
Para alterar o número da porta de um ouvinte existente, expanda o nó Ouvintes do Grupo de Disponibilidade , clique com o botão direito do mouse no ouvinte e selecione o comando Propriedades . Digite o novo número da porta no campo Porta e clique em OK.
Novo Ouvinte do grupo de disponibilidade (caixa de diálogo)
Nome DNS do Ouvinte
Especifica o nome de host DNS do ouvinte de grupo de disponibilidade. O nome DNS é uma cadeia de caracteres e deve ser exclusivo no domínio e no NetBIOS. Este nome pode conter somente caracteres alfanuméricos, traços (-) e hífens (_), em qualquer ordem. Os nomes de host DNS não diferenciam maiúsculas de minúsculas. O tamanho máximo é de 15 caracteres.
Para obter mais informações, consulte Requisitos para o nome DNS de um ouvinte do grupo de disponibilidade, anteriormente neste artigo.
Porta
A porta TCP usada pelo ouvinte.
Modo de Rede
Indica o protocolo TCP usado pelo ouvinte, pode ser:
DHCP
O ouvinte usará um endereço IP dinâmico que é atribuído por um servidor que executa o Protocolo DHCP. O DHCP está limitado a uma única sub-rede.
Importante
Nós não recomendamos o DHCP em ambiente de produção. Se houver tempo de inatividade e a concessão de IP do DHCP expirar, será necessário mais tempo para registrar o novo endereço IP de rede DHCP associado ao nome DNS do listener, o que afeta a conectividade do cliente. No entanto, o DHCP é bom para configurar seu ambiente de desenvolvimento e teste para verificar as funções básicas de grupos de disponibilidade e para integração com seus aplicativos.
IP Estático
O ouvinte usará um ou mais endereços IP estáticos. Os endereços IP adicional são opcionais. Para criar um ouvinte do grupo de disponibilidade em várias sub-redes, você deve especificar para cada sub-rede um endereço IP estático na configuração do ouvinte. Entre em contato com seu administrador de rede para obter esses endereços IP estáticos.
Se você selecionar IP Estático , uma grade de sub-rede será exibida abaixo do campo Modo de Rede . Essa grade exibe informações sobre cada sub-rede que pode ser acessada por este ouvinte de grupo de disponibilidade. Essa grade estará vazia até que você adicione um endereço IP estático clicando em Adicionar.
As colunas são apresentadas assim:
Sub-rede
Exibe o identificador de cada sub-rede que você adiciona ao listener do grupo de disponibilidade.
Endereço IP
Exibe o endereço IP de uma determinada sub-rede. Para uma determinada sub-rede, o endereço IP é um endereço IPv4 ou um endereço IPv6.
Adicionar
Clique para adicionar um endereço IP estático a uma sub-rede selecionada ou a outra sub-rede para esse ouvinte. Essa ação abre a caixa de diálogo Adicionar Endereço IP . Para mais informações, consulte o artigo de ajuda Adicionar endereço IP da caixa de diálogo.
Remove
Clique para remover a sub-rede selecionada desse ouvinte.
OK
Selecione para criar o ouvinte do grupo de disponibilidade especificado.
Solução de problemas
Falha ao criar um ouvinte de grupo de disponibilidade devido a cotas do Active Directory
Pode haver falha na criação de um novo ouvinte de grupo de disponibilidade porque você atingiu uma cota do Active Directory para a conta da máquina do nó de cluster participante. Para saber mais, veja Como solucionar problemas da conta do serviço de cluster quando ela modifica objetos de computador
Acompanhamento: após criar um ouvinte do grupo de disponibilidade
A palavra-chave MultiSubnetFailover e os recursos associados
MultiSubnetFailover é uma nova palavra-chave da cadeia de conexão usada para habilitar failover mais rápido com os grupos de disponibilidade AlwaysOn e Instâncias de cluster de failover AlwaysOn no SQL Server 2012. Os três sub-recursos a seguir são habilitados quando MultiSubnetFailover=True está definido na cadeia de conexão:
Um failover de várias sub-redes mais rápido para um ouvinte de várias sub-redes para um grupo de disponibilidade AlwaysOn ou instâncias de cluster de failover.
Um failover de sub-rede única mais rápido para um ouvinte de sub-rede única para um grupo de disponibilidade AlwaysOn ou para instâncias de cluster de failover.
- Esse recurso é usado ao conectar-se a um ouvinte que tem um IP único em uma única sub-rede. Isso realiza tentativas de conexão de TCP mais agressivas para acelerar os failovers de sub-rede única.
A resolução de instância nomeada para uma instância de cluster de failover AlwaysOn de várias sub-redes.
- Isso serve para adicionar o suporte à resolução de instância nomeada a uma instância de cluster de failover AlwaysOn com vários pontos de extremidade de sub-rede.
Não há suporte para MultiSubnetFailover=True pelo .NET Framework 3.5 ou OLEDB
Problema: Se o seu grupo de disponibilidade ou a Instância de Cluster de Failover tiver um nome do listener (conhecido como nome de rede ou Ponto de Acesso do Cliente no Gerenciador de Cluster do WSFC) que depende de vários endereços IP de sub-redes distintas, e você estiver usando ADO.NET com .NET Framework 3.5SP1 ou SQL Native Client 11.0 OLEDB, potencialmente 50% das suas solicitações de conexão de clientes ao listener do grupo de disponibilidade resultarão em tempo limite de conexão.
Soluções alternativas: é recomendável que você execute uma das tarefas a seguir.
Se você não tiver a permissão para manipular recursos de cluster, altere o tempo limite de conexão para 30 segundos (esse valor resulta em um período de tempo limite TCP de 20 segundos mais um buffer de 10 segundos).
Vantagens: se ocorrer um failover entre sub-redes diferentes, o tempo de recuperação do cliente será curto.
Contras: metade das conexões de cliente demorarão mais de 20 segundos
Se você tiver permissão para manipular os recursos de cluster, a abordagem mais recomendada é definir o nome de rede do ouvinte do grupo de disponibilidade como
RegisterAllProvidersIP=0. Para obter mais informações, confira "Configuração de RegisterAllProvidersIP", mais adiante nesta seção.Vantagens: Você não precisa aumentar o valor do tempo limite da conexão do cliente.
Contras: Se ocorrer um failover entre sub-redes, o tempo de recuperação do cliente poderá ser de 15 minutos ou mais, dependendo da configuração de HostRecordTTL e do agendamento da replicação DNS/AD entre sites.
Configuração RegisterAllProvidersIP
Quando você usa o SQL Server Management Studio, Transact-SQL ou PowerShell para criar um ouvinte de grupo de disponibilidade, o Ponto de Acesso para Cliente é criado no WSFC com a propriedade RegisterAllProvidersIP definida como 1 (true). O efeito de esse valor de propriedade depende da cadeia de conexão do cliente, da seguinte maneira:
Cadeias de conexão que definem MultiSubnetFailover como true
Os grupos de disponibilidade Always On definem a propriedade RegisterAllProvidersIP como 1 para reduzir o tempo de reconexão após um failover para clientes cujas cadeias de conexão do cliente especificam
MultiSubnetFailover = True, conforme recomendado. Para aproveitar o recurso de múltiplas sub-redes do listener, seus clientes podem precisar de um provedor de dados que ofereça suporte à palavra-chave MultiSubnetFailover. Para obter informações sobre o suporte do driver para failover de várias sub-redes, confira Conectividade de cliente Always On.Para obter informações sobre multi-subnet clustering, consulte SQL Server Multi-Subnet Clustering.
Dica
Quando
RegisterAllProvidersIP = 1, se você executar o Assistente para Validar Configuração do WSFC no cluster WSFC, o assistente gerará a seguinte mensagem de aviso:“A propriedade RegisterAllProviderIP para nome de rede 'Name:<network_name>' é definida como 1. Para a configuração do cluster atual, esse valor deve ser definido como 0”.
Ignore esta mensagem.
Cadeias de conexão que não definem MultiSubnetFailover como true
Quando
RegisterAllProvidersIP = 1, quaisquer clientes cujas cadeias de conexão não usemMultiSubnetFailover = Trueencontrarão conexões de alta latência. Isso ocorre porque esses clientes tentam conexões com todos os IPs em sequência. Em contrapartida, se RegisterAllProvidersIP for alterado para 0, o endereço IP ativo será registrado no Ponto de Acesso para Cliente no cluster WSFC, reduzindo a latência para clientes herdados. Portanto, se você tem clientes legados que precisam se conectar ao listener de um grupo de disponibilidade e não podem usar a propriedade MultiSubnetFailover, recomendamos que você altere RegisterAllProvidersIP para 0.Importante
Quando você cria um ouvinte do grupo de disponibilidade no cluster WSFC (GUI do Gerenciador de Cluster de Failover), RegisterAllProvidersIP será 0 (false) por padrão.
Configuração de HostRecordTTL
Por padrão, os clientes armazenam em cache registros DNS do cluster por 20 minutos. Ao reduzir HostRecordTTL, o Time to Live (TTL) do registro em cache, os clientes legados podem se reconectar mais rapidamente. No entanto, a redução do valor de HostRecordTTL também pode resultar em maior tráfego para os servidores DNS.
Exemplo de script PowerShell para desabilitar RegisterAllProvidersIP e reduzir a TTL
O exemplo do PowerShell a seguir demonstra como configurar os parâmetros de cluster RegisterAllProvidersIP e HostRecordTTL para o recurso de ouvinte. O registro DNS será armazenado em cache por 5 minutos, e não pelo padrão de 20 minutos. Modificar ambos os parâmetros do cluster pode reduzir o tempo necessário para se conectar ao endereço IP correto após um failover para clientes legados que não podem usar o parâmetro MultiSubnetFailover. Substitua yourListenerName pelo nome do ouvinte que você está alterando.
Import-Module FailoverClusters
Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource yourListenerName | Set-ClusterParameter HostRecordTTL 300
Stop-ClusterResource yourListenerName
Start-ClusterResource yourListenerName
Start-Clustergroup yourListenerGroupName
Para obter mais informações sobre os tempos de recuperação durante o failover, consulte Client Recovery Latency During Failover.
Recomendações de acompanhamento
Após criar um ouvinte de grupo de disponibilidade:
Peça ao administrador da rede para reservar o endereço IP do ouvinte para seu uso exclusivo.
Informe o nome do host DNS do ouvinte aos desenvolvedores de aplicativos para uso em cadeias de conexão ao pedir conexões cliente com esse grupo de disponibilidade.
Incentive os desenvolvedores a atualizarem cadeias de conexão do cliente para especificar
MultiSubnetFailover = True, se possível. Para obter informações sobre o suporte do driver para failover de várias sub-redes, confira Conectividade de cliente Always On.
Criar um ouvinte adicional para um grupo de disponibilidade (opcional)
Depois de criar um ouvinte pelo SQL Server, você poderá adicionar um ouvinte adicional, da seguinte maneira:
Crie o ouvinte usando uma das ferramentas a seguir:
Usando o Gerenciador de Cluster de Failover do WSFC:
Adicione um ponto de acesso para cliente e configure o endereço IP.
Faça o ouvinte ficar online.
Adicione uma dependência ao recurso do grupo de disponibilidade do WSFC.
Para obter informações sobre as caixas de diálogo e guias do Gerenciador de Cluster de Failover, consulte Interface do usuário: o snap-in gerenciador de cluster de failover.
Usando o Windows PowerShell para clusters de failover:
Use Add-ClusterResource para criar um nome de rede e os recursos do endereço IP.
Use Start-ClusterResource para iniciar o recurso de nome de rede.
Use Add-ClusterResourceDependency para definir a dependência entre o nome da rede e o recurso do Grupo de Disponibilidade do SQL Server existente.
Para obter informações sobre como usar o Windows PowerShell para clusters de failover, consulte Visão geral de comandos do gerenciador de servidor.
Inicie a escuta do SQL Server no novo ouvinte. Após criar um ouvinte adicional, conecte a instância do SQL Server que hospeda a réplica principal do grupo de disponibilidade e use SQL Server Management Studio, Transact-SQL ou PowerShell para modificar a porta do ouvinte.
Para obter mais informações, consulte How to create multiple listeners for same availability group (Como criar vários ouvintes para o mesmo grupo de disponibilidade) (um blog da equipe do SQL Server AlwaysOn).