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 Always On. Os problemas de configuração típicos incluem Always On grupos de disponibilidade estiverem desabilitados, as contas estiverem configuradas incorretamente, o ponto de extremidade de espelhamento de banco de dados não existir, o ponto de extremidade estiver inacessível (SQL Server Erro 1418), o acesso à rede não existir e um comando de banco de dados de junção falhar (SQL Server Erro 35250).
Observação
Verifique se você está atendendo aos pré-requisitos dos Grupos de Disponibilidade Always On. 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 Always On Grupos de Disponibilidade, 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 do 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 resolução de uma falha ao unir bancos de dados secundários a um grupo de disponibilidade porque a conexão com a réplica primária não está ativa. |
O roteamento somente leitura não está funcionando corretamente | |
Tarefas relacionadas | Contém uma lista de tópicos orientados a tarefas no SQL Server 2014 Books Online 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 Always On 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.
As contas têm as permissões corretas?
Se os parceiros forem executados como a mesma conta de usuário do domínio, os logons de usuário corretos existirão automaticamente em ambos os bancos de dados master . Isso simplifica a configuração de segurança do banco de dados e é recomendado.
Se duas instâncias do servidor forem executadas como contas diferentes, o logon de cada conta deverá ser criado no banco de dados master na instância do servidor remoto e esse logon deverá receber permissões CONNECT para se conectar ao ponto de extremidade de espelhamento do banco de dados dessa 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).
Se SQL Server estiver em execução como uma conta interna, como Sistema Local, Serviço Local ou Serviço de Rede ou uma conta nondomain, 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, veja Usar certificados para um ponto de extremidade do espelhamento de banco de dados (Transact-SQL).
Pontos de extremidade
Os pontos de extremidade devem ser configurados corretamente.
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 do banco de dados em determinada instância do servidor, use a exibiçã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 a Autenticação do Windows (Transact-SQL) ou Permitir que um ponto de extremidade de espelhamento de banco de dados use certificados para conexões de saída (Transact-SQL).
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 Transact-SQL:
SELECT type_desc, port FROM sys.tcp_endpoints; GO
Para Always On problemas de configuração dos Grupos de Disponibilidade difíceis de explicar, recomendamos que você inspecione cada instância do servidor para determinar se ela está escutando nas portas corretas. Para obter mais informações sobre como verificar a disponibilidade de porta, veja MSSQLSERVER_1418.
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).
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 de sistema de uma instância do servidor em uma URL de ponto de extremidade, você pode usar qualquer nome que identifique o sistema inequivocamente. 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)
Essa mensagem do SQL Server indica que o endereço de rede do servidor especificado na URL do ponto de extremidade não pode ser atingido ou não existe e sugere que você verifique o nome do endereço de rede e emita o comando novamente. Para obter mais informações, veja MSSQLSERVER_1418.
Falha ao unir bancos de dados (erro 35250 do SQL Server)
Discute as possíveis causas e resolução de uma falha ao unir bancos de dados secundários a um grupo de disponibilidade porque a conexão com a réplica primária não está ativa.
Resolução:
Verifique a configuração do firewall para confirmar se ele permite comunicação da porta do ponto de extremidade entre as instâncias do servidor que hospedam a réplica primária e a réplica secundária (por padrão, a porta 5022).
Verifique se a conta de serviço de rede tem permissão para conectar-se ao ponto de extremidade.
O roteamento somente leitura não está funcionando corretamente
Verifique as configurações de valores a seguir e corrija-as se necessário.
Ligado... | Ação | Comentários | Link | |
---|---|---|---|---|
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) ALTER AVAILABILITY GROUP (Transact-SQL) |
|
Réplica primária atual | Verifique se READ_ONLY_ROUTING_LIST contém somente instâncias de servidor que hospedem 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 exibir uma lista de roteamento somente leitura: sys.availability_read_only_routing_lists Para alterar uma lista de roteamento somente leitura: ALTER AVAILABILITY GROUP |
sys.availability_replicas (Transact-SQL) sys.availability_read_only_routing_lists (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
|
Cada réplica em 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 | |
Cada réplica em read_only_routing_list | Em SQL Server Configuration Manager, verifique se: A conectividade remota do SQL Server está habilitada. TCP/IP está habilitado. Os endereços IP estão configurados corretamente. |
- | Exibir ou alterar propriedades de servidor (SQL Server) Configurar um servidor para escuta em uma porta TCP específica (SQL Server Configuration Manager) |
|
Cada réplica em 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 de AlwaysOn sys.availability_replicas (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
|
Sistema cliente | Verifique se o driver cliente dá suporte a roteamento somente leitura. | - | Conectividade de Cliente AlwaysOn (SQL Server) |
Related Tasks
Criação e configuração de grupos de disponibilidade (SQL Server)
Preparar um banco de dados secundário manualmente para um grupo de disponibilidade (SQL Server)
Gerenciar metadados ao disponibilizar um banco de dados em outra instância do servidor (SQL Server)
Conteúdo relacionado
Consulte Também
Segurança de transporte para espelhamento de banco de dados e grupos de disponibilidade AlwaysOn (SQL Server)Pré-requisitos de configuração de rede do cliente, restrições e recomendações para grupos de disponibilidade AlwaysOn (SQL Server)