sys.dm_geo_replication_link_status (Azure SQL DatabaseとAzure SQL Managed Instance)
適用対象:Azure SQL Database
Azure 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;
次の手順
関連する概念の詳細については、次の記事を参照してください。