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;
次のステップ
関連する概念の詳細については、次の記事を参照してください。