Configurar um ouvinte para um grupo de disponibilidade Always OnConfigure a listener for an Always On availability group

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Este tópico descreve como criar ou configurar um único ouvinte de grupo de disponibilidade para um Grupo de Disponibilidade AlwaysOn usando o SQL Server Management StudioSQL Server Management Studio, o Transact-SQLTransact-SQLou o PowerShell no SQL ServerSQL Server.This topic describes how to create or configure a single availability group listener for an Always On availability group by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell in SQL ServerSQL Server.

Importante

Para criar o primeiro ouvinte do grupo de disponibilidade de um grupo de disponibilidade, é altamente recomendável usar o SQL Server Management StudioSQL Server Management Studio, o Transact-SQLTransact-SQL ou o SQL ServerSQL Server PowerShell.To create the first availability group listener of an availability group, we strongly recommend that you use SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or SQL ServerSQL Server PowerShell. Evite criar um ouvinte diretamente no cluster WSFC, exceto se necessário, por exemplo, para criar um ouvinte adicional.Avoid creating a listener directly in the WSFC cluster except when necessary, for example, to create an additional listener.

Já existe um ouvinte para esse grupo de disponibilidade?Does a Listener Exist for this Availability Group Already?

Para determinar se um ouvinte já existe para o grupo de disponibilidadeTo determine whether a listener already exists for the availability group

Observação

Se já houver um ouvinte e você desejar criar um ouvinte adicional, consulte Para criar um ouvinte adicional para um grupo de disponibilidade (opcional)posteriormente neste tópico.If a listener already exists and you want to create an additional listener, see To Create An Additional Listener for an Availability Group (Optional), later in this topic.

Limitações e restriçõesLimitations and Restrictions

  • Só é possível criar um ouvinte por grupo de disponibilidade via SQL ServerSQL Server.You can create only one listener per availability group through SQL ServerSQL Server. Geralmente, cada grupo de disponibilidade exige somente um ouvinte.Typically, each availability group requires only one listener. No entanto, alguns cenários de cliente exigem vários ouvintes para um grupo de disponibilidade.However, some customer scenarios require multiple listeners for one availability group. 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.After creating a listener through SQL Server, you can use Windows PowerShell for failover clusters or the WSFC Failover Cluster Manager to create additional listeners. Para obter mais informações, consulte Para criar um ouvinte adicional para um grupo de disponibilidade (opcional), posteriormente neste tópico.For more information, see To Create An Additional Listener for an Availability Group (Optional), later in this topic.

RecomendaçõesRecommendations

O uso de um endereço IP estático é recomendável, embora não obrigatório, para várias configurações de sub-rede.Using a static IP address is recommended, although not required, for multiple subnet configurations.

Pré-requisitosPrerequisites

  • Você deve estar conectado à instância do servidor que hospeda a réplica primária.You must be connected to the server instance that hosts the primary replica.

  • Se estiver configurando um ouvinte de grupo de disponibilidade em várias sub-redes e estiver planejando usar endereços IP estáticos, você precisará obter os endereços IP estáticos de cada sub-rede que hospeda uma réplica de disponibilidade para o grupo de disponibilidade para o qual está criando o ouvinte.If you are setting up an availability group listener across multiple subnets and plan to use static IP addresses, you need to get the static IP address of every subnet that hosts an availability replica for the availability group for which you are creating the listener. Normalmente, você precisará solicitar os endereços IP estáticos aos administradores de rede.Usually, you will need to ask your network administrators for the static IP addresses.

Importante

Antes de criar seu primeiro ouvinte, é altamente recomendável ler Conectividade de cliente AlwaysOn (SQL Server).Before you create your first listener, we strongly recommend that you read Always On Client Connectivity (SQL Server).

Requisitos para o nome DNS de um ouvinte de grupo de disponibilidadeRequirements for the DNS Name of an Availability Group Listener

Cada ouvinte de grupo de disponibilidade exige um nome de host DNS que é exclusivo no domínio e no NetBIOS.Each availability group listener requires a DNS host name that is unique in the domain and in NetBIOS. O nome DNS é um valor da cadeia de caracteres.The DNS name is a string value. Este nome pode conter somente caracteres alfanuméricos, traços/hifens (-) e sublinhados (), em qualquer ordem.This name can contain only alphanumeric characters, dashes/hyphens (-), and underscores (), in any order. Os nomes de host DNS diferenciam maiúsculas de minúsculas.DNS host names are case insensitive. O comprimento máximo é 63 caracteres; no entanto, no SQL Server Management StudioSQL Server Management Studio, o comprimento máximo que você pode especificar é 15 caracteres.The maximum length is 63 characters, however, in SQL Server Management StudioSQL Server Management Studio, the maximum length you can specify is 15 characters.

Nós recomendamos que você especifique uma cadeia de caracteres significativa.We recommend that you specify a meaningful string. Por exemplo, para um grupo de disponibilidade denominado AG1, um nome de host de DNS significativo seria ag1-listener.For example, for an availability group named AG1, a meaningful DNS host name would be ag1-listener.

Importante

O NetBIOS reconhece somente os primeiros 15 caracteres no dns_name.NetBIOS recognizes only the first 15 chars in the 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.If you have two WSFC clusters that are controlled by the same Active Directory and you try to create availability group listeners in both of clusters using names with more than 15 characters and an identical 15 character prefix, you will get an error reporting that the Virtual Network Name resource could not be brought online. Para obter informações sobre regras da nomenclatura de prefixos para nomes DNS, consulte Atribuindo nomes de domínio.For information about prefix naming rules for DNS names, see Assigning Domain Names.

Permissões do WindowsWindows Permissions

PermissõesPermissions LinkLink
O CNO (nome do objeto de cluster) do cluster WSFC que está hospedando o grupo de disponibilidade deve ter a permissão Criar Objetos de computador .The cluster object name (CNO) of WSFC cluster that is hosting the availability group must have Create Computer objects permission.

No Active Directory, por padrão, um CNO não tem a permissão Criar Objetos de computador explicitamente e pode criar dez VCOs (objetos de computador virtual).In Active Directory, a CNO by default does not have Create Computer objects permission explicitly and can create 10 virtual computer objects (VCOs). Depois que os dez VCOs forem criados, a criação de VCOs adicionais apresentará falha.After 10 VCOs are created, the creation of additional VCOs will fail. É possível impedir isso concedendo a permissão explicitamente ao CNO do cluster WSFC.You can avoid this by granting the permission explicitly to the WSFC cluster's CNO. Observe que o VCOs para grupos de disponibilidade que você excluiu não serão excluídos automaticamente no Active Directory e serão incluídos na contagem do limite padrão de dez VCOs, a menos que sejam excluídos manualmente.Note that VCOs for availability groups that you have deleted are not automatically deleted in Active Directory and count against your 10 VCO default limit unless they are manually deleted.

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.Note: In some organizations, the security policy prohibits granting Create Computer objects permission to individual user accounts.
Etapas para configurar a conta para a pessoa que instala o cluster em Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory (Guia passo a passo do cluster de failover: configurando contas no Active Directory)Steps for configuring the account for the person who installs the cluster in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory

Etapas para pré-configurar a conta de nome do cluster no Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory (Guia passo a passo do cluster de failover: configurando contas no Active Directory)Steps for prestaging the cluster name account in Failover Cluster Step-by-Step Guide: Configuring Accounts in 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á de associação no grupo Operador de Conta ou da assistência de seu administrador de domínio.If your organization requires that you prestage the computer account for a listener virtual network name, you will need membership in the Account Operator group or your domain administrator's assistance. Etapas para pré-configurar uma conta para um aplicativo ou serviço clusterizado no Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory (Guia passo a passo do cluster de failover: configurando contas no Active Directory).Steps for prestaging an account for a clustered service or application in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory.

Dica

Geralmente, é mais simples não pré-preparar a conta de computador para um nome de rede virtual de ouvinte.Generally, it is simplest not to prestage the computer account for a listener virtual network name. Se possível, deixe a conta ser criada e configurada automaticamente ao executar o Assistente de Alta Disponibilidade do WSFC.If you can, let the account to be created and configured automatically when you run the WSFC High Availability wizard.

Permissões do SQL ServerSQL Server Permissions

TarefaTask PermissõesPermissions
Para criar um ouvinte de grupo de disponibilidadeTo create an availability group listener Requer a associação na função de servidor fixa sysadmin e a permissão de servidor CREATE AVAILABILITY GROUP, a permissão ALTER ANY AVAILABILITY GROUP ou a permissão CONTROL SERVER.Requires membership in the sysadmin fixed server role and either CREATE AVAILABILITY GROUP server permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.
Para modificar um ouvinte de grupo de disponibilidade existenteTo modify an existing availability group listener Requer a permissão ALTER AVAILABILITY GROUP no grupo de disponibilidade, a permissão CONTROL AVAILABILITY GROUP, a permissão ALTER ANY AVAILABILITY GROUP ou a permissão CONTROL SERVER.Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

Usando o SQL Server Management StudioUsing SQL Server Management Studio

Dica

O Assistente de Novo Grupo de Disponibilidade dá suporte à criação do ouvinte para um novo grupo de disponibilidade.The New Availability Group wizard supports creation of the listener for a new availability group.

Para criar ou configurar um ouvinte de grupo de disponibilidadeTo create or configure an availability group listener

  1. No Pesquisador de Objetos, conecte-se à instância do servidor que hospeda a réplica primária do grupo de disponibilidade e clique no nome do servidor para expandir a árvore de servidores.In Object Explorer, connect to the server instance that hosts the primary replica of the availability group, and click the server name to expand the server tree.

  2. Expanda os nós Alta Disponibilidade AlwaysOn e Grupos de Disponibilidade .Expand the Always On High Availability node and the Availability Groups node.

  3. Clique no grupo de disponibilidade cujo ouvinte você deseja configurar e escolha uma das alternativas a seguir:Click the availability group whose listener you want to configure, and choose one of the following alternatives:

    • 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 .To create a listener, right-click the Availability group Listeners node, and select the New Listener command. Isso abre a caixa de diálogo Novo Ouvinte do Grupo de Disponibilidade .This opens the New Availability Group Listener dialog box. Para obter mais informações, consulte Adicionar Ouvinte do Grupo de Disponibilidade (caixa de diálogo), posteriormente neste tópico.For more information, see Add Availability Group Listener (Dialog Box), later in this topic.

    • 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 .To change the port number of an existing listener, expand the Availability group Listeners node, right-click the listener, and select the Properties command. Digite o novo número da porta no campo Porta e clique em OK.Enter the new port number into the Port field, and click OK.

Novo Ouvinte do Grupo de Disponibilidade (caixa de diálogo)New Availability Group Listener (Dialog Box)

Nome DNS do OuvinteListener DNS Name
Especifica o nome de host DNS do ouvinte de grupo de disponibilidade.Specifies the DNS host name of the availability group listener. O nome DNS é uma cadeia de caracteres que deve ser exclusivo no domínio e no NetBIOS.The DNS name is a string must be unique in the domain and in NetBIOS. Este nome pode conter somente caracteres alfanuméricos, traços (-) e hífens (), em qualquer ordem.This name can contain only alphanumeric characters, dashes (-), and hyphens (), in any order. Os nomes de host DNS diferenciam maiúsculas de minúsculas.DNS host names are case insensitive. O tamanho máximo é de 15 caracteres.The maximum length is 15 characters.

Para obter mais informações, consulte Requisitos para o nome DNS de um ouvinte de grupo de disponibilidade, posteriormente neste tópico.For more information, see Requirements for the DNS Name of an Availability Group Listener, earlier in this topic.

PortaPort
A porta TCP usada pelo ouvinte.The TCP port used by this listener.

Modo de RedeNetwork Mode
Indica o protocolo TCP usado pelo ouvinte, pode ser:Indicates the TCP protocol used by the listener, one of:

DHCPDHCP
O ouvinte usará um endereço IP dinâmico que é atribuído por um servidor que executa o Protocolo DHCP.The listener will us a dynamic IP address that is assigned by a server running the Dynamic Host Configuration Protocol (DHCP). O DHCP está limitado a uma única sub-rede.DHCP is limited to a single subnet.

Importante

Nós não recomendamos o DHCP em ambiente de produção.We do not recommend DHCP in production environment. Se houver um tempo de inatividade e a concessão do IP do DHCP expirar, a hora adicional deverá registrar o novo endereço IP da rede DHCP que está associado ao nome DNS do ouvinte e afetará a conectividade do cliente.If there is a down time and the DHCP IP lease expires, extra time is required to register the new DHCP network IP address that is associated with the listener DNS name and impact the client connectivity. 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.However, DHCP is good for setting up your development and testing environment to verify basic functions of availability groups and for integration with your applications.

IP EstáticoStatic IP
O ouvinte usará um ou mais endereços IP estáticos.The listener will use one or more static IP addresses. Os endereços IP adicional são opcionais.Additional IP addresses are optional. 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.To create an availability group listener across multiple subnets, for each subnet you must specify a static IP address in the listener configuration. Entre em contato com seu administrador de rede para obter esses endereços IP estáticos.Contact your network administrator to get these static IP addresses.

Se você selecionar IP Estático , uma grade de sub-rede será exibida abaixo do campo Modo de Rede .If you select Static IP a subnet grid appears below the Network Mode field. Essa grade exibe informações sobre cada sub-rede que pode ser acessada por este ouvinte de grupo de disponibilidade.This grid displays information about each subnet that can be accessed by this availability group listener. Essa grade estará vazia até que você adicione um endereço IP estático clicando em Adicionar.This grid is empty until you add a static IP address by clicking Add.

As colunas são apresentadas assim:The columns are as follows:

Sub-redeSubnet
Exibe o identificador de cada sub-rede que você adiciona ao ouvinte do grupo de disponibilidade.Displays the identifier of each subnet that you add to the availability group listener.

Endereço IPIP Address
Exibe o endereço IP de uma determinada sub-rede.Displays the IP address of a given subnet. Para uma determinada sub-rede, o endereço IP é um endereço IPv4 ou um endereço IPv6.For a given subnet, the IP address is either an IPv4 address or an IPv6 address.

AdicionarAdd
Clique para adicionar um endereço IP estático a uma sub-rede selecionada ou a outra sub-rede para este ouvinte.Click to add to add a static IP address to a selected subnet or to another subnet for this listener. Essa ação abre a caixa de diálogo Adicionar Endereço IP .This opens the Add IP Address dialog box. Para obter mais informações, consulte o tópico de ajuda Caixa de diálogo Adicionar Endereço IP (SQL Server Management Studio).For more information, see the Add IP Address Dialog Box (SQL Server Management Studio) help topic.

RemoverRemove
Clique para remover a sub-rede selecionada deste ouvinte.Click to remove the selected subnet from this listener.

OKOK
Clique para criar o ouvinte do grupo de disponibilidade especificado.Click to create the specified availability group listener.

Usando o Transact-SQLUsing Transact-SQL

Para criar ou configurar um ouvinte de grupo de disponibilidadeTo create or configure an availability group listener

  1. Conecte-se à instância de servidor que hospeda a réplica primária.Connect to the server instance that hosts the primary replica.

  2. Use a opção LISTENER da instrução CREATE AVAILABILITY GROUP ou a opção ADD LISTENER da instrução ALTER AVAILABILITY GROUP .Use the LISTENER option of the CREATE AVAILABILITY GROUP statement or the ADD LISTENER option of the ALTER AVAILABILITY GROUP statement.

    O exemplo a seguir adiciona um ouvinte de grupo de disponibilidade a um grupo de disponibilidade existente denominado MyAg2.The following example adds an availability group listener to an existing availability group named MyAg2. Um nome DNS exclusivo, MyAg2ListenerIvP6, é especificado para esse ouvinte.A unique DNS name, MyAg2ListenerIvP6, is specified for this listener. As duas réplicas estão em sub-redes diferentes e, portanto, como recomendado, o ouvinte usa endereços IP estáticos.The two replicas are on different subnets, so , as recommended, the listener uses static IP addresses. Para cada uma das duas réplicas de disponibilidade, a cláusula WITH IP especifica um endereço IP estático 2001:4898:f0:f00f::cf3c and 2001:4898:e0:f213::4ce2, que usa o formato IPv6.For each of the two availability replicas, the WITH IP clause specifies a static IP address, 2001:4898:f0:f00f::cf3c and 2001:4898:e0:f213::4ce2, which use the IPv6 format. Este exemplo também especifica o uso do argumento PORT opcional para especificar a porta 60173 como a porta do ouvinte.This example also specifies uses the optional PORT argument to specify port 60173 as the listener port.

    ALTER AVAILABILITY GROUP MyAg2   
          ADD LISTENER 'MyAg2ListenerIvP6' ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173 );   
    GO  
    
    

Usando o PowerShellUsing PowerShell

Para criar ou configurar um ouvinte de grupo de disponibilidadeTo create or configure an availability group listener

  1. Altere o diretório (cd) para a instância de servidor que hospeda a réplica primária.Change directory (cd) to the server instance that hosts the primary replica.

  2. Para criar ou modificar um ouvinte de grupo de disponibilidade, use um dos cmdlets a seguir:To create or modify an availability group listener use one of the following cmdlets:

    New-SqlAvailabilityGroupListenerNew-SqlAvailabilityGroupListener
    Cria um novo ouvinte de grupo de disponibilidade e conecta-o a um grupo de disponibilidade existente.Creates a new availability group listener and attaches it to an existing availability group.

    Por exemplo, o comando New-SqlAvailabilityGroupListener a seguir cria um ouvinte do grupo de disponibilidade denominado MyListener para o grupo de disponibilidade MyAg.For example, the following New-SqlAvailabilityGroupListener command creates an availability group listener named MyListener for the availability group MyAg. Esse ouvinte usará o endereço IPv4 passado para o parâmetro -StaticIp como seu endereço IP virtual.This listener will use the IPv4 address passed to the -StaticIp parameter as its virtual IP address.

    New-SqlAvailabilityGroupListener -Name MyListener `   
    -StaticIp '192.168.3.1/255.255.252.0' `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg  
    
    

    Set-SqlAvailabilityGroupListenerSet-SqlAvailabilityGroupListener
    Modifica a configuração de porta em um ouvinte de grupo de disponibilidade existente.Modifies the port setting on an existing availability group listener.

    Por exemplo, o comando Set-SqlAvailabilityGroupListener a seguir define o número da porta para o ouvinte do grupo de disponibilidade denominado MyListener para o 1535.For example, the following Set-SqlAvailabilityGroupListener command sets the port number for the availability group listener named MyListener to 1535. Esta porta é usada para ouvir conexões para o ouvinte.This port is used to listen for connections to the listener.

    Set-SqlAvailabilityGroupListener -Port 1535 `   
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AGListeners\MyListener  
    
    

    Add-SqlAGListenerstaticIpAdd-SqlAGListenerstaticIp
    Adiciona um endereço IP estático à configuração de um ouvinte de grupo de disponibilidade existente.Adds a static IP address to an existing availability group listener configuration. O endereço IP poderá ser um endereço IPv4 com sub-rede ou um endereço IPv6.The IP address can be an IPv4 address with subnet, or an IPv6 address.

    Por exemplo, o comando Add-SqlAGListenerstaticIp a seguir adiciona um endereço IPv4 estático ao ouvinte do grupo de disponibilidade MyListener no grupo de disponibilidade MyAg.For example, the following Add-SqlAGListenerstaticIp command adds a static IPv4 address to the availability group listener MyListener on the availability group MyAg. Este endereço IPv6 serve como o endereço IP virtual do ouvinte na sub-rede 255.255.252.0.This IPv6 address serves as the virtual IP address of the listener on the subnet 255.255.252.0. Se o grupo de disponibilidade abranger diversas sub-redes, você deverá adicionar um endereço IP estático para cada sub-rede para o ouvinte.If the availability group spans multiple subnets, you should add a static IP address for each subnet to the listener.

    $path = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AGListeners\ MyListener" `   
    Add-SqlAGListenerstaticIp -Path $path `   
    -StaticIp "2001:0db8:85a3:0000:0000:8a2e:0370:7334"  
    

    Observação

    Para exibir a sintaxe de um cmdlet, use o cmdlet Get-HelpSQL ServerSQL Server no ambiente do PowerShell.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Para obter mais informações, consulte Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

Para configurar e usar o provedor do SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Solução de problemasTroubleshooting

Falha ao criar um ouvinte de grupo de disponibilidade devido a cotas do Active DirectoryFailure to Create An Availability Group Listener Because of Active Directory Quotas

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.The creation of a new availability group listener may fail upon creation because you have reached an Active Directory quota for the participating cluster node machine account. Para obter mais informações, consulte os artigos a seguir.For more information, see the following articles:

Acompanhamento: depois de criar um ouvinte de grupo de disponibilidadeFollow-up: After Creating an Availability Group Listener

Palavra-chave MultiSubnetFailover e recursos associadosMultiSubnetFailover Keyword and Associated Features

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.MultiSubnetFailover is a new connection string keyword used to enable faster failover with Always On Availability Groups and Always On Failover Cluster Instances in SQL Server 2012. Os três sub-recursos a seguir são habilitados quando MultiSubnetFailover=True está definido na cadeia de conexão:The following three sub-features are enabled when MultiSubnetFailover=True is set in connection string:

  • 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.Faster multi-subnet failover to a multi-subnet listener for an Always On Availability Group or Failover Cluster Instances.

  • Um failover de sub-rede única mais rápido para um ouvinte de sub-rede única para um Grupo de Disponibilidade AlwaysOn ou instâncias de cluster de failover.Faster single subnet failover to a single subnet listener for an Always On Availability Group or Failover Cluster Instances.

    • Esse recurso é usado ao conectar-se a um ouvinte que tem um IP único em uma única sub-rede.This feature is used when connecting to a listener that has a single IP in a single subnet. Isso realiza tentativas de conexão de TCP mais agressivas para acelerar os failovers de sub-rede única.This performs more aggressive TCP connection retries to speed up single subnet failovers.
  • A resolução de instância nomeada para uma instância de cluster de failover AlwaysOn de várias sub-redes.Named instance resolution to a multi-subnet Always On Failover Cluster Instance.

    • Isso é para adicionar o suporte à resolução de instância nomeada para uma instância de cluster de failover AlwaysOn com diversos pontos de extremidade de sub-rede.This is to add named instance resolution support for an Always On Failover Cluster Instances with multiple subnet endpoints.

Não há suporte para MultiSubnetFailover=True pelo .NET Framework 3.5 ou OLEDBMultiSubnetFailover=True Not Supported by NET Framework 3.5 or OLEDB

Problema: Quando seu Grupo de Disponibilidade ou sua Instância de Cluster de Failover tem um nome de ouvinte (conhecido como o nome de rede ou o ponto de acesso para cliente no Gerenciador de Cluster WSFC), dependendo dos diversos endereços IP de diferentes sub-redes, e você está usando o ADO.NET com .NET Framework 3.5 SP1 ou o SQL Native Client 11.0 OLEDB, metade das suas solicitações de conexão de cliente para o ouvinte do grupo de disponibilidade pode acabar atingindo o tempo limite de conexão.Issue: If your Availability Group or Failover Cluster Instance has a listener name (known as the network name or Client Access Point in the WSFC Cluster Manager) depending on multiple IP addresses from different subnets, and you are using either ADO.NET with .NET Framework 3.5SP1 or SQL Native Client 11.0 OLEDB, potentially 50% of your client-connection requests to the availability group listener will hit a connection timeout.

Soluções alternativas: é recomendável que você execute uma das tarefas a seguir.Workarounds: We recommend that you do one of the following tasks.

  • Se você não tiver a permissão para manipular recursos de cluster, altere o tempo limite da 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).If do not have the permission to manipulate cluster resources, change your connection timeout to 30 seconds (this value results in a 20-second TCP timeout period plus a 10-second buffer).

    Prós: se ocorrer um failover entre sub-redes, a recuperação do cliente será rápida.Pros: If a cross-subnet failover occurs, client recovery time is short.

    Contras: metade das conexões de cliente demorarão mais de 20 segundosCons: Half of the client connections will take more than 20 seconds

  • 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.If you have the permission to manipulate cluster resources, the more recommended approach is to set the network name of your availability group listener to RegisterAllProvidersIP=0. Para obter mais informações, confira "Configuração de RegisterAllProvidersIP", mais adiante nesta seção.For more information, see "RegisterAllProvidersIP Setting" later in this section.

    Prós: você não precisa aumentar o valor de tempo limite de conexão de cliente.Pros: You do not need to increase your client-connection timeout value.

    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 da configuração da agenda de replicação do DNS/AD entre sites.Cons: If a cross-subnet failover occurs, the client recovery time could be 15 minutes or longer, depending on your HostRecordTTL setting and the setting of your cross-site DNS/AD replication schedule.

Configuração RegisterAllProvidersIPRegisterAllProvidersIP Setting

Quando você usa o SQL Server Management StudioSQL Server Management Studio, o Transact-SQLTransact-SQLou o 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).When you use SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell to create an availability group listener, the Client Access Point is created in WSFC with the RegisterAllProvidersIP property set to 1 (true). O efeito de esse valor de propriedade depende da cadeia de conexão do cliente, da seguinte maneira:The effect of this property value depends on the client connection string, as follows:

  • Cadeias de conexão que definem MultiSubnetFailover como trueConnection strings that set MultiSubnetFailover to true

    Grupos de disponibilidade AlwaysOnAlways On availability groups define a propriedade RegisterAllProvidersIP como 1 para reduzir o tempo de reconexão após um failover para clientes cujas cadeias de conexão de cliente especificam MultiSubnetFailover = True, como recomendado.sets the RegisterAllProvidersIP property to 1 in order to reduce re-connection time after a failover for clients whose client connection strings specify MultiSubnetFailover = True, as recommended. Observe que para usufruir das vantagens do recurso de várias sub-redes do ouvinte, seus clientes podem exigir um provedor de dados que dê suporte à palavra-chave MultiSubnetFailover .Note that to take advantage of the listener multi-subnet feature, your clients might require a data provider that supports the MultiSubnetFailover keyword. Para obter informações sobre o suporte do driver para failover de várias sub-redes, consulte Conectividade de cliente AlwaysOn (SQL Server).For information about driver support for multi-subnet failover, see Always On Client Connectivity (SQL Server).

    Para obter informações sobre clustering de várias sub-redes, consulte Clustering de várias sub-redes do SQL Server (SQL Server).For information about multi-subnet clustering, see SQL Server Multi-Subnet Clustering (SQL Server).

    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:When RegisterAllProvidersIP = 1, if you run the WSFC Validate a Configuration Wizard on the WSFC cluster, the wizard generates the following warning message:

    “A propriedade RegisterAllProviderIP para nome de rede 'Name:<network_name>' é definida como 1. Para a configuração do cluster atual, este valor deve ser definido como 0.”"The RegisterAllProviderIP property for network name 'Name:<network_name>' is set to 1 For the current cluster configuration this value should be set to 0."

    Ignore esta mensagem.Please ignore this message.

  • Cadeias de conexão que não definem MultiSubnetFailover como trueConnection strings that do not set MultiSubnetFailover to true

    Quando RegisterAllProvidersIP = 1, quaisquer clientes cujas cadeias de conexão não usem MultiSubnetFailover = Trueencontrarão conexões de alta latência.When RegisterAllProvidersIP = 1, any clients whose connection strings do not use MultiSubnetFailover = True, will experience high latency connections. Isso ocorre porque esses clientes tentam conexões com todos os IPs em sequência.This occurs because these clients attempt connections to all IPs sequentially. 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.In contrast, if RegisterAllProvidersIP is changed to 0, the active IP address is registered in the Client Access Point in the WSFC cluster, reducing latency for legacy clients. Portanto, se você tem clientes herdados que precisam se conectar a um ouvinte de grupo de disponibilidade e não podem usar a propriedade MultiSubnetFailover, recomendamos alterar RegisterAllProvidersIP para 0.Therefore, if you have legacy clients that need to connect to an availability group listener and cannot use the MultiSubnetFailover property, we recommend that you change RegisterAllProvidersIP to 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.When you create an availability group listener through the WSFC cluster (Failover Cluster Manager GUI), RegisterAllProvidersIP will be 0 (false) by default.

Configuração HostRecordTTLHostRecordTTL Setting

Por padrão, os clientes armazenam em cache registros DNS do cluster por 20 minutos.By default, clients cache cluster DNS records for 20 minutes. Os clientes herdados poderão se reconectar mais rapidamente reduzindo a configuração HostRecordTTL, a TTL (vida útil) do registro armazenado em cache.By reducing HostRecordTTL, the Time to Live (TTL), for the cached record, legacy clients may reconnect more quickly. No entanto, a redução da configuração HostRecordTTL também pode resultar em maior tráfego para os servidores DN.However, reducing the HostRecordTTL setting may also result in increased traffic to the DN servers.

Exemplo de script PowerShell para desabilitar RegisterAllProvidersIP e reduzir o TTLSample PowerShell Script to Disable RegisterAllProvidersIP and Reduce TTL

O exemplo do PowerShell a seguir demonstra como configurar os parâmetros de cluster RegisterAllProvidersIP e HostRecordTTL para o recurso de ouvinte.The following PowerShell example demonstrates how to configure both the RegisterAllProvidersIP and HostRecordTTL cluster parameters for the listener resource. O registro DNS será armazenado em cache por 5 minutos, e não pelos 20 minutos padrão.The DNS record will be cached for 5 minutes rather than the default 20 minutes. A modificação dos dois parâmetros de cluster pode reduzir o tempo de conexão ao endereço IP correto após um failover para clientes herdados que não podem usar o parâmetro MultiSubnetFailover .Modifying both cluster parameters may reduce the time to connect to the correct IP address after a failover for legacy clients that cannot use the MultiSubnetFailover parameter. Substitua yourListenerName pelo nome do ouvinte que você está alterando.Replace yourListenerName with the name of the listener that you are changing.

Import-Module FailoverClusters  
Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0   
Get-ClusterResource yourListenerName | Set-ClusterParameter HostRecordTTL 300  
Stop-ClusterResource yourListenerName  
Start-ClusterResource yourListenerName  

Para obter mais informações sobre os tempos de recuperação durante o failover, consulte Client Recovery Latency During Failover.For more information about recovery times during failover, see Client Recovery Latency During Failover.

Recomendações de acompanhamentoFollow-up Recommendations

Após criar um ouvinte de grupo de disponibilidade:After you create an availability group listener:

  • Peça ao administrador da rede para reservar o endereço IP do ouvinte para seu uso exclusivo.Ask your network administrator to reserve the listener's IP address for its exclusive use.

  • 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.Give the listener's DNS host name to application developers to use in connection strings when requesting client connections to this availability group.

  • Incentive os desenvolvedores a atualizarem cadeias de conexão do cliente para especificar MultiSubnetFailover = True, se possível.Encourage developers to update client connection strings to specify MultiSubnetFailover = True, if possible. Para obter informações sobre o suporte do driver para failover de várias sub-redes, consulte Conectividade de cliente AlwaysOn (SQL Server).For information about driver support for multi-subnet failover, see Always On Client Connectivity (SQL Server).

Criar um ouvinte adicional para um grupo de disponibilidade (opcional)Create an Additional Listener for an Availability Group (Optional)

Depois de criar um ouvinte pelo SQL Server, você poderá adicionar um ouvinte adicional, da seguinte maneira:After you create one listener through SQL Server, you can add an additional listener, as follows:

  1. Crie o ouvinte usando uma das ferramentas a seguir:Create the listener using either of the following tools:

    • Usando o Gerenciador de Cluster de Failover do WSFC:Using WSFC Failover Cluster Manager:

      1. Adicione um ponto de acesso para cliente e configure o endereço IP.Add a client access point and configure the IP address.

      2. Faça o ouvinte ficar online.Bring the listener online.

      3. Adicione uma dependência para o recurso do grupo de disponibilidade do WSFC.Add a dependency to the WSFC availability group resource.

      Para obter informações sobre as caixas de diálogo e as guias do Gerenciador de Cluster de Failover, confira User Interface: The Failover Cluster Manager Snap-In (Interface do usuário: o snap-in Gerenciador de Cluster de Failover).For information about the dialog boxes and tabs of the Failover Cluster Manager, see User Interface: The Failover Cluster Manager Snap-In.

    • Usando o Windows PowerShell para clusters de failover:Using Windows PowerShell for failover clusters:

      1. Use Add-ClusterResource para criar um nome de rede e os recursos do endereço IP.Use Add-ClusterResource to create a network name and the IP address resources.

      2. Use Start-ClusterResource para iniciar o recurso de nome de rede.Use Start-ClusterResource to start the network name resource.

      3. Use Add-ClusterResourceDependency para definir a dependência entre o nome da rede e o recurso do Grupo de Disponibilidade do SQL Server existente.Use Add-ClusterResourceDependency to set the dependency between the network name and the existing SQL Server Availability Group resource.

      Para obter informações sobre como usar o Windows PowerShell para clusters de failover, consulte Visão geral de comandos do gerenciador de servidor.For information about using Windows PowerShell for failover clusters, see Overview of Server Manager Commands.

  2. Inicie a escuta do SQL ServerSQL Server no novo ouvinte.Start SQL ServerSQL Server listening on the new listener. Após criar um ouvinte adicional, conecte a instância do SQL ServerSQL Server que hospeda a réplica principal do grupo de disponibilidade e use SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLou PowerShell para modificar a porta do ouvinte.After creating the additional listener, connect to the instance of SQL ServerSQL Server that hosts the primary replica of the availability group and use SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell to modify the listener port.

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).For more information, see How to create multiple listeners for same availability group (a SQL Server Always On team blog).

Tarefas relacionadasRelated Tasks

Conteúdo relacionadoRelated Content

Consulte TambémSee Also

Visão geral dos grupos de disponibilidade AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Ouvintes do grupo de disponibilidade, conectividade de cliente e failover de aplicativo (SQL Server) Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server)
Clustering de várias sub-redes do SQL Server (SQL Server)SQL Server Multi-Subnet Clustering (SQL Server)