sys.dm_hadr_database_replica_cluster_states (Transact-SQL)

Gilt für:SQL Server

Gibt eine Zeile zurück, die Einblicke in die Integrität der Verfügbarkeitsdatenbanken in den AlwaysOn-Verfügbarkeitsgruppen in jeder AlwaysOn-Verfügbarkeitsgruppe im Windows Server Failover Clustering (WSFC)-Cluster enthält. Abfrage sys.dm_hadr_database_replica_cluster_states , um die folgenden Fragen zu beantworten:

  • Sind alle Datenbanken in einer Verfügbarkeitsgruppe für ein Failover bereit?

  • Wurde eine sekundäre Datenbank nach einem erzwungenen Failover lokal angehalten, und wurde das neue primäre Replikat über diesen Status informiert?

  • Bei welchem sekundären Replikat wäre der Datenverlust am geringsten, wenn es zum primären Replikat würde, weil das primäre Replikat derzeit nicht verfügbar wäre?

  • Wenn der Wert der Spalte sys.databaseslog_reuse_wait_desc lautet AVAILABILITY_REPLICA, welches sekundäre Replikat in einer Verfügbarkeitsgruppe das Protokollabschneiden für eine bestimmte primäre Datenbank hält?

Spaltenname Datentyp Beschreibung
replica_id uniqueidentifier Der Bezeichner des Verfügbarkeitsreplikats in der Verfügbarkeitsgruppe.
group_database_id uniqueidentifier Der Bezeichner der Datenbank in der Verfügbarkeitsgruppe. Dieser Bezeichner ist auf jedem Replikat, mit dem diese Datenbank verknüpft ist, identisch.
database_name sysname Der Name der Datenbank, die zur Verfügbarkeitsgruppe gehört.
is_failover_ready bit Gibt an, ob die sekundäre Datenbank mit der entsprechenden primären Datenbank synchronisiert ist. einer von:

0 = Die Datenbank wird nicht als synchronisiert im Cluster markiert. Die Datenbank ist nicht für ein Failover bereit.

1 = Die Datenbank ist im Cluster als synchronisiert gekennzeichnet. Die Datenbank ist zu einem Failover bereit.
is_pending_secondary_suspend bit Gibt an, ob das Anhalten der Datenbank nach einem erzwungenen Failover ansteht. Die möglichen Werte sind:

0 = Alle Zustände mit Ausnahme von HADR_SYNCHRONIZED_SUSPENDED.

1 = HADR_SYNCHRONIZED_SUSPENDED. Wenn ein erzwungenes Failover abgeschlossen ist, wird jede der sekundären Datenbanken auf HADR_SYNCHONIZED_SUSPENDED und wieder Standard in diesem Zustand festgelegt, bis das neue primäre Replikat eine Bestätigung von dieser sekundären Datenbank an die SUSPEND-Nachricht erhält.

NULL = Unbekannt (kein Quorum)
is_database_joined bit Gibt an, ob die Datenbank auf diesem Verfügbarkeitsreplikat mit der Verfügbarkeitsgruppe verknüpft wurde. Die möglichen Werte sind:

0 = Datenbank ist nicht mit der Verfügbarkeitsgruppe für dieses Verfügbarkeitsreplikat verknüpft.

1 = Die Datenbank ist mit der Verfügbarkeitsgruppe auf diesem Verfügbarkeitsreplikat verknüpft.

NULL = unbekannt (Das Verfügbarkeitsreplikat hat kein Quorum.)
recovery_lsn numeric(25,0) Bei einem primären Replikat das Ende des Transaktionsprotokolls, bevor das Replikat nach einer Wiederherstellung oder einem Failover neue Protokolldatensätze schreibt. Im primären Replikat weist die Zeile für eine bestimmte sekundäre Datenbank den Wert auf, mit dem das primäre Replikat das sekundäre Replikat synchronisieren muss (d. a. um zu rückgängig machen und erneut zu initialisieren).

Bei sekundären Replikaten ist dieser Wert NULL. Jedes sekundäre Replikat weist entweder den MAX-Wert oder einen niedrigeren Wert auf, zu dem das primäre Replikat das sekundäre Replikat angewiesen hat, zurück zu wechseln.
truncation_lsn numeric(25,0) Der AlwaysOn-Verfügbarkeitsgruppen-Protokollabkürzungswert, der höher sein kann als der lokale Abkürzungs-LSN, wenn der lokale Protokollabkürzung blockiert wird (z. B. durch einen Sicherungsvorgang).

Berechtigungen

Für SQL Server 2019 (15.x) und frühere Versionen ist die VIEW SERVER STATE-Berechtigung auf dem Server erforderlich.

Für SQL Server 2022 (16.x) und höhere Versionen ist die BERECHTIGUNG VIEW SERVER PERFORMANCE STATE auf dem Server erforderlich.

Siehe auch