Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Este artigo descreve como criar ou configurar um ouvinte de grupo de disponibilidade único para um grupo de disponibilidade Always On , utilizando SQL Server Management Studio, Transact-SQL ou PowerShell no SQL Server.
Importante
Para criar o primeiro listener de um grupo de disponibilidade, recomendamos vivamente que utilize o SQL Server Management Studio, o Transact-SQL ou o SQL Server PowerShell. Evite criar um ouvinte diretamente no cluster WSFC, exceto quando necessário, por exemplo, para criar um ouvinte adicional.
Já existe algum ouvinte para este grupo de disponibilidade?
Para determinar se já existe um ouvinte para o grupo de disponibilidade
Observação
Se já existe um ouvinte e pretende criar um ouvinte adicional, veja criar um ouvinte adicional para um grupo de disponibilidade, mais adiante neste artigo.
Limitações e restrições
- Só pode criar um ouvinte por grupo de disponibilidade através do SQL Server. Normalmente, cada grupo de disponibilidade requer apenas um ouvinte. No entanto, alguns cenários de clientes requerem múltiplos ouvintes para um grupo de disponibilidade. Depois de criar um ouvinte através do SQL Server, pode usar o Windows PowerShell para clusters de failover ou o Gestor de Clusters de Failover WSFC para criar ouvintes adicionais. Para mais informações, consulte criar um ouvinte adicional para um grupo de disponibilidade, mais adiante neste artigo.
Recommendations
O uso de um endereço IP estático é recomendado, embora não obrigatório, para múltiplas configurações de sub-rede.
Pré-requisitos
Tens de estar ligado à instância do servidor que aloja a réplica principal.
Se estiver a configurar um ouvinte de grupo de disponibilidade em várias subredes e planeia usar endereços IP estáticos, precisa de obter o endereço IP estático de cada sub-rede que aloja uma réplica de disponibilidade para o grupo de disponibilidade para o qual está a criar o ouvinte. Normalmente, terá de pedir aos administradores de rede os endereços IP estáticos.
Importante
Antes de criar o seu primeiro ouvinte, recomendamos vivamente que leia Always On Client Connectivity.
Requisitos do nome DNS de um ouvinte do grupo de disponibilidade
Cada ouvinte de grupo de disponibilidade requer um nome de host DNS que seja único no domínio e no NetBIOS. O nome DNS é um valor de cadeia. Este nome pode conter apenas caracteres alfanuméricos, traços/hífenes (-) e sublinhados (_), em qualquer ordem. Os nomes de host DNS não diferenciam maiúsculas de minúsculas. O comprimento máximo é de 63 caracteres, no entanto, no SQL Server Management Studio, o comprimento máximo que pode especificar é de 15 caracteres.
Recomendamos que você especifique uma cadeia de caracteres significativa. Por exemplo, para um grupo de disponibilidade chamado AG1, um nome de host DNS significativo seria ag1-listener.
Importante
NetBIOS reconhece apenas os primeiros 15 caracteres no dns_name. Se tiver dois clusters WSFC controlados pelo mesmo Active Directory e tentar criar ouvintes de grupos de disponibilidade em ambos os clusters usando nomes com mais de 15 caracteres e um prefixo idêntico de 15 caracteres, receberá um erro a informar que o recurso de Nome da Rede Virtual não pôde ser ativado. Para informações sobre regras de nomeação de prefixos para nomes DNS, veja Atribuição de nomes de domínio.aspx).
Permissões do Windows
| Permissions | Link |
|---|---|
| O objeto nome do cluster (CNO) do cluster WSFC que está a hospedar o grupo de disponibilidade deve ter permissão Criar objetos de Computador . No Active Directory, um CNO por defeito não tem permissão explicita para Criar objetos de Computador e pode criar 10 objetos virtuais de computador (VCOs). Após a criação de 10 VCOs, a criação de VCOs adicionais falhará. Pode evitar isto concedendo explicitamente a permissão ao CNO do cluster WSFC. VCOs para grupos de disponibilidade que eliminaste não são eliminados automaticamente no Active Directory e contam para o limite padrão de 10 VCOs, a menos que sejam eliminados manualmente. Nota: Em algumas organizações, a política de segurança proíbe conceder permissão Criar objetos de Computador a contas individuais de utilizador. |
Passos para configurar a conta da pessoa que instala o cluster no Guia Passo a Passo do Cluster de Failover: Configurar Contas no Active Directory Passos para preconfigurar a conta do nome do cluster no Guia Passo a Passo do Cluster de Failover: Configuração de Contas no Active Directory |
| Se a sua organização exigir que prepare antecipadamente a conta do computador para um nome de rede virtual do ouvinte, precisará de ser membro do grupo de Operadores de Conta ou a assistência do administrador do seu domínio. | Passos para pré-preparar uma conta para um serviço ou aplicação clusterizado no Guia passo a passo do Cluster de Failover: Configuração de Contas no Active Directory. |
Sugestão
Geralmente, é mais simples não pré-provisionar a conta de computador para o nome de rede virtual de escuta. Se puder, deixe que a conta seja criada e configurada automaticamente quando executar o assistente de Alta Disponibilidade do WSFC.
Permissões do SQL Server
| Tarefa | Permissions |
|---|---|
| Criar um ouvinte de grupo de disponibilidade | Requer associação à 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. |
| Modificar um ouvinte de grupo de disponibilidade existente | É necessário ter 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. |
Cria um ouvinte
Pode criar um ouvinte usando SQL Server Management Studio (SSMS), Transact-SQL ou PowerShell.
Sugestão
Use o assistente do grupo de disponibilidade para criar um Ouvinte do Grupo de Disponibilidade.
Para criar ou configurar um ouvinte de grupo de disponibilidade no SSMS, siga estes passos:
No Object Explorer, ligue-se à instância do servidor que hospeda a réplica principal do grupo de disponibilidade e selecione o nome do servidor para expandir a árvore do servidor.
Expanda o nó Sempre Ligado de Alta Disponibilidade e o nó dos grupos de disponibilidade.
Selecione o grupo de disponibilidade cuyo *listener* pretende configurar e escolha uma das seguintes alternativas:
Para criar um Listener, clique com o botão direito no nó Listeners do Grupo de Disponibilidade e selecione o comando Novo Listener. Isto abre a caixa de diálogo Listener do novo grupo de disponibilidade. Para mais informações, consulte Adicionar disponibilidade de grupo Ouvinte (Caixa de Diálogo), mais adiante neste artigo.
Para alterar o número de porta de um ouvinte existente, expanda o nó Ouvintes do grupo de Disponibilidade, clique com o botão direito no ouvinte e selecione o comando Propriedades. Introduza o novo número de porta no campo Porta e selecione OK.
Novo Ouvinte do Grupo de Disponibilidade (Caixa de Diálogo)
Nome DNS do ouvinte
Especifica o nome do host DNS do ouvinte do grupo de disponibilidade. O nome DNS é uma string que deve ser única no domínio e no NetBIOS. Este nome pode conter apenas caracteres alfanuméricos, traços (-) e hífenes (_), em qualquer ordem. Os nomes de host DNS não diferenciam maiúsculas de minúsculas. O comprimento máximo é de 15 caracteres.
Para mais informações, consulte Requisitos para o Nome DNS de um Listener de grupo de disponibilidade, anteriormente neste artigo.
Porto
A porta TCP usada por este ouvinte.
Modo de Rede
Indica o protocolo TCP utilizado pelo ouvinte, sendo um dos seguintes:
DHCP
O ouvinte usará um endereço IP dinâmico atribuído por um servidor que executa o Protocolo de Configuração Dinâmica de Host (DHCP). O DHCP está limitado a uma única sub-rede.
Importante
Não recomendamos DHCP em ambientes de produção. Se houver um tempo de inatividade e o arrendamento IP DHCP expirar, será necessário tempo extra para registar o novo endereço IP de rede DHCP associado ao nome DNS do escutador, o que poderá afetar a conectividade do cliente. No entanto, o DHCP é bom para configurar seu ambiente de desenvolvimento e teste para verificar 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. Endereços IP adicionais são opcionais. Para criar um ouvinte de grupo de disponibilidade em múltiplas sub-redes, para cada sub-rede deve especificar um endereço IP estático na configuração do ouvinte. Contacte o seu administrador de rede para obter estes endereços IP estáticos.
Se selecionar IP estático , uma grelha de sub-rede aparece abaixo do campo Modo de Rede . Esta grelha mostra informações sobre cada sub-rede que pode ser acedida por este ouvinte de grupo de disponibilidade. Esta grelha fica vazia até adicionar um endereço IP estático ao selecionar Adicionar.
As colunas são as seguintes:
Subnet
Mostra o identificador de cada sub-rede que adiciona ao ouvinte do grupo de disponibilidade.
Endereço IP
Mostra o endereço IP de uma determinada subrede. Para uma dada subrede, o endereço IP é ou um endereço IPv4 ou um endereço IPv6.
Add
Selecione adicionar um endereço IP estático a uma sub-rede selecionada ou a outra sub-rede para este ouvinte. Isto abre a caixa de diálogo Adicionar Endereço IP . Para mais informações, consulte o artigo de ajuda da caixa de diálogo Adicionar endereço IP.
Remove
Selecione para remover a sub-rede selecionada deste ouvinte.
OK
Selecione para criar o ouvinte do grupo de disponibilidade especificado.
Solução de problemas
Falha em criar um ouvinte de grupo de disponibilidade devido às quotas do Active Directory
A criação de um novo ouvinte de grupo de disponibilidade pode falhar aquando da criação porque atingiu uma quota do Active Directory para a conta participante da máquina de nós do cluster. Para mais informações, consulte Como resolver problemas na conta do serviço do cluster quando esta modifica objetos do computador
Seguimento: Após criar um ouvinte de grupo de disponibilidade
Palavra-chave MultiSubnetFailover e funcionalidades relacionadas
MultiSubnetFailover é uma nova palavra-chave de string de ligação usada para permitir um failover mais rápido com grupos de disponibilidade Always On e Instâncias de Clusters de Failover Always On no SQL Server 2012. As seguintes três subcaracterísticas são ativadas quando MultiSubnetFailover=True está definida na cadeia de ligação:
Failover mais rápido para um ouvinte multi-subnet num grupo de disponibilidade Always On ou Instâncias de Cluster de Failover.
Failover mais rápido de uma única subrede para um listener de subrede único em um grupo de disponibilidade Always On ou em Instâncias de Cluster de Failover.
- Esse recurso é usado ao se conectar a um ouvinte que tem um único IP em uma única sub-rede. Isso executa novas tentativas de conexão TCP mais agressivas para acelerar failovers de sub-rede única.
Resolução de instância nomeada para uma instância de cluster de failover Always On de várias sub-redes.
- Adicionar suporte à resolução de instâncias nomeadas para Always On Failover Cluster Instances com múltiplos endpoints de sub-rede.
MultiSubnetFailover=True não é suportado pelo .NET Framework 3.5 ou pelo OLEDB
Questão: Se o seu grupo de disponibilidade ou Instância de Cluster de Failover tiver um nome de ouvinte (conhecido como nome de rede ou Ponto de Acesso Cliente no Gestor de Cluster WSFC) dependendo de múltiplos endereços IP de diferentes sub-redes, e estiver a usar qualquer ADO.NET com .NET Framework 3.5SP1 ou SQL Native Client 11.0 OLEDB, potencialmente 50% dos seus pedidos de ligação ao ouvinte do grupo de disponibilidade vão atingir um timeout de ligação.
Soluções alternativas: Recomendamos que você execute uma das seguintes tarefas.
Se não tiver permissão para manipular recursos do cluster, altere o seu timeout de ligação para 30 segundos (este valor resulta num período de timeout TCP de 20 segundos mais um buffer de 10 segundos).
Pros: Se ocorrer um failover entre sub-redes, o tempo de recuperação do cliente será curto.
Contras: Metade das ligações dos clientes demora mais de 20 segundos
Se tiver permissão para manipular recursos do cluster, a abordagem mais recomendada é definir o nome da rede do ouvinte do seu grupo de disponibilidade para
RegisterAllProvidersIP=0. Para mais informações, consulte "RegisterAllProvidersIP Setting" mais adiante nesta secção.Prós: Você não precisa aumentar o valor do tempo limite de conexão do cliente.
Contras: Se ocorrer um failover entre sub-redes, o tempo de recuperação do cliente pode ser de 15 minutos ou mais, dependendo da sua configuração HostRecordTTL e da configuração do seu cronograma de replicação DNS/AD entre sites.
RegisterAllProvidersIP configuração
Quando utiliza o SQL Server Management Studio, Transact-SQL ou PowerShell para criar um listener de grupo de disponibilidade, o Client Access Point é criado no WSFC com a propriedade RegisterAllProvidersIP definida para 1 (true). O efeito deste valor de propriedade depende da cadeia de ligação do cliente, da seguinte forma:
Cadeias de ligação que definem MultiSubnetFailover como verdadeiro
Os grupos de disponibilidade Always On definem a propriedade RegisterAllProvidersIP para 1 para reduzir o tempo de reconexão após um failover para clientes cujas cadeias de ligação de cliente especificam
MultiSubnetFailover = True, conforme recomendado. Para aproveitar a funcionalidade de multi-subnet do ouvinte, os seus clientes podem necessitar de um fornecedor de dados que suporte a palavra-chave MultiSubnetFailover. Para informações sobre o suporte de drivers para failover sub-redes múltiplas, consulte Conectividade Sempre Ativa do Cliente.Para obter informações sobre clustering multi-sub-redes, consulte SQL Server Multi-Subnet Clustering.
Sugestão
Quando
RegisterAllProvidersIP = 1, se executar o assistente WSFC Validar uma Configuração no cluster WSFC, o assistente gera a seguinte mensagem de aviso:"A propriedade RegisterAllProviderIP para o nome da rede 'Name:<network_name>' está definida como 1. Para a configuração atual do cluster, este valor deve ser definido como 0."
Por favor, ignore esta mensagem.
Strings de ligação que não definem MultiSubnetFailover para verdadeiro
Quando
RegisterAllProvidersIP = 1, quaisquer clientes cujas cadeias de ligação não utilizamMultiSubnetFailover = True, vão experienciar ligações de alta latência. Isto acontece porque estes clientes tentam ligar a todos os IPs sequencialmente. Em contraste, se o RegisterAllProvidersIP for alterado para 0, o endereço IP ativo é registado no Ponto de Acesso do Cliente no cluster WSFC, reduzindo a latência para clientes legados. Portanto, se tiver clientes legados que precisam de se ligar a um ouvinte do grupo de disponibilidade e não possam usar a propriedade MultiSubnetFailover, recomendamos que altere RegisterAllProvidersIP para 0.Importante
Quando crias um ouvinte de grupo de disponibilidade através do cluster WSFC (interface gráfica do Gestor de Clusters de Failover), o RegisterAllProvidersIP será 0 (falso) por defeito.
Configuração HostRecordTTL
Por padrão, os clientes armazenam em cache os registros DNS do cluster por 20 minutos. Ao reduzir o HostRecordTTL, o Time to Live (TTL), para o registo em cache, os clientes antigos podem reconectar-se mais rapidamente. No entanto, reduzir a definição HostRecordTTL pode também resultar num aumento do tráfego para os servidores DNS.
Exemplo de script PowerShell para desativar o RegisterAllProvidersIP e reduzir o TTL
O exemplo seguinte do PowerShell demonstra como configurar tanto os parâmetros do cluster RegisterAllProvidersIP como do HostRecordTTL para o recurso do ouvinte. O registo DNS é armazenado em cache durante 5 minutos em vez dos 20 minutos padrão. Modificar os dois parâmetros do cluster pode reduzir o tempo necessário para conectar ao endereço IP correto após um failover, para clientes legados que não conseguem utilizar o parâmetro MultiSubnetFailover. Substitui yourListenerName pelo nome do ouvinte que estás a mudar.
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 mais informações sobre os tempos de recuperação durante o failover, consulte Latência de Recuperação do Cliente durante o Failover.
Recomendações de seguimento
Depois de 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.
Forneça o nome de host DNS do ouvinte aos desenvolvedores de aplicativos para usar em cadeias de conexão ao solicitar conexões de cliente para esse grupo de disponibilidade.
Incentive os programadores a atualizarem as strings de ligação do cliente para especificar
MultiSubnetFailover = True, se possível. Para informações sobre o suporte de drivers para failover de múltiplas sub-redes, consulte Always On Client Connectivity.
Crie um ouvinte adicional para um grupo de disponibilidade (opcional)
Depois de criar um ouvinte através do SQL Server, pode adicionar um ouvinte adicional, da seguinte forma:
Crie o ouvinte usando uma das seguintes ferramentas:
Utilização do Gestor de Cluster de Failover WSFC:
Adicione um ponto de acesso ao cliente e configure o endereço IP.
Coloque o ouvinte online.
Adicione uma dependência ao recurso do grupo de disponibilidade do WSFC.
Para informações sobre as caixas de diálogo e separadores do Gestor de Clusters de Failover, consulte Interface de Utilizador: O Snap-In do Gestor de Clusters de Failover.
Usar o Windows PowerShell para clusters de failover:
Use Add-ClusterResource para criar um nome de rede e os recursos de endereço IP.
Use Start-ClusterResource para iniciar o recurso de nome da rede.
Use Add-ClusterResourceDependency para definir a dependência entre o nome da rede e o recurso existente do grupo de disponibilidade do SQL Server.
Para informações sobre o uso do Windows PowerShell para clusters de failover, consulte Visão Geral dos Comandos do Gestor de Servidores.
Inicie a escuta do SQL Server no novo ouvinte. Depois de criar o ouvinte adicional, ligue-se à 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 mais informações, veja Como criar múltiplos ouvintes para o mesmo grupo de disponibilidade (um blogue da equipa SQL Server Always On).