適用対象: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
この動的管理機能には、VIEW DATABASE PERFORMANCE STATE 権限が必要です。 詳細については、「 システム動的管理ビュー」を参照してください。 プールされたデータベースに対してクエリを実行するには、VIEW SERVER STATE 権限が必要です。 呼び出し元に VIEW DATABASE PERFORMANCE STATE 権限がある場合、この権限が保持されているデータベースの行が返されます。
例示
A。 プライマリ レプリカと、Hyperscale レベルで作成されたデータベースのすべてのセカンダリ レプリカを返します
次の例では、Hyperscale データベースに追加された各セカンダリ レプリカの行を返します。
SELECT replica_role_desc, replica_server_name, replica_id
FROM sys.dm_hs_database_replicas(DB_ID(N'Contosodb'));