sys.dm_hadr_database_replica_cluster_states (Transact-SQL)
Windows Server フェールオーバー クラスタリング (WSFC) クラスター上の各 AlwaysOn 可用性グループについて、AlwaysOn 可用性グループ内の可用性データベースの正常性を把握するための情報を含む行を返します。 sys.dm_hadr_database_replica_states を実行すると、以下の内容を確認できます。
可用性グループのすべてのデータベースでフェールオーバーの準備ができているか。
強制フェールオーバー後に、セカンダリ データベース自体がローカルで中断されており、その中断状態が新しいプライマリ レプリカに対して通知されたか。
プライマリ レプリカが現在使用できない場合、プライマリ レプリカになったときにデータ損失を最小限に抑えることができるセカンダリ レプリカはどれか。
sys.databases の log_reuse_wait_desc 列の値が "AVAILABILITY_REPLICA" の場合、特定のプライマリ データベースにログ トランザクションを保持している可用性グループ内のセカンダリ レプリカはどれか。
列名 |
データ型 |
説明 |
---|---|---|
replica_id |
uniqueidentifier |
可用性グループ内の可用性レプリカの識別子。 |
group_database_id |
uniqueidentifier |
可用性グループ内のデータベースの識別子。 この識別子は、このデータベースが参加しているすべてのレプリカで同じです。 |
database_name |
sysname |
可用性グループに属しているデータベースの名前。 |
is_failover_ready |
bit |
セカンダリ データベースが対応するプライマリ データベースと同期されているかどうかを示します。 次のいずれかになります。 0 = データベースはクラスター内で同期済みとしてマークされていません。 データベースはフェールオーバーの準備ができていません。 1 = データベースはクラスター内で同期済みとしてマークされています。 データベースはフェールオーバーの準備ができています。 |
is_pending_secondary_suspend |
bit |
強制フェールオーバー後に、データベースの中断が保留されているかどうかを示します。次のいずれかになります。 0 = HADR_SYNCHRONIZED_ SUSPENDED 以外の状態。 1 = HADR_SYNCHRONIZED_ SUSPENDED。 強制フェールオーバーが完了すると、各セカンダリ データベースは HADR_SYNCHONIZED_SUSPENDED に設定され、新しいプライマリ レプリカがそのセカンダリ データベースから SUSPEND メッセージに対する受信確認を受け取るまでその状態のままになります。 NULL = 不明 (クォーラムなし) |
is_database_joined |
bit |
この可用性レプリカ上のデータベースが可用性グループに参加しているかどうかを示します。次のいずれかになります。 0 = この可用性レプリカ上のデータベースは可用性グループに参加していません。 1 = この可用性レプリカ上のデータベースは可用性グループに参加しています。 NULL = 不明 (可用性レプリカのクォーラムが不足します) |
recovery_lsn |
numeric(25,0) |
プライマリ レプリカの場合、復旧後またはフェールオーバー後、レプリカが新しいログ レコードを書き込む前のトランザクション ログの末尾。 プライマリ レプリカでは、特定のセカンダリ データベースの行の値が、プライマリ レプリカによって要求されるセカンダリ レプリカの同期先 (つまり、復元先および再初期化先) の値になります。 セカンダリ レプリカでは、この値は NULL になります。 各セカンダリ レプリカは、MAX 値、またはプライマリ レプリカが指示したセカンダリ レプリカの復元先の下限値になります。 |
truncation_lsn |
numeric(25,0) |
ローカル ログの切り捨てが (バックアップ操作などにより) ブロックされている場合にローカル切り捨て LSN を超える可能性のある AlwaysOn 可用性グループ ログ切り捨て値。 |
セキュリティ
権限
サーバーに対する VIEW SERVER STATE 権限が必要です。
関連項目
参照
sys.dm_hadr_database_replica_states (Transact-SQL)