MSSQLSERVER_19419
Se aplica a: SQL Server
Detalles
Attribute | Valor |
---|---|
Nombre del producto | SQL Server |
Id. de evento | 19 419 |
Origen de eventos | MSSQLSERVER |
Componente | SQLEngine |
Nombre simbólico | HADR_AG_LEASE_EXPIRED_WAITING_FOR_RENEW |
Texto del mensaje | El clúster de conmutación por error de Windows Server no recibió una señal de evento de proceso del grupo de disponibilidad de hospedaje de SQL Server "%.*ls" dentro del período de tiempo de espera de concesión. |
Explicación
El error 19419 se genera en el registro de errores de SQL Server cuando el trabajo de concesión en el lado de SQL Server no se programó a tiempo para procesar la señal de evento desde el clúster. En concreto, SQL Server llama a WaitForMultipleObjects() esperando que el evento de tiempo de espera de concesión se establezca en un estado señalado. Si la función devuelve WAIT_OBJECT_0, lo que indica que la concesión ha expirado, pero en este momento la concesión ha expirado, se genera el error 19419.
Una concesión es un mecanismo de comunicación temporal que tiene lugar entre SQL Server y el proceso del clúster de conmutación por error de Windows Server (WSFC), específicamente el proceso RHS.EXE. Los dos procesos se comunican entre sí periódicamente para asegurarse de que el otro proceso se está ejecutando y respondiendo. Esta comunicación tiene lugar mediante objetos Event de Windows y garantiza que no se produzca una conmutación por error del recurso del grupo de disponibilidad sin el conocimiento del WSFC. Si uno de los procesos no responde a la comunicación de concesión según un período de concesión predefinido, la concesión entra en tiempo de espera. Para obtener información detallada, consulte Mecanismo de concesión. Vea también Cómo funciona: Tiempo de espera de concesión alwaysOn de SQL Server
Este error está relacionado con otros errores de tiempo de espera de concesión y proporciona detalles más específicos para el error MSSQLSERVER_19407
Causas
Dado que los eventos de Windows son objetos de sincronización ligeros, hay un número relativamente pequeño de factores externos que les afectan negativamente. Los problemas típicos que pueden dar lugar a un tiempo de espera de concesión implican problemas de todo el sistema. Esta es una lista de posibilidades que pueden provocar la expiración de la concesión y provocar un reinicio o conmutación por error:
- Uso elevado de CPU en el sistema (cerca del 100 %)
- Condiciones fuera de memoria: memoria virtual baja o uno de los procesos se está paginando
- Proceso de SQL Server que no responde al generar un volcado de memoria grande
- WSFC se queda sin conexión (por ejemplo, debido a la pérdida de cuórum)
La razón más común para el error 19419 es una CPU alta, lo que provoca un retraso en la programación del subproceso de trabajo de concesión.
Acción del usuario
Compruebe el uso de la CPU en el servidor, ya que parece que el trabajo de concesión de SQL Server se ha agotado para los recursos de CPU. El siguiente script de PowerShell le permitirá diagnosticar rápidamente el uso de cpu en el sistema.
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 5 -MaxSamples 30 |
Select-Object -ExpandProperty CounterSamples | Select-Object TimeStamp, Path, CookedValue
Para obtener una solución de problemas detallada, consulte Acción del usuario en MSSQLSERVER_19407
- Solución de problemas elevados de CPU
- Solución de problemas de falta de memoria
- Reducir o evitar grandes volcados de memoria del proceso de clúster o SQL Server
- Comprobación de la configuración de máquina virtual (VM) para el sobreaprovisionamiento
- Comprobación de la migración o copia de seguridad de máquinas virtuales (VM) que causan problemas