Flexible Failoverrichtlinie für automatisches Failover einer Verfügbarkeitsgruppe (SQL Server)
Eine flexible Failoverrichtlinie ermöglicht eine präzise Kontrolle über die Bedingungen, die ein automatisches Failover für eine Verfügbarkeitsgruppe verursachen. Durch eine Änderung der Fehlerbedingungen, die ein automatisches Failover und die Häufigkeit von Integritätsprüfungen auslösen, können Sie die Wahrscheinlichkeit für ein automatisches Failover erhöhen oder verringern, um das SLA für hohe Verfügbarkeit zu unterstützen.
Die flexible Failoverrichtlinie für eine Verfügbarkeitsgruppe wird durch die Fehlerbedingungsebene und einen Schwellenwert für das Integritätsprüfungstimeout definiert. Sobald erkannt wird, dass eine Verfügbarkeitsgruppe ihre Fehlerbedingungsebene oder ihren Schwellenwert für das Integritätsprüfungstimeout überschritten hat, meldet die Ressourcen-DLL der Verfügbarkeitsgruppe dies dem WSFC-Cluster (Windows Server Failover Clustering). Der WSFC-Cluster initiiert dann ein automatisches Failover zum sekundären Replikat.
Wichtig |
---|
Wenn eine Verfügbarkeitsgruppe den Schwellenwert für WSFC-Fehler überschreitet, versucht der WSFC-Cluster nicht, ein automatisches Failover für die Verfügbarkeitsgruppe auszuführen. Außerdem verbleibt die WSFC-Ressourcengruppe der Verfügbarkeitsgruppe so lange in einem fehlerhaften Zustand, bis der Clusteradministrator die fehlerhafte Gruppe manuell online schaltet oder bis der Datenbankadministrator ein manuelles Failover der Verfügbarkeitsgruppe ausführt. Der WSFC-Fehlerschwellenwert ist als maximale Anzahl von Fehlern definiert, die während eines bestimmten Zeitraums für die Verfügbarkeitsgruppe unterstützt werden. Der Standardzeitraum beträgt sechs Stunden, und der Standardwert für die maximale Anzahl von Fehlern während dieses Zeitraums entspricht n-1, wobei n für die Anzahl der WSFC-Knoten steht. Um den Fehlerschwellenwert für eine angegebene Verfügbarkeitsgruppe zu ändern, verwenden Sie die WSFC Failover Manager Console. |
Dieses Thema enthält folgende Abschnitte:
Schwellenwert für das Integritätsprüfungstimeout
Fehlerbedingungsebene
Verwandte Aufgaben
Verwandte Inhalte
Schwellenwert für das Integritätsprüfungstimeout
Die WSFC-Ressourcen-DLL der Verfügbarkeitsgruppe führt eine Integritätsprüfung am primären Replikat aus, indem sie die gespeicherte Prozedur sp_server_diagnostics auf der SQL Server-Instanz aufruft, die das primäre Replikat hostet. sp_server_diagnostics gibt Ergebnisse in einem Intervall zurück, das 1/3 des Schwellenwerts für das Integritätsprüfungstimeout für die Verfügbarkeitsgruppe entspricht. Der Standardschwellenwert für das Integritätsprüfungstimeout ist 30 Sekunden, und dies bedeutet, dass sp_server_diagnostics in einem Intervall von 10 Sekunden Ergebnisse zurückgibt. Wenn sp_server_diagnostics langsam ist oder keine Informationen zurückgibt, wartet die Ressourcen-DLL das gesamte Intervall des durch den Schwellenwert definierten Integritätsprüfungstimeouts ab, bevor festgestellt wird, dass das primäre Replikat nicht reagiert. Wenn das primäre Replikat nicht reagiert, wird ein automatisches Failover initiiert, sofern dies aktuell unterstützt wird.
Wichtig |
---|
sp_server_diagnostics führt keine Integritätsprüfungen auf Datenbankebene aus. |
[Nach oben]
Fehlerbedingungsebene
Ob die Diagnosedaten und Zustandsinformationen, die von sp_server_diagnostics zurückgegeben wurden, ein automatisches Failover garantieren, hängt von der Fehlerbedingungsebene der Verfügbarkeitsgruppe ab. Die Fehlerbedingungsebene gibt an, welche Fehlerbedingungen ein automatisches Failover auslösen. Es gibt fünf Fehlerbedingungsebenen, die von der Ebene mit den wenigsten Einschränkungen (Ebene 1) bis zur Ebene mit den meisten Einschränkungen (Ebene 5) reichen. Jede Bedingungsebene umfasst stets auch die weniger restriktiven Ebenen. Daher schließt die strengste Ebene 5 die vier Bedingungsebenen mit weniger Einschränkungen ein usw.
Wichtig |
---|
Beschädigte und fehlerverdächtige Datenbanken werden von keiner Fehlerbedingungsebene erkannt. Deshalb werden automatische Failover niemals von Datenbanken ausgelöst, die beschädigt oder fehlerverdächtig sind (entweder aufgrund von Hardwarefehlern, Datenkorruption oder anderen Fehlern). |
In der folgenden Tabelle werden die Fehlerbedingungen beschrieben, die der jeweiligen Ebene entspricht.
Ebene |
Fehlerbedingung |
Transact-SQL-Wert |
PowerShell-Wert |
---|---|---|---|
1 (eins) |
der Server ausfällt. Gibt an, dass ein automatisches Failover in den folgenden Fällen initiiert wird:
Dies ist die am wenigsten restriktive Ebene. |
1 |
OnServerDown |
2 (zwei) |
der Server nicht reagiert. Gibt an, dass ein automatisches Failover in den folgenden Fällen initiiert wird:
|
2 |
OnServerUnresponsive |
3 (drei) |
ein kritischer Serverfehler auftritt. Gibt an, dass ein automatisches Failover bei kritischen internen SQL Server-Fehlern initiiert wird, z. B. verwaisten Spinlocks, ernsten Schreibzugriffsverletzungen oder zu vielen Sicherungen. Dies ist der Standardebene. |
3 |
OnCriticalServerError |
4 (vier) |
ein mittelschwerer Serverfehler auftritt. Gibt an, dass ein automatisches Failover bei mittelschweren internen SQL Server-Fehlern initiiert wird, z. B. bei dauerhaft unzureichendem Arbeitsspeicher im internen SQL Server-Ressourcenpool. |
4 |
OnModerateServerError |
5 (fünf) |
eine qualifizierte Fehlerbedingung auftritt. Gibt an, dass ein automatisches Failover bei sämtlichen qualifizierten Fehlerbedingungen initiiert wird, einschließlich:
Dies ist die restriktivste Ebene. |
5 |
OnAnyQualifiedFailureConditions |
Hinweis |
---|
Das Fehlen einer Reaktion auf Clientanforderungen durch eine SQL Server-Instanz ist für Verfügbarkeitsgruppen nicht relevant. |
[Nach oben]
Verwandte Aufgaben
So konfigurieren Sie ein automatisches Failover
Ändern des Verfügbarkeitsmodus eines Verfügbarkeitsreplikats (SQL Server) (ein automatisches Failover erfordert den Verfügbarkeitsmodus mit synchronem Commit)
Ändern des Failovermodus eines Verfügbarkeitsreplikats (SQL Server)
[Nach oben]
Verwandte Inhalte
[Nach oben]
Siehe auch
Verweis
sp_server_diagnostics (Transact-SQL)
Konzepte
Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server)
Verfügbarkeitsmodi (AlwaysOn-Verfügbarkeitsgruppen)
Failover und Failovermodi (AlwaysOn-Verfügbarkeitsgruppen)