Compartilhar via


MSSQLSERVER_19419

Aplica-se a:SQL Server

Detalhes

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

Explicação

O erro 19419 é gerado no log de erros SQL Server quando o trabalho de concessão no lado do SQL Server não foi agendado a tempo de processar o sinal de evento do cluster. 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_OBJECT_0, o que indica êxito, mas a essa altura a concessão expirou, o erro 19419 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 de Evento do Windows e garante que um failover do recurso de 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. Veja 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 leve, 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 de CPU no sistema (perto de 100%)
  • Condições fora da memória - 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)

O motivo mais comum para o erro 19419 é a CPU alta, o que causa um atraso no agendamento do thread de trabalho de concessão.

Ação do usuário

Verifique a utilização da CPU no servidor, pois SQL Server trabalhador de concessão parece estar sem recursos de CPU. O script do PowerShell a seguir permitirá diagnosticar rapidamente o uso da CPU no sistema.

 Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 5 -MaxSamples 30 |
   Select-Object -ExpandProperty CounterSamples | Select-Object TimeStamp, Path, CookedValue

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

  • Solucionar problemas altos de 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 sobreprovisionamento
  • Verificar se há migração ou backup de VM (máquina virtual) causando problemas