sys.dm_geo_replication_link_status (Azure SQL Database と Azure SQL Managed Instance)

適用対象: Azure SQL データベース Azure SQL Managed Instance

geo レプリケーション パートナーシップのプライマリ データベースとセカンダリ データベースの間のレプリケーション リンクごとに 1 行が含まれます。 これには、プライマリ データベースとセカンダリ データベースの両方が含まれます。 特定のプライマリ データベースについて複数の連続レプリケーション リンクが存在する場合、このテーブルには、各リレーションシップについて 1 行が含まれます。 このビューは、すべてのデータベース (master データベースを含む) で作成されます。 ただし、master データベースでこのビューにクエリを実行しても、空のセットが返されます。

列名 データ型 説明
link_guid uniqueidentifier レプリケーション リンクの一意の ID。
partner_server sysname リンクされたデータベースを含む SQL Database サーバーの名前。
partner_database sysname リンクされた SQL データベース サーバー上にあるリンクされたデータベースの名前。
last_replication datetimeoffset プライマリ データベース クロックに基づいて、プライマリが最後のログ ブロックがセカンダリによって書き込まれたという確認を受信した時刻。 ログ ブロックは、トランザクションがプライマリでコミットされるのを待たずに、継続的に geo セカンダリに送信されます。 この値は、プライマリ データベースでのみ使用できます。
replication_lag_sec int last_replication 値と、プライマリ データベース クロックに基づくプライマリでのそのトランザクションのコミットのタイムスタンプとの時間差 (秒)。 この値は、プライマリ データベースでのみ使用できます。
replication_state tinyint このデータベースの geo レプリケーションの状態。状態は次のいずれか。

1 = シード処理。 geo レプリケーション ターゲットはシードされていますが、2 つのデータベースはまだ同期されていません。 シードが完了するまで、セカンダリ データベースに接続することはできません。 プライマリからセカンダリ データベースを削除すると、シード処理操作が取り消されます。

2 = キャッチアップ。 セカンダリ データベースはトランザクション的に一貫性のある状態であり、継続的にプライマリ データベースと同期されています。

4 = 中断。 これは、アクティブな連続コピー リレーションシップではありません。 通常、この状態は、インターリンクに利用できる帯域幅がプライマリ データベース上のトランザクション アクティビティのレベルに対して不十分であることを示します。 ただし、連続コピー リレーションシップはそのままになります。
replication_state_desc nvarchar (256) PENDING

SEEDING

CATCH_UP

SUSPENDED
role tinyint geo レプリケーション ロール。ロールは次のいずれか。

0 = プライマリ。 database_id は、geo レプリケーション パートナーシップのプライマリ データベースを指します。

1 = セカンダリ。 database_id は、geo レプリケーション パートナーシップのプライマリ データベースを指します。
role_desc nvarchar (256) PRIMARY

SECONDARY
secondary_allow_connections tinyint セカンダリの種類。種類は次のいずれか。

0 = セカンダリ データベースに対する直接接続は許可されず、データベースに対して読み取りアクセスを実行できません。

2 = 読み取り専用アクセスに限り、セカンダリ レプリケーションのデータベースに対するすべての接続が許可されます。
secondary_allow_connections_desc nvarchar (256) いいえ

すべて
last_commit datetimeoffset データベースにコミットされた最後のトランザクションの時刻。 プライマリ データベースで取得された場合は、プライマリ データベースの最後のコミット時刻を示します。 セカンダリ データベースで取得された場合は、セカンダリ データベースでの最後のコミット時刻を示します。 レプリケーション リンクのプライマリがダウンしているときにセカンダリ データベースで取得された場合は、セカンダリが追いついた時点までを示します。

Note

セカンダリ データベースを削除してレプリケーションリレーションシップが終了すると、sys.dm_geo_replication_link_status ビューでそのデータベースの行が消えます。

アクセス許可

データベースでの VIEW DATABASE STATE 権限が必要です。

この Transact-SQL クエリは、セカンダリ データベースのレプリケーションのラグと最後のレプリケーション時間を示します。

SELECT   
     link_guid  
   , partner_server  
   , last_replication  
   , replication_lag_sec   
FROM sys.dm_geo_replication_link_status;  

次のステップ

関連する概念の詳細については、次の記事を参照してください。