適用対象:Azure SQL データベース
sys.dm_hs_database_replicas動的管理機能 (DMF) は、特定の Hyperscale データベースの Azure SQL Database Hyperscale セカンダリ レプリカに関する情報を返します。
構文
sys.dm_hs_database_replicas (
{ database_id | NULL }
)
論争
データベースID
database_id は、既定値のないデータベース ID を表す 整数 です。 有効な入力は、データベース ID または NULLです。
database_idが指定されると、sys.dm_hs_database_replicasはその特定のデータベースの行を返します。
指定されていない場合、または NULL が指定されている場合、単一データベースの場合、現在のデータベースの行が返されます。 エラスティック プール内のデータベースの場合、呼び出し元に十分な アクセス許可があるプール内のすべてのデータベースの行を返します。
組み込み関数 DB_ID を指定できます。
返されるテーブル
| 列名 | データの種類 | Description |
|---|---|---|
| replica_id | uniqueidentifier | レプリカの識別子。 null 許容ではありません。 |
| replica_server_name | sysname | レプリカが存在する論理サーバーの名前。 null 許容ではありません。 |
| replica_database_name | sysname | レプリカ データベースの名前。 null 許容ではありません。 |
| is_local | bit | レプリカ データベースがローカルかどうか: 1 = レプリカ データベースは、 sys.dm_hs_database_replicasクエリを実行するときに接続するデータベースです。 0 = 接続先のレプリカ データベースではありません。 |
| replica_role | tinyint | レプリカ ロール: 0 = プライマリ 1 = 高可用性セカンダリ 2 = geo レプリケーション フォワーダー 3 = 名前付きレプリカ。 null 許容ではありません。 |
| replica_role_desc | nvarchar(256) | 原発 高可用性セカンダリ geo レプリケーション フォワーダー 名前付きレプリカ。 </ br></ br> null 許容ではありません。 |
| local_database_id | int | データベースの識別子。 Azure SQL Database では、値は 1 つのデータベースまたはエラスティック プール内で一意ですが、論理サーバー内では一意ではありません。 |
| parent_replica_id | uniqueidentifier | 高可用性レプリカにのみ適用されます。 親レプリカの識別子 (プライマリ、geo フォワーダー、HA レプリカを持つ名前付きレプリカなど)。 許容。 |
注釈
sys.dm_hs_database_replicas動的管理機能は、現在、Azure SQL Database Hyperscale レベルにのみ適用されます。
セカンダリ レプリカはプライマリ データベースの geo セカンダリ レプリカに追加できますが、プライマリ レプリカでクエリを実行しても、 sys.dm_hs_database_replicas は geo セカンダリ レプリカの下に追加されたセカンダリ レプリカの行を返しません。 geo セカンダリ レプリカに接続されている場合は、 sys.dm_hs_database_replicas クエリを実行して、その下に追加されたセカンダリ レプリカを一覧表示する必要があります。
Permissions
この動的管理機能は VIEWDATABASE PERFORMANCE状態権限を必要とします。 詳細については、「 システム動的管理ビュー」を参照してください。 プールされたデータベースを照会するには、 VIEW SERVER STATE権限が必要です。 呼び出し元がパフォーマンス状態権限 VIEWDATABASE 持っている場合、その権限を持つデータベースの行が返されます。
例示
A。 プライマリ レプリカと、Hyperscale レベルで作成されたデータベースのすべてのセカンダリ レプリカを返します
次の例では、Hyperscale データベースに追加された各セカンダリ レプリカの行を返します。
SELECT replica_role_desc, replica_server_name, replica_id
FROM sys.dm_hs_database_replicas(DB_ID(N'Contosodb'));