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

適用対象:YesAzure SQL Database YesAzure SQL Managed Instance

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

列名 データ型 説明
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 データベースにコミットされた最後のトランザクションの時刻。 プライマリ データベースで取得した場合は、プライマリ データベースの最後のコミット時刻を示します。 セカンダリ データベースで取得した場合は、セカンダリ データベースの最後のコミット時刻を示します。 レプリケーション リンクのプライマリがダウンしたときにセカンダリ データベースで取得された場合は、セカンダリがキャッチアップしたポイントまで示されます。

注意

セカンダリ データベースを削除してレプリケーション関係が終了すると、 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;  

次の手順

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