Freigeben über


sys.dm_hadr_availability_replica_states (Transact-SQL)

Gilt für: SQL Server

Gibt eine Zeile für jedes lokale Replikat und eine Zeile für jedes Remotereplikat zurück, das sich in derselben Always On-Verfügbarkeitsgruppe wie ein lokales Replikat befindet. Jede Zeile enthält Informationen zum Zustand eines angegebenen Replikats.

Wichtig

Um Informationen zu jedem Replikat in einer bestimmten Verfügbarkeitsgruppe zu erhalten, fragen Sie sys.dm_hadr_availability_replica_states auf der Serverinstanz ab, die das primäre Replikat hosten. 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 Replikats.
group_id uniqueidentifier Eindeutiger Bezeichner der Verfügbarkeitsgruppe.
is_local bit Gibt an, ob das Replikat lokal ist, einer von:

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 Replikat 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ügbarkeitsgruppenrolle eines lokalen Replikats oder eines verbundenen Remotereplikats, einer von:

0 = Wird aufgelöst

1 = Primär

2 = Sekundär

Informationen über Rollen in Always On-Verfügbarkeitsgruppen finden Sie unter Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server).
role_desc nvarchar(60) Beschreibung der Rolle, eine von:

RESOLVING

PRIMARY

SECONDARY
operational_state tinyint Aktueller Betriebszustand des Replikats, einer von:

0 = Ausstehendes Failover

1 = Ausstehend

2 = Online

3 = Offline

4 = Fehlgeschlagen

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, einer von:

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

NULL
recovery_health tinyint Rollup der database_state Spalte der sys.dm_hadr_database_replica_states dynamischen Verwaltungsansicht. Die folgende Auflistung enthält die möglichen Werte und deren Beschreibung.

0 : In Bearbeitung. Mindestens eine verknüpfte Datenbank verfügt über einen anderen Datenbankstatus als ONLINE (database_state ist nicht 0).

1 : Online. Alle verknüpften Datenbanken verfügen über einen Datenbankstatus von ONLINE (database_state ist 0).

NULL: is_local = 0
recovery_health_desc nvarchar(60) Beschreibung der recovery_health, einer von:

ONLINE_IN_PROGRESS

ONLINE

NULL
synchronization_health tinyint Gibt einen Rollup des Datenbanksynchronisierungsstatus (synchronization_state) aller verbundenen Verfügbarkeitsdatenbanken (auch als Replikate bezeichnet) und den Verfügbarkeitsmodus des Replikats (synchrones Commit oder asynchronen Commit-Modus) wieder. Das Rollup spiegelt den am wenigsten fehlerfreien akkumulierten Zustand der Datenbanken im Replikat wider. Nachfolgend sind die möglichen Werte und deren Beschreibungen aufgeführt.

0 : Nicht gesund. Mindestens eine verknüpfte Datenbank weist den Status NOT SYNCHRONIZING auf.

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

2 : Gesund. 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 der synchronization_health, einer von:

NOT_HEALTHY

PARTIALLY_HEALTHY

FEHLERFREI
connected_state tinyint Gibt an, ob ein sekundäres Replikat derzeit mit dem primären Replikat verbunden ist. Die möglichen Werte werden unten mit ihren Beschreibungen angezeigt.

0: Getrennt. Die Antwort eines Verfügbarkeitsreplikats auf den STATUS DISCONNECTED hängt von seiner Rolle ab: Wenn ein sekundäres Replikat getrennt ist, werden die sekundären Datenbanken als NICHT SYNCHRONISIERT für das primäre Replikat markiert, das auf die erneute Verbindung wartet; Bei einem sekundären Replikat versucht das sekundäre Replikat nach dem Erkennen, dass es getrennt ist, eine erneute Verbindung mit dem primären Replikat herzustellen.

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, einer von:

DISCONNECTED

CONNECTED
last_connect_error_number int Die Nummer des letzten Verbindungsfehlers.
last_connect_error_description nvarchar(1024) Text der last_connect_error_number Nachricht.
last_connect_error_timestamp datetime Datums- und Uhrzeitzeitstempel, der angibt, wann der last_connect_error_number Fehler aufgetreten ist.

Rollen und Betriebszustände

Die Rolle, Rolle, spiegelt den Status eines bestimmten Verfügbarkeitsreplikats und den Betriebszustand, operational_state, beschreibt, ob das Replikat bereit ist, Clientanforderungen für alle Datenbank des Verfügbarkeitsreplikats zu verarbeiten. Es folgt eine Zusammenfassung der betriebstechnischen Zustände, die für jede Rolle möglich sind: AUFLÖSEN, PRIMÄR und SEKUNDÄR.

AUFLÖSEN: Wenn sich ein Verfügbarkeitsreplikat in der ROLLE AUFLÖSEN befindet, werden die möglichen Betriebszustände wie in der folgenden Tabelle dargestellt.

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 besitzt kein Quorum. Dies ist ein abgeleiteter Status.

PRIMÄR: Wenn ein Verfügbarkeitsreplikat die PRIMÄRE Rolle ausführt, ist es derzeit das primäre Replikat. Die möglichen Betriebszustände sind in der folgenden Tabelle dargestellt.

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.

SEKUNDÄR: Wenn ein Verfügbarkeitsreplikat die SEKUNDÄRe Rolle ausführt, handelt es sich derzeit um ein sekundäres Replikat. Die möglichen Betriebszustände sind in der nachstehenden Tabelle dargestellt.

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.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Siehe auch

Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server)
Überwachen von Verfügbarkeitsgruppen (Transact-SQL)