Gilt für
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Problembeschreibung

Dieses Update enthält die folgenden Verbesserungen für die Unterstützung von Microsoft SQL Server AlwaysOn Lease Timeout:

  • In der Meldung LeaseTimeout wird nun die aktuelle Uhrzeit und die erwartete Verlängerungszeit angezeigt und protokolliert.

  • Für Lease-Worker wurde eine neue Fehlermeldung hinzugefügt, die den Grund für das Leasetimeout eindeutig angibt.

  • Ein neues erweitertes Ereignis und ein neuer Ringpuffer für Lease-Worker wurden hinzugefügt. Diese weisen eindeutig auf die Leasephasen hin.

Lösung

Das Problem wurde zuerst in den folgenden Service Packs für SQL Server behoben.

Weitere Informationen zu SQL Server 2012 Service Pack 3 (SP3) finden Sie unter Fehler, die in SQL Server 2012 Service Pack 3 behoben wurden.

Service Pack 2 für SQL Server für SQL Server 2014Informationen zu Service Packs für SQL Server Service packs sind kumulativ. Jedes neue Service Pack enthält neben neuen Updates alle Updates früherer Service Packs. Es wird empfohlen, das neueste Service Pack und das neueste kumulative Update für dieses Service Pack anzuwenden. Sie müssen also keine älteren Versionen eines Service Packs installieren, bevor Sie das neueste Service Pack installieren. Verwenden Sie Tabelle 1 im folgenden Artikel, um weitere Informationen zum neuesten Service Pack und zum neuesten kumulativen Update zu finden.Ermitteln der Version, Edition und Updateebene von SQL Server und der zugehörigen Komponenten

Weitere Informationen

Um zusätzliche Erkenntnisse zu bieten, wurden SQL Server neue Fehlermeldungen hinzugefügt. In der folgenden Tabelle werden diese aufgelistet und erläutert.

Fehler

Fehlermeldung

Ursache

Korrekturmaßnahmen

19419

Bei der Erneuerung der Lease zwischen der Verfügbarkeitsgruppe '%.*ls' und dem Windows Server Failovercluster ist ein Fehler aufgetreten, da die vorhandene Lease nicht mehr gültig ist.

Der Lease-Worker aufseiten der SQL Server wurde nicht rechtzeitig für die Verarbeitung des Ereignissignals aus dem Cluster geplant.

Überprüfen Sie die CPU-Auslastung auf dem Server, da SQL Server Lease-Worker zu verhungern scheint.

19420

Die Verfügbarkeitsgruppe '%.*ls' wird explizit aufgefordert, die Leaseverlängerung zu beenden.

Die Leaseverlängerung wird im Rahmen des Offline schalten der Verfügbarkeitsgruppe beendet. Dies ist nur informativ.

19421

Bei der Erneuerung der Lease zwischen der Verfügbarkeitsgruppe '%.*ls' und dem Windows Server Failovercluster ist ein Fehler aufgetreten, da die Verlängerung nicht innerhalb des Leaseintervalls erfolgt ist.

Das Leasehilfsprogramm auf der Clusterseite hat dem SQL Server Lease-Worker nicht rechtzeitig signalisiert.

Überprüfen Sie die entsprechende Verfügbarkeitsgruppenressource im WSFC-Cluster, um festzustellen, ob ein Fehler gemeldet wurde.

19422

Die Erneuerung der Lease zwischen der Verfügbarkeitsgruppe '%.*ls' und dem Windows Server Failovercluster ist aufgrund eines Windows-Fehlers mit dem Fehlercode ("%d") fehlgeschlagen.

Der Lease-Worker auf SQL Server Seite konnte die Lease aufgrund eines Windows-Fehlers nicht verlängern.

Überprüfen Sie den Windows-Fehlercode, und führen Sie die Korrekturmaßnahmen aus.

19423

Die Lease der "%.*ls"-Lease der Verfügbarkeitsgruppe ist nicht mehr gültig, um den Leaseverlängerungsprozess zu starten.

Als der Lease-Worker mit der Verarbeitung der vom Onlineaufruf bereitgestellten längeren Leasezeit begonnen hat, war die Lease bereits abgelaufen. Dies kann aufgrund von Zeitplanungsproblemen geschehen.

Überprüfen Sie die CPU-Auslastung auf dem Server, da SQL Server Lease-Worker zu verhungern scheint.

19424

Der Lease-Worker der Verfügbarkeitsgruppe '%.*ls' befindet sich jetzt im Ruhezustand der überschüssigen Leasezeit (%u ms), die während der Onlinezeit angegeben wurde. Dies ist nur eine Informationsmeldung. Es ist keine Benutzeraktion erforderlich.

Informations. Zusätzliche Onlinezeit, die für das Starten des Leaseerneuerungsthreads und als Teil der Onlineroutine der Verfügbarkeitsgruppe vorgesehen ist.

Beispiel für Fehler 19419: Wenn Sie einen Debugger zum Anfügen an SQL Server verwenden, wird die Wartung von Threads im SQL Server Prozess unterbrochen, bis Sie den SQL Server Prozess fortsetzen. Wenn Sie SQL Server fortsetzen, wird Folgendes im SQL Server Fehlerprotokoll gemeldet:

<Datum Uhrzeit> ServerFehler: 19419, Schweregrad: 16, Status: 1. <Datum/Uhrzeit> Server Windows Server Failoverclusters hat innerhalb des Leasetimeoutzeitraums kein Prozessereignissignal von SQL Server empfangen, das die Verfügbarkeitsgruppe "ag" hostt. <Datum Uhrzeit> Serverfehler: 19407, Schweregrad: 16, Status: 1. <Datum/Uhrzeit> Server Die Lease zwischen der Verfügbarkeitsgruppe "ag" und dem Windows Server Failovercluster ist abgelaufen. Zwischen dem instance von SQL Server und dem Windows Server Failovercluster ist ein Konnektivitätsproblem aufgetreten. Überprüfen Sie die entsprechende Verfügbarkeitsgruppenressource im Windows Server Failovercluster, um zu ermitteln, ob für die Verfügbarkeitsgruppe ein ordnungsgemäßes Failover ausgeführt wird. <Datum/Uhrzeit> Server AlwaysOn: Das lokale Replikat der Verfügbarkeitsgruppe "ag" wird offline geschaltet, da entweder die Lease abgelaufen ist oder die Leaseverlängerung fehlgeschlagen ist. Dies ist nur eine Informationsmeldung. Es ist keine Benutzeraktion erforderlich. <Datum Uhrzeit> Server Der Status des lokalen Verfügbarkeitsreplikats in der Verfügbarkeitsgruppe "ag" hat sich von "PRIMARY_NORMAL" in "RESOLVING_NORMAL" geändert. Der Replikatstatus hat sich entweder aufgrund eines Start-, Eines Failovers, eines Kommunikationsproblems oder eines Clusterfehlers geändert. Weitere Informationen finden Sie unter verfügbarkeitsgruppen-Dashboard, SQL Server Fehlerprotokoll, Windows Server Failovercluster-Verwaltungskonsole oder Windows Server Failoverclusterprotokoll.

Der Fehler 19419 wird zurückgegeben, weil SQL Server nicht auf den Clusterdienst reagiert hat. Möglicherweise erhalten Sie auch eine Leasetimeout-Fehlermeldung (19407) zusammen mit dem Fehler 19419.Beispiel für Fehler 19424: Im Folgenden finden Sie die Meldung zu einer übermäßigen Leasezeit, die unmittelbar vor dem Übergang der Verfügbarkeitsgruppe in die PRIMARY-Rolle gemeldet wird:

<Datum Uhrzeit> Server Der Lease-Worker der Verfügbarkeitsgruppe "ag" befindet sich jetzt im Ruhezustand der während des Onlinebetriebs angegebenen längeren Leasezeit (164766 ms). Dies ist nur eine Informationsmeldung. Es ist keine Benutzeraktion erforderlich. <Datum Uhrzeit> Server Der Status des lokalen Verfügbarkeitsreplikats in der Verfügbarkeitsgruppe "ag" hat sich von "PRIMARY_PENDING" in "PRIMARY_NORMAL" geändert. Der Replikatstatus hat sich entweder aufgrund eines Start-, Eines Failovers, eines Kommunikationsproblems oder eines Clusterfehlers geändert. Weitere Informationen finden Sie unter verfügbarkeitsgruppen-Dashboard, SQL Server Fehlerprotokoll, Windows Server Failovercluster-Verwaltungskonsole oder Windows Server Failoverclusterprotokoll.

Die availability_group_lease_expired und hadr_ag_lease_renewal XEvents wurden verbessert, und es wurden Datenpunkte hinzugefügt, die weitere Informationen zum Zustand der Lease bereitstellen. In der folgenden Tabelle werden die Verbesserungen an diesen XEvents beschrieben:

XEvent

Neue Spalte

Beschreibung

availability_group_lease_expired

current_time

Zeitpunkt, zu dem die Lease abgelaufen ist

availability_group_lease_expired

new_timeout

Timeout: Wenn availability_group_lease_expired ausgelöst wird, ist current_time größer als new_timeout

availability_group_lease_expired

Staat

Leasephasen: siehe Tabelle "Leasephasen" unten

hadr_ag_lease_renewal

Staat

hadr_ag_lease_renewal

hadr_ag_lease_renewal

Error_code

Wenn der Status HadrLeaseRenewal_FailedWithWindowsError ist, ist error_code der Windows-Fehlercode, der dem Fehler zugeordnet ist.

Leasephasen und -definitionenIn der folgenden Tabelle sind die möglichen Leasephasen und deren Funktionen aufgeführt:

Phasenname

Beschreibung

HadrLeaseRenewal_LeaseWorkerStarted

Der Leasearbeitsthread wurde gestartet.

HadrLeaseRenewal_StartedExcessLeaseSleep

Starten einer übermäßigen Lease. Überschüssige Leasephasen dokumentieren den Beginn des Leasethreads während der Onlinephase der Verfügbarkeitsgruppe.

HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease

Die überschüssige Lease schlägt fehl, wenn die Lease bereits abgelaufen ist.

HadrLeaseRenewal_SkipExcessSleep

Wir überspringen die überschüssige Lease, wenn die für den Ruhezustand verfügbare Dauer kleiner als das Leaseintervall ist. Es ist nicht erforderlich, die überschüssige Lease zu durchlaufen, nur den Handschüttelprozess zu starten.

HadrLeaseRenewal_ExcessSleepSucceeded

Eine übermäßige Lease war erfolgreich.

HadrLeaseRenewal_RenewSucceeded

Wir sollten dies bei jeder Erneuerung sehen.

HadrLeaseRenewal_LeaseNotValid

Entspricht Fehler: 19419 Windows Server Failovercluster hat kein Prozessereignissignal von SQL Server Hostverfügbarkeitsgruppe '%.*ls' innerhalb des Leasetimeoutzeitraums empfangen.

HadrLeaseRenewal_StopLeaseRenewal

Dies sollte während eines Failoverereignisses angezeigt werden.

HadrLeaseRenewal_LeaseExpired

Entspricht Dem Fehler 19421 SQL Server die Hostverfügbarkeitsgruppe "%.*ls" hat innerhalb des Leasetimeoutzeitraums kein Prozessereignissignal vom Windows Server Failovercluster empfangen.

HadrLeaseRenewal_FailedWithWindowsError

Fehler bei der Leaseverlängerung aufgrund eines Windows-Fehlers.

Weitere Informationen finden Sie unter Verbesserte Diagnose des Leasetimeouts für AlwaysOn-Verfügbarkeitsgruppen.Weitere Informationen zum Leasetimeout finden Sie unter How It Works: SQL Server AlwaysOn Lease Timeout.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.