次の方法で共有


sys.dm_hs_database_replicas (Transact-SQL)

適用対象: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'));