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

この動的管理機能は 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'));