MSSQLSERVER_19419
Gilt für: SQL Server
Details
attribute | Wert |
---|---|
Produktname | SQL Server |
Ereignis-ID | 19419 |
Ereignisquelle | MSSQLSERVER |
Komponente | SQLEngine |
Symbolischer Name | HADR_AG_LEASE_EXPIRED_WAITING_FOR_RENEW |
Meldungstext | Der Windows Server-Failovercluster hat kein Prozessereignissignal von der SQL Server-Hostingverfügbarkeitsgruppe "%.*ls" innerhalb des Leasetimeoutzeitraums empfangen. |
Erklärung
Fehler 19419 wird im SQL Server-Fehlerprotokoll ausgelöst, wenn der Lease-Worker auf der SQL Server-Seite nicht rechtzeitig zum Verarbeiten des Ereignissignals aus dem Cluster geplant wurde. Insbesondere ruft SQL Server WaitForMultipleObjects() auf, die darauf warten, dass das Lease-Timeoutereignis in einem signalisierten Zustand festgelegt wird. Wenn die Funktion WAIT_OBJECT_0 zurückgibt, was den Erfolg angibt, aber bis zu diesem Zeitpunkt ist die Lease abgelaufen, wird der Fehler 19419 ausgelöst.
Ein Lease ist ein zeitbasierter Kommunikationsmechanismus, der zwischen dem SQL Server- und dem Windows Server-Failoverclusterprozess (WSFC) stattfindet, insbesondere dem RHS.EXE-Prozess. Die beiden Prozesse kommunizieren regelmäßig miteinander, um sicherzustellen, dass der andere Prozess ausgeführt wird und reagiert. Diese Kommunikation erfolgt mithilfe von Windows Event-Objekten und stellt sicher, dass ein Failover der AG-Ressource nicht ohne Kenntnis des WSFC erfolgt. Wenn eines der Prozesse nicht auf die Leasekommunikation basierend auf einem vordefinierten Leasezeitraum reagiert, tritt ein Leasetimeout auf. Ausführliche Informationen finden Sie unter Lease-Mechanismus. Siehe auch How It Works: SQL Server AlwaysOn Lease Timeout
Dieser Fehler bezieht sich auf andere Leasetimeoutfehler und bietet spezifischere Details für Fehler MSSQLSERVER_19407
Ursachen
Da Windows-Ereignisse leichte Synchronisierungsobjekte sind, gibt es relativ geringe Anzahl externer Faktoren, die sie negativ beeinflussen. Typische Probleme, die zu Leasetimeouts führen können, umfassen systemweite Probleme. Hier ist eine Liste der Möglichkeiten, die einen Leaseablauf verursachen und einen Neustart oder Failover verursachen können:
- Hohe CPU-Auslastung auf dem System (fast 100%)
- Nicht genügend Arbeitsspeicher – geringer virtueller Arbeitsspeicher und/oder eines der Prozesse wird ausgelagert.
- SQL Server-Prozess reagiert nicht beim Generieren eines großen Speicherabbilds
- WSFC offline (z. B. aufgrund eines Quorumverlusts)
Der häufigste Grund für Fehler 19419 ist eine hohe CPU, was zu einer Verzögerung bei der Planung des Lease-Workerthreads führt.
Aktion des Benutzers
Überprüfen Sie die CPU-Auslastung auf dem Server, da DER SQL Server-Lease-Worker anscheinend auf CPU-Ressourcen ausgehungert ist. Mit dem folgenden PowerShell-Skript können Sie die CPU-Auslastung auf dem System schnell diagnostizieren.
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 5 -MaxSamples 30 |
Select-Object -ExpandProperty CounterSamples | Select-Object TimeStamp, Path, CookedValue
Ausführliche Problembehandlung finden Sie unter "Benutzeraktion" in MSSQLSERVER_19407
- Behandeln von Problemen mit hoher CPU
- Behandeln von Problemen im Zusammenhang mit wenig Arbeitsspeicher
- Reduzieren oder Vermeiden großer Speicherabbilder des SQL Server- oder Clusterprozesses
- Überprüfen der Vm-Konfiguration (Virtual Machine) auf Die Überteilung
- Überprüfen auf vm-Migration (VM) oder Sicherung, die Probleme verursacht