Compartilhar via


Solucionar problemas de configuração de grupos de disponibilidade AlwaysOn (SQL Server)

Este tópico fornece informações para ajudá-lo a solucionar problemas típicos com a configuração de instâncias de servidor para Grupos de Disponibilidade AlwaysOn. Problemas de configuração típicos incluem Grupos de Disponibilidade AlwaysOn desabilitados, contas configuradas incorretamente, o ponto de extremidade de espelhamento de banco de dados não existe, o ponto de extremidade está inacessível (Erro 1418 do SQL Server), o acesso à rede não existe e um comando de junção de banco de dados falha (Erro 35250 do SQL Server).

Observação

Verifique se você está atendendo aos pré-requisitos dos Grupos de Disponibilidade AlwaysOn. Para obter mais informações, consulte Pré-requisitos, restrições e recomendações para Grupos de Disponibilidade AlwaysOn (SQL Server).

Neste tópico:

Seção Descrição
Os grupos de disponibilidade AlwaysOn não estão habilitados Se uma instância do SQL Server não estiver habilitada para Grupos de Disponibilidade AlwaysOn, a instância não oferecerá suporte à criação do grupo de disponibilidade e não poderá hospedar nenhuma réplica de disponibilidade.
Contas Discute os requisitos para configurar corretamente as contas nas quais o SQL Server será executado.
Pontos de extremidade Discute como diagnosticar problemas com o ponto de extremidade de espelhamento de banco de dados de uma instância de servidor.
Nome do sistema Resume as alternativas para especificar o nome do sistema de uma instância de servidor em uma URL de ponto de extremidade.
Acesso de rede Documenta o requisito de que cada instância do servidor que está hospedando uma réplica de disponibilidade deve poder acessar a porta de cada uma das instâncias do servidor sobre TCP.
Acesso ao ponto de extremidade (erro 1418 do SQL Server) Contém informações sobre essa mensagem de erro do SQL Server .
Falha ao unir bancos de dados (erro 35250 do SQL Server) Discute as possíveis causas e a resolução de uma falha ao adicionar bancos de dados secundários a um grupo de disponibilidade devido à conexão com a réplica primária não estar ativa.
O roteamento somente leitura não está funcionando corretamente
Tarefas relacionadas Contém uma lista de tópicos orientados a tarefas nos Manuais Online do SQL Server 2014 que são particularmente relevantes para solucionar problemas de uma configuração de grupo de disponibilidade.
Conteúdo relacionado Contém uma lista de recursos relevantes que são externos aos Manuais Online do SQL Server .

Os grupos de disponibilidade AlwaysOn não estão habilitados

O recurso Grupos de Disponibilidade AlwaysOn deve ser habilitado em cada uma das instâncias do SQL Server 2014. Para obter mais informações, consulte Habilitar e desabilitar grupos de disponibilidade AlwaysOn (SQL Server).

Contas

As contas nas quais o SQL Server está sendo executado devem ser configuradas corretamente.

  1. As contas têm as permissões corretas?

    1. Se os parceiros forem executados como a mesma conta de usuário de domínio, os logons de usuário corretos existirão automaticamente em ambos os bancos de dados mestres . Isso simplifica a configuração de segurança do banco de dados e é recomendado.

    2. Se duas instâncias de servidor forem executadas como contas diferentes, o logon de cada conta deverá ser criado no mestre na instância do servidor remoto e esse logon deverá receber permissões CONNECT para se conectar ao ponto de extremidade de espelhamento de banco de dados da instância do servidor. Para obter mais informações, consulteConfigurar contas de logon para espelhamento de banco de dados ou grupos de disponibilidade AlwaysOn (SQL Server).

  2. Se o SQL Server estiver em execução como uma conta interna, como Sistema Local, Serviço Local ou Serviço de Rede, ou uma conta que não faz parte de um domínio, você deverá usar certificados para autenticação de ponto de extremidade. Se suas contas de serviço estiverem usando contas de domínio no mesmo domínio, você poderá escolher conceder acesso de CONNECT a cada conta de serviço em todos os locais de réplica ou usar certificados. Para obter mais informações, consulteUso de certificados para um ponto de extremidade de espelhamento de banco de dados (Transact-SQL).

Pontos de extremidade

Os pontos de extremidade devem ser configurados corretamente.

  1. Verifique se cada instância do SQL Server que vai hospedar uma réplica de disponibilidade (cada local de réplica) tem um ponto de extremidade de espelhamento de banco de dados. Para determinar se existe um ponto de extremidade de espelhamento de banco de dados em uma determinada instância de servidor, use a visão de catálogo sys.database_mirroring_endpoints. Para obter mais informações, consulte Criar um Ponto de Extremidade de Espelhamento de Banco de Dados para Autenticação do Windows (Transact-SQL) ou Permitir o Uso de Certificados por um Ponto de Extremidade de Espelhamento de Banco de Dados para Conexões de Saída (Transact-SQL).

  2. Verifique se os números da porta estão corretos.

    Para identificar a porta associada atualmente com o ponto de extremidade de espelhamento de banco de dados de uma instância de servidor, use a seguinte instrução do Transact-SQL :

    SELECT type_desc, port FROM sys.tcp_endpoints;
    GO
    
  3. Para problemas de configuração dos Grupos de Disponibilidade AlwaysOn que são difíceis de explicar, recomendamos inspecionar cada instância do servidor para determinar se ela está escutando nas portas corretas. Para obter informações sobre como verificar a disponibilidade da porta, consulte MSSQLSERVER_1418.

  4. Verifique se os pontos de extremidade foram iniciados (STATE=STARTED). Em cada instância do servidor, use a seguinte instrução Transact-SQL:

    SELECT state_desc FROM sys.database_mirroring_endpoints
    

    Para obter mais informações sobre a coluna state_desc, veja sys.database_mirroring_endpoints (Transact-SQL).

    Para iniciar um ponto de extremidade, use a seguinte instrução TransactSQL:

    ALTER ENDPOINT Endpoint_Mirroring 
    STATE = STARTED 
    AS TCP (LISTENER_PORT = <port_number>)
    FOR database_mirroring (ROLE = ALL);
    GO
    

    Para obter mais informações, confira ALTER ENDPOINT (Transact-SQL).

  5. Verifique se o logon do outro servidor tem permissão CONNECT. Para determinar quem tem permissão CONNECT para um ponto de extremidade, em cada instância do servidor use a seguinte instrução Transact-SQL:

    SELECT 'Metadata Check';
    SELECT EP.name, SP.STATE, 
       CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) 
          AS GRANTOR, 
       SP.TYPE AS PERMISSION,
       CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) 
          AS GRANTEE 
       FROM sys.server_permissions SP , sys.endpoints EP
       WHERE SP.major_id = EP.endpoint_id
       ORDER BY Permission,grantor, grantee; 
    GO
    
    

Nome do sistema

Para o nome do sistema de uma instância de servidor em uma URL de ponto de extremidade, é possível usar qualquer nome que identifique o sistema sem ambiguidade. O endereço de servidor pode ser um nome de sistema (se os sistemas estiverem no mesmo domínio), um nome de domínio totalmente qualificado ou um endereço de IP (preferivelmente, um endereço de IP estático). Usando o nome de domínio totalmente qualificado o funcionamento é garantido. Para obter mais informações, confira Especificar a URL do ponto de extremidade ao adicionar ou modificar uma réplica de disponibilidade (SQL Server).

Acesso de rede

Cada instância do servidor que esteja hospedando uma réplica de disponibilidade deve poder acessar a porta de cada uma das instâncias do servidor sobre TCP. Isso será especialmente importante se as instâncias do servidor estiverem em domínios diferentes que não confiam um no outro (domínios não confiáveis).

Acesso ao ponto de extremidade (erro 1418 do SQL Server)

Esta mensagem do SQL Server indica que o endereço de rede do servidor especificado na URL do ponto de extremidade não pode ser acessado ou não existe, e sugere que você verifique o nome do endereço de rede e reemissue o comando. Para obter mais informações, consulte MSSQLSERVER_1418.

Falha ao unir bancos de dados (erro 35250 do SQL Server)

Esta seção discute as possíveis causas e a resolução de uma falha na junção de bancos de dados secundários ao grupo de disponibilidade porque a conexão com a réplica primária não está ativa.

Resolução :

  1. Verifique a configuração de firewall para ver se permite a comunicação de porta de ponto de extremidade entre as instâncias de servidor que hospedam a réplica primária e a réplica secundária (porta 5022 por padrão).

  2. Verifique se a conta de serviço de rede tem permissão de conexão ao endpoint.

O roteamento somente leitura não está funcionando corretamente

Verifique as seguintes configurações de valores de configuração e corrija-as, se necessário.

Em... Ação Comentários Ligação
Caixa de seleção Réplica primária atual Verifique se o ouvinte do grupo de disponibilidade está online. Para verificar se o ouvinte está online:

SELECT * FROM sys.dm_tcp_listener_states;

Para reiniciar um ouvinte offline:

ALTER AVAILABILITY GROUP myAG RESTART LISTENER 'myAG_Listener';
sys.dm_tcp_listener_states (Transact-SQL)

ALTERAR GRUPO DE DISPONIBILIDADE (Transact-SQL)
Caixa de seleção Réplica primária atual Verifique se o READ_ONLY_ROUTING_LIST contém apenas instâncias de servidor que hospedam uma réplica secundária legível. Para identificar réplicas secundárias legíveis: sys.availability_replicas (coluna secondary_role_allow_connections_desc)

Para ver uma lista de roteamento em modo somente leitura: sys.availability_read_only_routing_lists

Para alterar uma lista de roteamento somente leitura: ALTERAR GRUPO DE DISPONIBILIDADE
sys.availability_replicas (Transact-SQL)

sys.availability_read_only_routing_lists (Transact-SQL)

ALTERAR GRUPO DE DISPONIBILIDADE (Transact-SQL)
Caixa de seleção Cada réplica na "read_only_routing_list" Verifique se o firewall do Windows não está bloqueando a porta READ_ONLY_ROUTING_URL. - Configurar um Firewall do Windows para acesso ao Mecanismo de Banco de Dados
Caixa de seleção Cada réplica na lista_de_rota_somente_leitura No Gerenciador de Configurações do SQL Server, verifique se:

A conectividade remota do SQL Server está habilitada.

O TCP/IP está habilitado.

Os endereços IP são configurados corretamente.
- Exibir ou alterar propriedades de servidor (SQL Server)

Configurar um servidor para escutar em uma porta TCP específica (SQL Server Configuration Manager)
Caixa de seleção Cada réplica na read_only_routing_list Verifique se o READ_ONLY_ROUTING_URL (TCP://system-address:port) contém o FQDN (nome de domínio totalmente qualificado) e o número da porta corretos. - Calculando read_only_routing_url para AlwaysOn

sys.availability_replicas (Transact-SQL)

ALTERAR GRUPO DE DISPONIBILIDADE (Transact-SQL)
Caixa de seleção Sistema cliente Verifique se o driver cliente dá suporte ao roteamento somente leitura. - Conectividade do cliente AlwaysOn (SQL Server)

Tarefas Relacionadas

Conteúdo relacionado

Consulte Também

Segurança de Transporte para Espelhamento de Banco de Dados e Grupos de Disponibilidade AlwaysOn (SQL Server)Configuração de Rede do ClientePré-requisitos, Restrições e Recomendações para Grupos de Disponibilidade AlwaysOn (SQL Server)