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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de