MSSQLSERVER_19421

Aplica-se a:SQL Server

Detalhes

Atributo Valor
Nome do Produto SQL Server
ID do evento 19421
Origem do Evento MSSQLSERVER
Componente SQLEngine
Nome simbólico HADR_AG_LEASE_RENEWAL_TIMEOUT
Texto da mensagem SQL Server grupo de disponibilidade de hospedagem '%.*ls' não recebeu um sinal de evento de processo do Cluster de Failover do Windows Server dentro do período de tempo limite de concessão.

Explicação

O erro 19421 é gerado no log de erros do SQL Server quando o auxiliar de concessão no lado do cluster do Windows não sinaliza o thread de trabalho de concessão SQL Server dentro do período de concessão predefinido. Especificamente, SQL Server chama WaitForMultipleObjects() aguardando que o evento de tempo limite de concessão seja definido em um estado sinalizado. Se a função retornar WAIT_TIMEOUT, porque excedeu o intervalo de Concessão especificado, o erro 19421 será gerado.

Uma concessão é um mecanismo de comunicação baseado em tempo que ocorre entre o SQL Server e o processo WSFC (Cluster de Failover do Windows Server), especificamente o processo de RHS.EXE. Os dois processos se comunicam periodicamente para garantir que o outro processo esteja em execução e respondendo. Essa comunicação ocorre usando objetos Evento do Windows e garante que um failover do recurso do AG não ocorra sem o conhecimento do WSFC. Se um dos processos não responder à comunicação de concessão com base em um período de concessão predefinido, ocorrerá um tempo limite de concessão. Para obter informações detalhadas, consulte Mecanismo de Concessão. Consulte também Como funciona: SQL Server tempo limite de concessão AlwaysOn

Esse erro está relacionado a outros erros de tempo limite de concessão e fornece detalhes mais específicos para o erro MSSQLSERVER_19407

Causas

Como os Eventos do Windows são objetos de sincronização leves, há um número relativamente pequeno de fatores externos que os afetam negativamente. Problemas típicos que podem levar ao tempo limite de concessão envolvem problemas em todo o sistema. Aqui está uma lista de possibilidades que podem causar a expiração da concessão e causar uma reinicialização ou failover:

  • Alto uso da CPU no sistema (perto de 100%)
  • Condições de memória insuficiente - memória virtual baixa e/ou um dos processos está sendo paginado
  • SQL Server processo de não responder ao gerar um grande despejo de memória
  • WSFC ficando offline (por exemplo, devido à perda de quorum)

Ação do usuário

Verifique o recurso do Grupo de Disponibilidade correspondente no cluster WSFC para ver se ele relatou erros.

Para obter uma solução de problemas detalhada, consulte Ação do usuário no MSSQLSERVER_19407

  • Solucionar problemas de alta utilização da CPU
  • Solucionar problemas de pouca memória
  • Reduzir ou evitar grandes despejos de memória do processo de SQL Server ou cluster
  • Verificar a configuração da VM (máquina virtual) para superprovisionamento
  • Verificar se há migração ou backup de VM (máquina virtual) causando problemas