sys.availability_replicas (Transact-SQL)

Gibt eine Zeile für jedes Verfügbarkeitsreplikat zurück, das zu einer AlwaysOn-Verfügbarkeitsgruppe im WSFC-Failovercluster gehört.

Wenn die lokale Serverinstanz nicht mit dem WSFC-Failovercluster kommunizieren kann, beispielsweise beim Ausfall des Clusters oder im Fall eines verlorenen Quorums, werden nur Zielen für lokale Verfügbarkeitsreplikate zurückgegeben. Diese Zeilen enthalten nur die Spalten der Daten, die in Metadaten lokal zwischengespeichert sind.

Spaltenname

Datentyp

Beschreibung

replica_id

uniqueidentifier

Eindeutige ID des Replikats.

group_id

uniqueidentifier

Eindeutige ID der Verfügbarkeitsgruppe, zu der das Replikat gehört.

replica_metadata_id

int

ID für das lokale Metadatenobjekt für Verfügbarkeitsreplikate im Datenbankmodul.

replica_server_name

nvarchar(256)

Entspricht dem Servernamen der SQL Server-Instanz, die dieses Replikat hostet, sowie bei einer nicht standardmäßigen Instanz dem Instanznamen.

owner_sid

varbinary(85)

Sicherheits-ID (SID), die bei dieser Serverinstanz für den externen Eigentümer dieses Verfügbarkeitsreplikats registriert ist.

NULL für nicht lokale Verfügbarkeitsreplikate.

endpoint_url

nvarchar(128)

Entspricht der Zeichenfolgendarstellung des vom Benutzer angegebenen Datenbankspiegelungs-Endpunkts, der von Verbindungen zwischen primären und sekundären Replikaten für die Datensynchronisierung verwendet wird. Informationen zur Syntax von Endpunkt-URLs finden Sie unter Angeben der Endpunkt-URL beim Hinzufügen oder Ändern eines Verfügbarkeitsreplikats (SQL Server).

NULL = Kommunikation mit dem WSFC-Failovercluster ist nicht möglich.

Um diesen Endpunkt zu ändern, verwenden Sie die ENDPOINT_URL-Option der ALTER AVAILABILITY GROUP Transact-SQL-Anweisung.

availability_mode

tinyint

Der Verfügbarkeitsmodus des Replikats. Folgende Werte sind möglich:

Wert

Bedeutung

0

Asynchroner Commit. Das primäre Replikat kann einen Commit für Transaktionen ausführen, ohne das Schreiben des Protokolls auf den Datenträger durch das sekundäre Replikat abzuwarten.

1

Synchroner Commit. Das primäre Replikat wartet mit dem Ausführen des Commits für eine bestimmte Transaktion, bis das sekundäre Replikat die Transaktion auf den Datenträger geschrieben hat.

Weitere Informationen finden Sie unter Verfügbarkeitsmodi (AlwaysOn-Verfügbarkeitsgruppen).

availability_mode_desc

nvarchar(60)

Beschreibung von availability_mode. Folgende Werte sind möglich:

ASYNCHRONOUS_COMMIT

SYNCHRONOUS_COMMIT

Um diesen Verfügbarkeitsmodus eines Verfügbarkeitsreplikats zu ändern, verwenden Sie die AVAILABILITY_MODE-Option der ALTER AVAILABILITY GROUP Transact-SQL-Anweisung.

failover_mode

tinyint

Der Failovermodus des Verfügbarkeitsreplikats:

Wert

Bedeutung

0

Manuelles Failover. Ein Failover zu einem sekundären Replikat, für das ein manuelles Failover festgelegt ist, muss vom Datenbankadministrator manuell initiiert werden. Der Failovertyp, der ausgeführt wird, hängt davon ab, ob das sekundäre Replikat wie folgt synchronisiert wird:

  • Wenn das Verfügbarkeitsreplikat nicht synchronisiert oder die Synchronisierung noch durchgeführt wird, kann nur ein erzwungenes Failover auftreten (mit möglichem Datenverlust).

  • Wenn für den Verfügbarkeitsmodus ein synchroner Commit (availability_mode = 1) festgelegt ist und das Verfügbarkeitsreplikat gerade synchronisiert wird, kann ein manuelles Failover ohne Datenverlust auftreten.

1

Automatisches Failover. Das Replikat ist ein potenzielles Ziel für automatische Failovers. Das automatische Failover wird nur unterstützt, wenn für den Verfügbarkeitsmodus ein synchroner Commit (availability_mode = 1) festgelegt ist, und das Verfügbarkeitsreplikat gerade synchronisiert wird.

Um einen Rollup der Datenbanksynchronisierungsstatus jeder Verfügbarkeitsdatenbank in einem Verfügbarkeitsreplikat anzuzeigen, verwenden Sie die Spalten synchronization_health und synchronization_health_desc der dynamischen Verwaltungssicht sys.dm_hadr_availability_replica_states. Der Rollup berücksichtigt den Synchronisierungsstatus jeder Verfügbarkeitsdatenbank und den Verfügbarkeitsmodus ihres Verfügbarkeitsreplikats.

TippTipp

Um den Synchronisierungsstatus einer gegebenen Verfügbarkeitsdatenbank anzuzeigen, fragen Sie die Spalten synchronization_state und synchronization_health der dynamischen Verwaltungssicht sys.dm_hadr_database_replica_states ab.

failover_mode_desc

nvarchar(60)

Beschreibung von failover_mode. Folgende Werte sind möglich:

MANUAL

AUTOMATIC

Um den Failovermodus zu ändern, verwenden Sie die FAILOVER_MODE-Option der ALTER AVAILABILITY GROUP Transact-SQL-Anweisung.

session_timeout

int

Der Timeoutzeitraum in Sekunden. Der Timeoutzeitraum ist die maximale Zeit, die das Replikat für den Empfang einer Meldung von einem anderen Replikat abwartet, bevor die Verbindung zwischen dem primären und sekundären Replikat als fehlgeschlagen betrachtet wird. Das Sitzungstimeout erkennt, ob sekundäre Replikate mit dem primären Replikat verbunden sind.

Bei der Erkennung einer fehlgeschlagenen Verbindung mit einem sekundären Replikat betrachtet das primäre Replikat das sekundäre Replikat als nicht synchronisiert und weist diesem den Wert NOT_SYNCHRONIZED zu. Ein sekundäres Replikat versucht einfach, erneut eine Verbindung herzustellen, wenn eine fehlgeschlagene Verbindung mit dem primären Replikat erkannt wird.

HinweisHinweis

Sitzungstimeouts verursachen keine automatischen Failovers.

Um diesen Wert zu ändern, verwenden Sie die SESSION_TIMEOUT-Option der ALTER AVAILABILITY GROUP Transact-SQL-Anweisung.

primary_role_allow_connections

tinyint

Gibt an, ob die Verfügbarkeit alle Verbindungen oder nur Verbindungen mit Lese-/Schreibzugriff zulässt. Folgende Werte sind möglich:

2 = Alle (Standard)

3 = Lesen/Schreiben

primary_role_allow_connections_desc

nvarchar(60)

Beschreibung von primary_role_allow_connections. Folgende Werte sind möglich:

ALL

READ_WRITE

secondary_role_allow_connections

tinyint

Gibt an, ob ein Verfügbarkeitsreplikat, das die sekundäre Rolle ausführt (also einem sekundären Replikat entspricht), Verbindungen von Clients zulassen kann. Folgende Werte sind möglich:

0 = Nein. Für die Datenbanken im sekundären Replikat sind keine Verbindungen zugelassen, und die Datenbanken sind für den Lesezugriff nicht verfügbar. Dies ist die Standardeinstellung.

1 = Nur Lesezugriff. Nur Verbindungen mit Lesezugriff auf die Datenbanken im sekundären Replikat sind zugelassen. Alle Datenbanken im Replikat sind für den Lesezugriff verfügbar.

2 = Alle. Für alle Verbindungen mit den Datenbanken im sekundären Replikat ist der schreibgeschützte Zugriff zugelassen.

Weitere Informationen finden Sie unter Aktive sekundäre Replikate: Lesbare sekundäre Replikate (AlwaysOn-Verfügbarkeitsgruppen).

secondary_role_allow_connections_desc

nvarchar(60)

Beschreibung von secondary_role_allow_connections. Folgende Werte sind möglich:

NO

READ_ONLY

ALL

create_date

datetime

Das Datum, an dem das Replikat erstellt wurde.

NULL = Replikat befindet sich nicht auf dieser Serverinstanz.

modify_date

datetime

Datum der letzten Änderung des Replikats.

NULL = Replikat befindet sich nicht auf dieser Serverinstanz.

backup_priority

int

Stellt die benutzerdefinierte Priorität für die Ausführung von Sicherungen auf diesem Replikat in Relation zu den anderen Replikaten in derselben Verfügbarkeitsgruppe dar. Der Wert liegt im Bereich von 0 bis 100 und ist eine ganze Zahl.

Weitere Informationen finden Sie unter Aktive sekundäre Replikate: Sicherung auf sekundären Replikaten (AlwaysOn-Verfügbarkeitsgruppen).

read_only_routing_url

nvarchar(256)

Konnektivitätsendpunkt (URL) der schreibgeschützten Verbindung für das Verfügbarkeitsreplikat. Weitere Informationen finden Sie unter Konfigurieren des schreibgeschützten Routing für eine Verfügbarkeitsgruppe (SQL Server).

Sicherheit

Berechtigungen

Erfordert die VIEW ANY DEFINITION-Berechtigung für die Serverinstanz.

Siehe auch

Verweis

sys.availability_groups (Transact-SQL)

Konzepte

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

AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Überwachen von Verfügbarkeitsgruppen (Transact-SQL)

Überwachen von Verfügbarkeitsgruppen (Transact-SQL)