sys.dm_hadr_database_replica_cluster_states (Transact-SQL)
適用対象: SQL サーバー
Windows Server フェールオーバー クラスタリング (WSFC) クラスター上の各 Always On 可用性グループの Always On 可用性グループの可用性データベースの正常性に関する分析情報を含む行を返します。 sys.dm_hadr_database_replica_cluster_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) | Always On 可用性グループのログの切り捨て値。ローカル ログの切り捨てがブロックされている場合 (バックアップ操作など) は、ローカルの切り捨て LSN よりも大きくなる可能性があります。 |
アクセス許可
SQL Server 2019 (15.x) 以前のバージョンの場合、サーバーに対する VIEW SERVER STATE 権限が必要です。
SQL Server 2022 (16.x) 以降のバージョンでは、サーバーに対する VIEW SERVER PERFORMANCE STATE 権限が必要です。