sys.dm_hadr_availability_replica_states (Transact-SQL)

Gibt eine Zeile für jedes lokale Verfügbarkeitsreplikat und eine Zeile für jedes Remoteverfügbarkeitsreplikat zurück, das sich in derselben AlwaysOn-Verfügbarkeitsgruppe wie ein lokales Replikat befindet. Jede Zeile enthält Informationen zum Status eines angegebenen Verfügbarkeitsreplikats.

Wichtiger HinweisWichtig

Durch Abfragen von sys.dm_hadr_availability_replica_states in der Serverinstanz, die das primäre Replikat hostet, können Sie Informationen zu jedem Verfügbarkeitsreplikat in einer angegebenen Verfügbarkeitsgruppe abrufen. Findet die Abfrage in einer Serverinstanz statt, die ein sekundäres Replikat einer Verfügbarkeitsgruppe hostet, gibt diese dynamische Verwaltungssicht nur lokale Informationen für die Verfügbarkeitsgruppe zurück.

Spaltenname

Datentyp

Beschreibung

replica_id

uniqueidentifier

Eindeutiger Bezeichner des Verfügbarkeitsreplikats.

group_id

uniqueidentifier

Eindeutiger Bezeichner der Verfügbarkeitsgruppe.

is_local

bit

Gibt an, ob das Verfügbarkeitsreplikat lokal ist. Folgende Werte sind möglich:

0 = Gibt ein sekundäres Remotereplikat in einer Verfügbarkeitsgruppe an, deren primäres Replikat von der lokalen Serverinstanz gehostet wird. Dieser Wert kommt nur am primären Replikatspeicherort vor.

1 = Gibt ein lokales Verfügbarkeitsreplikat an. Auf sekundären Replikaten ist dies der einzige verfügbare Wert für die Verfügbarkeitsgruppe, zu der das Replikat gehört.

role

tinyint

Aktuelle AlwaysOn-Verfügbarkeitsgruppen-Rolle eines lokalen Verfügbarkeitsreplikats oder eines verbundenen Remoteverfügbarkeitsreplikats. Folgende Werte sind möglich:

0 = Wird aufgelöst

1 = Primär

2 = Sekundär

Weitere Informationen zu AlwaysOn-Verfügbarkeitsgruppen-Rollen finden Sie unter Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server).

role_desc

nvarchar(60)

Die Beschreibung von role. Folgende Werte sind möglich:

RESOLVING

PRIMARY

SECONDARY

operational_state

tinyint

Der aktuelle Betriebszustand des Verfügbarkeitsreplikats. Folgende Werte sind möglich:

0 = Ausstehendes Failover

1 = Ausstehend

2 = Online

3 = Offline

4 = Fehler

5 = Fehler, kein Quorum

NULL = Das Replikat ist nicht lokal.

Weitere Informationen finden Sie unter Rollen und Betriebszustände weiter unten in diesem Thema.

operational_state_desc

nvarchar(60)

Beschreibung von operational_state. Folgende Werte sind möglich:

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

NULL

recovery_health

tinyint

Rollup der database_state-Spalte der dynamischen sys.dm_hadr_database_replica_states-Verwaltungssicht. Folgende Werte sind möglich:

Wert

Beschreibung

0

Läuft. Mindestens eine verknüpfte Datenbank verfügt über einen anderen Datenbankstatus als ONLINE (database_state ist ungleich 0).

1

Online. Alle verknüpften Datenbanken verfügen über den Datenbankstatus ONLINE (database_state ist 0).

NULL

is_local = 0

recovery_health_desc

nvarchar(60)

Beschreibung von recovery_health. Folgende Werte sind möglich:

ONLINE_IN_PROGRESS

ONLINE

NULL

synchronization_health

tinyint

Stellt ein Rollup des Datenbanksynchronisierungsstatus (synchronization_state) aller verknüpften Verfügbarkeitsdatenbanken (auch bekannt als "Datenbankreplikate") und den Verfügbarkeitsmodus des Verfügbarkeitsreplikats (synchroner oder asynchroner Commit-Modus) dar. Der Rollup stellt den am wenigsten fehlerfreien akkumulierten Status der Datenbanken auf dem Verfügbarkeitsreplikat dar.

Wert

Beschreibung

0

Nicht fehlerfrei. Mindestens eine verknüpfte Datenbank weist den Status NOT SYNCHRONIZING auf.

1

Teilweise fehlerfrei. Einige Replikate befinden sich nicht im Zielsynchronisierungsstatus: Replikate mit synchronem Commit sollten synchronisiert sein, und Replikate mit asynchronem Commit sollten synchronisiert werden.

2

Ist fehlerfrei. Alle Replikate befinden sich im Zielsynchronisierungsstatus: Replikate mit synchronem Commit sind synchronisiert, und Replikate mit asynchronem Commit werden synchronisiert.

synchronization_health_desc

nvarchar(60)

Beschreibung von synchronization_health. Folgende Werte sind möglich:

NOT_HEALTHY

PARTIALLY_HEALTHY

HEALTHY

connected_state

tinyint

Gibt an, ob ein sekundäres Replikat derzeit mit dem primären Replikat verbunden ist. Folgende Werte sind möglich:

Wert

Beschreibung

0

Getrennt Die Antwort des eines Verfügbarkeitsreplikats auf den Status DISCONNECTED hängt wie folgt von dessen Rolle ab:

  • Wenn auf dem primären Replikat ein sekundäres Replikat getrennt ist, werden die sekundären Datenbanken auf dem primären Replikat als NICHT SYNCHRONISIERT gekennzeichnet, das wartet, bis das sekundäre Replikat wieder verbunden ist.

  • Wird erkannt, dass ein sekundäres Replikat getrennt ist, wird versucht, die Verbindung des sekundären Replikats mit dem primären Replikat wiederherzustellen.

1

Verbunden.

Jedes primäre Replikat verfolgt den Verbindungsstatus für jedes sekundäre Replikat in der gleichen Verfügbarkeitsgruppe nach. Sekundäre Replikate verfolgen nur den Verbindungsstatus des primären Replikats nach.

connected_state_desc

nvarchar(60)

Beschreibung von connection_state. Folgende Werte sind möglich:

DISCONNECTED

CONNECTED

last_connect_error_number

int

Die Nummer des letzten Verbindungsfehlers.

last_connect_error_description

nvarchar(1024)

Der Text der last_connect_error_number-Meldung.

last_connect_error_timestamp

datetime

Zeitstempel (Datum und Uhrzeit), der angibt, wann der last_connect_error_number-Fehler aufgetreten ist.

Rollen und Betriebszustände

Die Rolle (role) stellt den Status eines angegebenen Verfügbarkeitsreplikats dar, und der Betriebszustand (operational_state) beschreibt, ob das Replikat bereit ist, Clientanforderungen für die gesamte Datenbank des Verfügbarkeitsreplikats zu verarbeiten. In der folgenden Tabelle sind die möglichen Betriebszustände für jede Rolle zusammengefasst: RESOLVING, PRIMARY und SECONDARY.

Rolle

Bedeutung der Betriebszustände für jede Rolle

RESOLVING

Wenn ein Verfügbarkeitsreplikat die Rolle RESOLVING aufweist, sind folgende Betriebszustände möglich:

Betriebszustand

Beschreibung

PENDING_FAILOVER

Derzeit wird ein Failoverbefehl für die Verfügbarkeitsgruppe verarbeitet.

OFFLINE

Alle Konfigurationsdaten für das Verfügbarkeitsreplikat wurden im WSFC-Cluster und auch in den lokalen Metadaten aktualisiert, aber in der Verfügbarkeitsgruppe fehlt derzeit ein primäres Replikat.

FAILED

Beim Versuch, Informationen aus dem WSFC-Cluster abzurufen, ist ein Lesefehler aufgetreten.

FAILED_NO_QUORUM

Der lokale WSFC-Knoten verfügt nicht über ein Quorum. Dies ist ein abgeleiteter Status.

PRIMARY

Wenn ein Verfügbarkeitsreplikat die Rolle PRIMARY ausübt, ist es derzeit das primäre Replikat. Folgende Betriebszustände sind möglich:

Betriebszustand

Beschreibung

PENDING

Dies ist ein vorübergehender Status, aber ein primäres Replikat kann in diesem Status hangen bleiben, wenn keine Arbeitsthreads zum Verarbeiten der Anforderungen verfügbar sind.

ONLINE

Die Verfügbarkeitsgruppenressource ist online, und alle Datenbankarbeitsthreads wurden abgerufen.

FAILED

Das Verfügbarkeitsreplikat kann nicht aus dem WSFC-Cluster lesen oder in den WSFC-Cluster schreiben.

SECONDARY

Wenn ein Verfügbarkeitsreplikat die Rolle SECONDARY ausübt, ist es derzeit ein sekundäres Replikat. Folgende Betriebszustände sind möglich:

Betriebszustand

Beschreibung

ONLINE

Das lokale sekundäre Replikat ist mit dem primären Replikat verbunden.

FAILED

Das lokale sekundäre Replikat kann nicht aus dem WSFC-Cluster lesen oder in den WSFC-Cluster schreiben.

NULL

Auf einem primären Replikat wird dieser Wert zurückgegeben, wenn sich die Zeile auf ein sekundäres Replikat bezieht.

Sicherheit

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Siehe auch

Konzepte

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Überwachen von Verfügbarkeitsgruppen (Transact-SQL)