Monitorar e solucionar problemas de grupos de disponibilidade
Este guia ajuda você a começar a monitorar grupos de disponibilidade e solucionar alguns dos problemas comuns em grupos de disponibilidade. Ele fornece o conteúdo original e uma página de aterrissagem com informações úteis que são publicadas em outros lugares. Embora este guia não aborde completamente todos os problemas que podem ocorrer no vasto campo dos grupos de disponibilidade, ele pode indicar a direção correta para sua análise de causa raiz e para a solução de problemas.
Como os grupos de disponibilidade são uma tecnologia integrada, muitos problemas encontrados podem ser sintomas de outros problemas do seu sistema de banco de dados. Alguns problemas são causados por configurações em um grupo de disponibilidade, como um banco de dados de disponibilidade que está sendo suspenso. Outros problemas podem estar relacionados com outros aspectos do SQL Server, como configurações do SQL Server, implantações de arquivos de banco de dados e problemas de desempenho sistêmicos não relacionados à disponibilidade. Além disso, pode haver outros problemas fora do SQL Server, como problemas de E/S de rede, de TCP/IP, de Active Directory e de WSFC (Cluster de Failover do Windows Server). Muitas vezes, os problemas que rondam um grupo de disponibilidade, uma réplica ou um banco de dados exigem a solução de problemas de várias tecnologias para identificar a causa raiz.
Cenários de solução de problemas
A tabela a seguir contém links para os cenários de solução de problemas comuns de grupos de disponibilidade. Eles são categorizados por tipo de cenário, como configuração, conectividade de cliente, failover e desempenho.
Cenário | Tipo de cenário | Descrição |
---|---|---|
Solucionar problemas de configuração de grupos de disponibilidade AlwaysOn (SQL Server) | Configuração | Fornece informações para ajudar a solucionar problemas típicos com a configuração de instâncias de servidor de grupos de disponibilidade. Os problemas de configuração típicos incluem: – os grupos de disponibilidade estão desabilitados – as contas não estão configuradas corretamente – o ponto de extremidade de espelhamento de banco de dados não existe – o ponto de extremidade não está acessível (Erro 1418 do SQL Server) – o acesso à rede não existe – falha no comando de junção de bancos de dados (Erro 35250 do SQL Server) |
Solução de problemas de uma operação de adicionar arquivos com falha (grupos de disponibilidade de AlwaysOn) | Configuração | Uma operação de adição de arquivo fez com que o banco de dados secundário fosse suspenso e entrasse no estado NOT SYNCHRONIZING. |
Não é possível conectar-se ao ouvinte do grupo de disponibilidade em um ambiente de várias sub-redes | Conectividade de cliente | Depois de configurar o ouvinte do grupo de disponibilidade, não será possível fazer ping do ouvinte ou se conectar a ele por meio de um aplicativo. |
Solução de problemas de failovers automáticos com falha | Failover | Um failover automático não foi concluído com êxito. |
Solucionar problemas: o grupo de disponibilidade excedeu o RTO | Desempenho | Após um failover automático ou um failover manual planejado sem perda de dados, o tempo de failover excede o RTO. Ou, quando você calcula o tempo de failover de uma réplica secundária de confirmação síncrona (como um parceiro de failover automático), você descobre que ele excede o RTO. |
Solucionar problemas: o grupo de disponibilidade excedeu o RPO | Desempenho | Depois de executar um failover manual forçado, a perda de dados é maior que o RPO. Ou, ao calcular a possível perda de dados de uma réplica secundária de confirmação assíncrona, você descobre que ela excede o RPO. |
Solucionar problemas: as alterações na réplica primária não são refletidas na réplica secundária | Desempenho | O aplicativo cliente conclui uma atualização na réplica primária com êxito, mas uma consulta à réplica secundária mostra que a alteração não foi refletida. |
Solução de problemas: alto tipo de espera HADR_SYNC_COMMIT com Grupos de Disponibilidade Always On | Desempenho | Se HADR_SYNC_COMMIT é muito longo, há um problema de desempenho no fluxo de movimentação de dados ou na proteção de logs da réplica secundária. |
Ferramentas úteis para solução de problemas
Ao configurar ou executar grupos de disponibilidade, diversas ferramentas podem ajudá-lo a diagnosticar diferentes tipos de problemas. A tabela a seguir fornece links para informações úteis sobre as ferramentas.
Ferramenta | Descrição |
---|---|
Usar o Painel AlwaysOn (SQL Server Management Studio) | Oferece relatório em uma exibição resumida da integridade de seu grupo de disponibilidade com uma interface fácil de usar. |
Políticas Always On | Usado pelo Painel Always On. |
Log de erros do SQL Server (Grupos de Disponibilidade Always On) | Registra eventos de transição de estado de grupos, réplicas e bancos de dados de disponibilidade, status de outros componentes Always On e erros do Always On. |
CLUSTER.LOG (Grupos de Disponibilidade Always On) | Registra eventos de cluster, inclusive transições de estado do recurso do grupo de disponibilidade, bem como eventos e erros de DLL de recurso do SQL Server. |
Log de diagnóstico de integridade do Always On | Registra diagnóstico de integridade do SQL Server conforme relatado para o cluster WSFC (DLL de recurso do SQL Server) por sp_server_diagnostics (Transact-SQL). |
Exibições de gerenciamento dinâmico e exibições de catálogo do sistema (Grupos de Disponibilidade Always On) | Fornece informações sobre os grupos de disponibilidade como métricas de desempenho, configuração e status de integridade. |
Eventos estendidos de Always On | Fornecem um diagnóstico detalhado dos grupos de disponibilidade e são úteis para análise de causa raiz. |
Tipos de espera de Always On | Fornecem estatísticas de espera específicas de grupos de disponibilidade e são úteis para ajuste de desempenho. |
Contadores de desempenho do Always On | Monitoram a atividade de grupos de disponibilidade, são refletidos no Monitor do Sistema e são úteis para ajuste de desempenho. Para obter mais informações, confira SQL Server, objeto de réplica de disponibilidade e SQL Server, objeto de réplica de banco de dados. |
Buffers de anéis do Always On | Registram alertas no sistema do SQL Server para diagnósticos internos e podem ser usados para depurar problemas relacionados aos grupos de disponibilidade. |
Monitorar grupos de disponibilidade
O momento ideal para solucionar problemas de um grupo de disponibilidade é antes que o problema exija um failover automático ou manual. Isso pode ser feito pelo monitoramento de métricas de desempenho do grupo de disponibilidade e pelo envio de alertas quando as réplicas de disponibilidade estiverem com um desempenho fora dos limites do SLA (Contrato de Nível de Serviço). Por exemplo, se uma réplica secundária síncrona tiver problemas de desempenho que causam aumento no tempo estimado de failover, não será interessante esperar até que um failover automático ocorra e você descubra que o tempo de failover é maior que sua meta de tempo de recuperação.
Como os grupos de disponibilidade são uma solução alta disponibilidade e recuperação de desastre, as métricas de desempenho mais importantes para monitorar são o tempo estimado de failover, que afeta o seu RTO (objetivo de tempo de recuperação), e a potencial perda de dados em um desastre, que afeta seu RPO (objetivo de ponto de recuperação). Você pode reunir essas métricas com os dados que o SQL Server expõe a qualquer momento, para ser alertado a respeito de um problema nos recursos de HADR (alta disponibilidade e recuperação de desastre) do seu sistema antes da ocorrência real de eventos de falha. Portanto, é importante se familiarizar com o processo de sincronização de dados dos grupos de disponibilidade e coletar as métricas de maneira adequada.
A tabela abaixo indica artigos que podem ajudar você a monitorar a integridade da solução de grupos de disponibilidade.
Artigo | Descrição |
---|---|
Monitorar o desempenho de Grupos de Disponibilidade Always On | Descreve o processo de sincronização de dados para grupos de disponibilidade, os portões de controle de fluxo e as métricas úteis ao monitorar um grupo de disponibilidade; também mostra como coletar métricas de RTO e RPO. |
Monitoramento de grupos de disponibilidade (SQL Server) | Fornece informações sobre ferramentas para monitorar um grupo de disponibilidade. |
O modelo de integridade Always On, parte 1: arquitetura do modelo de integridade | Fornece uma visão geral do modelo de integridade do Always On. |
O modelo de integridade Always On, parte 2: estendendo o modelo de integridade | Mostra como personalizar o modelo de integridade Always On e personalizar o Painel Always On para mostrar informações adicionais. |
Monitorando a integridade do Always On com o PowerShell, parte 1: visão geral básica do cmdlet | Fornece uma visão geral básica de cmdlets do PowerShell para o Always On que podem ser usados para monitorar a integridade de um grupo de disponibilidade. |
Monitorando a integridade do Always On com o PowerShell, parte 2: uso avançado do cmdlet | Fornece informações sobre o uso avançado dos cmdlets do PowerShell para o Always On para monitorar a integridade de um grupo de disponibilidade. |
Monitorando a integridade do Always On com o PowerShell, parte 3: um aplicativo simples de monitoramento | Mostra como monitorar automaticamente um grupo de disponibilidade com um aplicativo. |
Monitorando a integridade do Always On com o PowerShell, parte 4: integração com o SQL Server Agent | Fornece informações sobre como integrar o monitoramento do grupo de disponibilidade com o SQL Server Agent e configurar notificações para as pessoas apropriadas quando surgirem problemas. |