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 a:SQL Server na VM do Azure
Dica
Há vários métodos de implantação de um grupo de disponibilidade. Simplifique sua implantação sem precisar usar o Azure Load Balancer ou DNN (nome de rede distribuída) para seu grupo de disponibilidade Always On criando suas VMs (máquinas virtuais) do SQL Server em várias sub-redes dentro da mesma rede virtual do Azure. Se você já tiver criado seu grupo de disponibilidade em uma única sub-rede, poderá migrá-lo para um ambiente de várias sub-redes.
Determinados recursos do SQL Server dependem de um VNN (nome de rede virtual) codificado. Quando você usa o listener DNN (Distributed Network Name) com seu grupo de disponibilidade Always On e SQL Server em VMs do Azure em uma única sub-rede, você pode enfrentar algumas limitações.
Este artigo descreve os recursos do SQL Server e a interoperabilidade com o listener DNN do grupo de disponibilidade.
Diferenças de comportamento
Observe as seguintes diferenças entre a funcionalidade do ouvinte VNN e o ouvinte DNN:
- Tempo de failover: o tempo de failover é mais rápido quando você usa um ouvinte DNN, pois não há necessidade de esperar que o balanceador de carga de rede detecte o evento de falha e altere seu roteamento.
- Conexões existentes: as conexões para um banco de dados específico em um grupo de disponibilidade que está realizando failover são fechadas, mas outras conexões com a réplica primária permanecem abertas, já que o DNN permanece online durante todo o processo de failover. Esse comportamento é diferente de um ambiente VNN tradicional em que todas as conexões com a réplica primária normalmente fecham quando o grupo de disponibilidade faz failover, o ouvinte fica offline e a réplica primária faz a transição para a função secundária. Ao usar um listener DNN, pode ser necessário ajustar as cadeias de conexão do aplicativo para garantir que as conexões sejam redirecionadas para a nova réplica primária após o processo de failover.
- Transações abertas: transações abertas em um banco de dados, em um grupo de disponibilidade em processo de failover, serão fechadas e revertidas, e você precisará se reconectar manualmente. Por exemplo, no SQL Server Management Studio, feche a janela de consulta e abra uma nova.
Drivers de cliente
Nos drivers ODBC, OLEDB, ADO.NET, JDBC, PHP e Node.js, especifique o nome do ouvinte DNN e a porta como o nome do servidor na cadeia de conexão. Para garantir a conectividade rápida em caso de failover, adicione MultiSubnetFailover=True à cadeia de conexão, se o cliente SQL oferecer suporte.
Ferramentas
Os usuários do SQL Server Management Studio, sqlcmd e SQL Server Data Tools precisam especificar o nome e a porta do ouvinte DNN como o nome do servidor na cadeia de conexão para se conectar ao ouvinte.
No momento, não há suporte para a criação do ouvinte DNN usando a GUI do SSMS (SQL Server Management Studio).
Grupos de disponibilidade e FCI
Você pode configurar um grupo de disponibilidade Always On usando uma instância de cluster de failover (FCI) como uma das réplicas. Para que essa configuração funcione com o ouvinte DNN, a instância do cluster de failover também deve usar o DNN , pois não há como colocar o endereço IP virtual FCI na lista de IP do AG DNN.
Nessa configuração, a URL do ponto de extremidade de espelhamento para a réplica FCI deve usar o DNN FCI. Da mesma forma, se a FCI for usada como réplica somente leitura, o roteamento somente leitura para a réplica FCI precisará usar o DNN FCI.
O formato para o ponto de extremidade de espelhamento é: ENDPOINT_URL = 'TCP://<FCI DNN DNS name>:<mirroring endpoint port>'.
Por exemplo, se o nome DNS DNN do FCI for dnnlsnr e 5022 for a porta do endpoint de espelhamento do FCI, o trecho de código de Transact-SQL (T-SQL) para criar o URL do endpoint será semelhante a:
ENDPOINT_URL = 'TCP://dnnlsnr:5022'
Da mesma forma, o formato da URL de roteamento somente leitura é: TCP://<FCI DNN DNS name>:<SQL Server instance port>.
Por exemplo, se o nome DNS do DNN for dnnlsnr e 1444 for a porta usada pelo destino somente leitura da FCI do SQL Server, o trecho de código T-SQL para criação da URL de roteamento somente leitura terá esta aparência:
READ_ONLY_ROUTING_URL = 'TCP://dnnlsnr:1444'
Você pode omitir a porta na URL se ela for a porta 1433 padrão. Para uma instância nomeada, configure uma porta estática para essa instância e especifique-a na URL de roteamento somente leitura.
Grupo de disponibilidade distribuído
Caso você configure o ouvinte do grupo de disponibilidade usando um DNN (nome de rede distribuída), não poderá configurar um grupo de disponibilidade distribuído sobre o grupo de disponibilidade.
Replicação
Replicações transacional, de mesclagem e de instantâneos, todas dão suporte à substituição do ouvinte VNN pelo ouvinte DNN e pela porta correspondente em objetos de replicação que se conectam ao ouvinte.
Para obter mais informações sobre como usar a replicação com grupos de disponibilidade, consulte Publisher e AG, subscriber e AG, e distribuidor e AG.
MSDTC
O MSDTC local e o clusterizado são suportados, mas o MSDTC usa uma porta dinâmica. Essa porta dinâmica requer um Azure Load Balancer padrão para configurar a porta de HA. Dessa forma, a VM deve usar uma reserva de IP padrão ou você não pode expô-la à Internet.
Defina duas regras: uma para a porta RPC Endpoint Mapper 135 e outra para a porta MSDTC real. Após o failover, modifique a regra do balanceador de carga para a nova porta MSDTC depois que ela for alterada no novo nó.
Se o MSDTC for local, certifique-se de permitir a comunicação externa.
Consulta distribuída
A consulta distribuída depende de um servidor vinculado, que pode ser configurado com o listener e a porta do AG DNN. Se a porta não for 1433, escolha a opção usar outra fonte de dados no SQL Server Management Studio (SSMS) ao configurar o servidor vinculado.
FILESTREAM
FILESTREAM tem suporte, mas não para cenários em que os usuários acessam o compartilhamento de arquivos delimitado usando a API de arquivos do Windows.
FileTable
FileTable tem suporte, mas não para cenários em que os usuários acessam o compartilhamento de arquivos com escopo usando a API de arquivo do Windows.
Servidores vinculados
Configure o servidor vinculado com o nome e a porta do ouvinte do AG DNN. Se a porta não for 1433, escolha a opção usar outra fonte de dados no SQL Server Management Studio (SSMS) ao configurar o servidor vinculado.
Perguntas frequentes
Qual versão do SQL Server dá suporte ao ouvinte do AG DNN?
SQL Server 2019 CU 8 e versões posteriores.
Qual é o tempo de failover esperado quando uso o ouvinte DNN?
Para o ouvinte DNN, o tempo de failover é o mesmo que o tempo de failover do AG, sem tempo extra (como o tempo de sondagem quando você está usando o Azure Load Balancer).
Há algum requisito de versão para clientes SQL para oferecer suporte a DNN com OLEDB e ODBC?
Use a cadeia de conexão MultiSubnetFailover=True para suporte ao ouvinte DNN. Ele está disponível a partir do SQL Server 2012 (11.x).
Há alterações de configuração do SQL Server obrigatórias para usar o ouvinte DNN?
O SQL Server não requer alterações de configuração para usar DNN, mas alguns recursos do SQL Server podem exigir maior consideração.
O DNN oferece suporte a clusters de várias sub-redes?
Sim. O cluster associa o DNN no DNS aos endereços IP físicos de todas as réplicas no grupo de disponibilidade, qualquer que seja a sub-rede. O cliente SQL tenta todos os endereços IP do nome DNS, independentemente da sub-rede.
O listener DNN do grupo de disponibilidade oferece suporte ao roteamento somente leitura?
Sim. O roteamento somente leitura é suportado com o listener DNN.