Compartir a través de


MSSQLSERVER_19419

Se aplica a:SQL Server

Detalles

Atributo Value
Nombre de producto SQL Server
Id. de evento 19419
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 de SQL Server grupo de disponibilidad de hospedaje "%.*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 del SQL Server lado no se programó a tiempo para procesar la señal de eventos del 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 ha expirado la concesión, se genera el error 19419.

Una concesión es un mecanismo de comunicación basado en el tiempo que tiene lugar entre el SQL Server y el proceso del clúster de conmutación por error de Windows Server (WSFC), específicamente el proceso de 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 basada en un período de concesión predefinido, se produce un tiempo de espera de concesión. Para obtener información detallada, consulte Mecanismo de concesión. Consulte también Cómo funciona: tiempo de espera de concesión de AlwaysOn 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 en 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 de memoria insuficiente: memoria virtual baja o uno de los procesos se está paginando
  • SQL Server proceso 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 SQL Server trabajador de concesión parece estar hambriento 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 SQL Server o clúster
  • 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 provocan problemas