Freigeben über


sys.dm_hs_database_replicas (Transact-SQL)

Gilt für:Azure SQL-Datenbank-

Die sys.dm_hs_database_replicas dynamische Verwaltungsfunktion (DYNAMIC Management Function, DMF) gibt Informationen zu sekundären Replikaten einer bestimmten Hyperscale-Datenbank in Azure SQL-Datenbank zurück.

Syntax

sys.dm_hs_database_replicas ( 
{ database_id | NULL }                                     
)                             

Arguments

database_id (Datenbank-ID)

database_id ist eine ganze Zahl , die die Datenbank-ID ohne Standardwert darstellt. Gültige Eingaben sind entweder eine Datenbank-ID oder NULL.

Wenn ein database_id Wert angegeben wird, sys.dm_hs_database_replicas wird eine Zeile für diese bestimmte Datenbank zurückgegeben.

Wenn sie nicht angegeben oder angegeben NULL wird, gibt sie für eine einzelne Datenbank eine Zeile für die aktuelle Datenbank zurück. Gibt für eine Datenbank in einem elastischen Pool Zeilen für alle Datenbanken im Pool zurück, in denen der Aufrufer über ausreichende Berechtigungen verfügt.

Die integrierte Funktion DB_ID kann angegeben werden.

Zurückgegebene Tabelle

Spaltenname Datentyp Description
replica_id eindeutiger Bezeichner Bezeichner des Replikats. Kann nicht null sein.
replica_server_name sysname Name des logischen Servers, auf dem sich das Replikat befindet. Kann nicht null sein.
replica_database_name sysname Name der Replikatdatenbank. Kann nicht null sein.
is_local bit Gibt an, ob die Replikatdatenbank lokal ist:
1 = Die Replikatdatenbank ist die Datenbank, mit der Sie beim Abfragen sys.dm_hs_database_replicasverbunden sind.
0 = Die Replikatdatenbank ist nicht die Datenbank, mit der Sie verbunden sind.
replica_role tinyint Replikatrolle:
0 = Primär
1 = Sekundäre Hochverfügbarkeit
2 = Georeplikationsweiterleitung
3 = Benanntes Replikat. Kann nicht null sein.
replica_role_desc nvarchar(256) Primär
Sekundäre Hochverfügbarkeit
Georeplikationsweiterleitung
Benanntes Replikat. </ br/ br><> Is not nullable.
local_database_id int Bezeichner der Datenbank.
In der Azure SQL-Datenbank sind Werte innerhalb einer einzelnen Datenbank oder eines elastischen Pools eindeutig, aber nicht innerhalb des logischen Servers.
parent_replica_id eindeutiger Bezeichner Gilt nur für Replikate mit hoher Verfügbarkeit.
Bezeichner des übergeordneten Replikats (z. B. primäres Replikat, Geoweiterleitung oder benanntes Replikat mit einem HA-Replikat). Nullable.

Bemerkungen

Die sys.dm_hs_database_replicas dynamische Verwaltungsfunktion gilt derzeit nur für die Hyperscale-Ebene der Azure SQL-Datenbank.

Während Sie einem geo-sekundären Replikat der primären Datenbank sekundäre Replikate hinzufügen können, werden keine Zeilen für die sekundären sekundären Replikate zurückgegeben, die unter dem geo-sekundären Replikat hinzugefügt wurden, sys.dm_hs_database_replicas wenn sie für das primäre Replikat abgefragt werden. Sie sollten abfragen sys.dm_hs_database_replicas , wenn sie mit einem geo-sekundären Replikat verbunden sind, um die darin hinzugefügten sekundären Replikate auflisten zu können.

Erlaubnisse

Für diese dynamische Verwaltungsfunktion ist die BERECHTIGUNG "VIEW DATABASE PERFORMANCE STATE" erforderlich. Weitere Informationen finden Sie unter dynamische Systemverwaltungsansichten. Um eine poolierte Datenbank abzufragen, ist die VIEW SERVER STATE-Berechtigung erforderlich. Wenn der Aufrufer über die Berechtigung "DATENBANKLEISTUNGSSTATUS ANZEIGEN" verfügt, werden Zeilen für die Datenbanken, in denen diese Berechtigung gehalten wird, zurückgegeben.

Examples

A. Zurückgeben des primären Replikats und aller sekundären Replikate einer Datenbank, die auf der Hyperscale-Ebene erstellt wurde

Im folgenden Beispiel wird eine Zeile für jedes sekundäre Replikat zurückgegeben, das in der Hyperscale-Datenbank hinzugefügt wurde.

SELECT replica_role_desc, replica_server_name, replica_id
FROM sys.dm_hs_database_replicas(DB_ID(N'Contosodb'));