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)