sys.dm_hadr_availability_replica_states (Transact-SQL)
適用対象:SQL Server
ローカル レプリカごとに 1 行のデータと、ローカル レプリカと同じ AlwaysOn 可用性グループに含まれるリモート レプリカごとに 1 行のデータを返します。 各行には、特定のレプリカの状態に関する情報が含まれています。
重要
特定の可用性グループ内のすべてのレプリカに関する情報を取得するには、プライマリ レプリカをホストしているサーバー インスタンスで sys.dm_hadr_availability_replica_states クエリを実行します。 可用性グループのセカンダリ レプリカをホストしているサーバー インスタンスに対してクエリを実行した場合、この動的管理ビューはその可用性グループのローカル情報のみを返します。
列名 | データ型 | 説明 |
---|---|---|
replica_id | uniqueidentifier | レプリカの一意識別子。 |
group_id | uniqueidentifier | 可用性グループの一意識別子。 |
is_local | bit | レプリカがローカルかどうかに関係なく、次のいずれかになります。 0 = プライマリ レプリカがローカル サーバー インスタンスによってホストされている可用性グループ内のリモート セカンダリ レプリカを示します。 この値は、プライマリ レプリカの場所でのみ発生します。 1 = ローカル レプリカを示します。 セカンダリ レプリカの場合、これはそのレプリカが属する可用性グループに対して使用できる唯一の値です。 |
role | tinyint | ローカル レプリカまたは接続されたリモート レプリカの現在のAlways On可用性グループ ロール。次のいずれかです。 0 = 解決中 1 = プライマリ 2 = セカンダリ Always On 可用性グループ のロールについては、「Always On 可用性グループの概要 (SQL Server)」を参照してください。 |
role_desc | nvarchar(60) | ロールの説明。次のいずれか。 RESOLVING PRIMARY SECONDARY |
operational_state | tinyint | レプリカの現在の操作状態。次のいずれかです。 0 = 保留中のフェールオーバー 1 = 保留中 2 = オンライン 3 = オフライン 4 = 失敗 5 = 失敗、クォーラムなし NULL = レプリカがローカルでない 詳細については、このトピックで後述 する「ロールと運用状態」を参照してください。 |
operational_state_desc | nvarchar(60) | operational_stateの説明。次のいずれかです。 PENDING_FAILOVER PENDING ONLINE OFFLINE FAILED FAILED_NO_QUORUM NULL |
recovery_health | tinyint | sys.dm_hadr_database_replica_states動的管理ビューのdatabase_state列のロールアップ。 使用できる値とその説明を次に示します。 0 : 進行中です。 少なくとも 1 つの結合データベースに ONLINE 以外のデータベース状態があります (database_state は 0 ではありません)。 1: オンライン。 結合されたすべてのデータベースのデータベース状態は ONLINE です (database_state は 0 です)。 NULL : is_local = 0 |
recovery_health_desc | nvarchar(60) | recovery_healthの説明。次のいずれか。 ONLINE_IN_PROGRESS ONLINE NULL |
synchronization_health | tinyint | 結合されたすべての可用性データベース (レプリカとも呼ばれます) とレプリカの可用性モード (同期コミットまたは非同期コミット モード) のデータベース同期状態 (synchronization_state) のロールアップを反映します。 ロールアップには、レプリカ上のデータベースの最も正常な累積状態が反映されます。 使用可能な値とその説明を次に示します。 0 : 正常ではありません。 少なくとも 1 つの結合データベースが NOT SYNCHRONIZING 状態です。 1 : 部分的に正常です。 一部のレプリカが目標の同期状態ではありません: 同期コミット レプリカは SYNCHRONIZED である必要があり、非同期コミット レプリカは SYNCHRONIZING である必要があります。 2 : 正常です。 すべてのレプリカがターゲット同期状態です。同期コミット レプリカは同期され、非同期コミット レプリカは同期されます。 |
synchronization_health_desc | nvarchar(60) | synchronization_healthの説明。次のいずれかです。 NOT_HEALTHY PARTIALLY_HEALTHY 健康 |
connected_state | tinyint | セカンダリ レプリカが現在プライマリ レプリカに接続されているかどうか。 使用可能な値とその説明を次に示します。 0 : 切断されています。 DISCONNECTED 状態に対する可用性レプリカの応答は、その役割によって異なります。プライマリ レプリカでは、セカンダリ レプリカが切断されている場合、セカンダリ データベースはプライマリ レプリカで NOT SYNCHRONIZED としてマークされ、セカンダリが再接続するまで待機します。セカンダリ レプリカでは、切断されていることを検出すると、セカンダリ レプリカはプライマリ レプリカへの再接続を試みます。 1 : 接続されています。 各プライマリ レプリカでは、同じ可用性グループに含まれるすべてのセカンダリ レプリカの接続状態を追跡します。 セカンダリ レプリカでは、プライマリ レプリカの接続状態のみを追跡します。 |
connected_state_desc | nvarchar(60) | connection_stateの説明。次のいずれかです。 DISCONNECTED CONNECTED |
last_connect_error_number | int | 最後の接続エラーの番号。 |
last_connect_error_description | nvarchar(1024) | last_connect_error_number メッセージのテキスト。 |
last_connect_error_timestamp | datetime | last_connect_error_number エラーが発生した日時を示す日付と時刻のタイムスタンプ。 |
ロールと運用状態
ロール ロールは、特定の可用性レプリカの状態と運用状態 (operational_state) を反映し、レプリカが可用性レプリカのすべてのデータベースに対するクライアント要求を処理する準備ができているかどうかを示します。 各ロールで可能な操作状態の概要を次に示します。RESOLVING、PRIMARY、SECONDARY。
解決: 可用性レプリカが RESOLVING ロールにある場合、考えられる操作状態は次の表のようになります。
動作状態 | 説明 |
---|---|
PENDING_FAILOVER | 可用性グループに対するフェールオーバー コマンドを処理しています。 |
OFFLINE | WSFC クラスターおよびローカル メタデータ内の可用性レプリカのすべての構成データが更新されたが、可用性グループには現在プライマリ レプリカがありません。 |
FAILED | WSFC クラスターから情報を取得しようとすると、読み取りエラーが発生しました。 |
FAILED_NO_QUORUM | ローカルの WSFC ノードに、クォーラムがありません。 これは推論された状態です。 |
プライマリ: 可用性レプリカが PRIMARY ロールを実行している場合、現在はプライマリ レプリカです。 次の表に示すように、考えられる動作状態を示します。
動作状態 | 説明 |
---|---|
PENDING | これは一時的な状態ですが、ワーカーを使用して要求を処理できない場合、プライマリ レプリカがこの状態になることがあります。 |
ONLINE | 可用性グループ リソースはオンラインであり、すべてのデータベース ワーカー スレッドが取得されています。 |
FAILED | 可用性レプリカは、WSFC クラスターに対して読み取りまたは書き込みを行うことができません。 |
セカンダリ: 可用性レプリカがセカンダリ ロールを実行している場合、現在はセカンダリ レプリカです。 次の表に示すように、考えられる動作状態を示します。
動作状態 | 説明 |
---|---|
ONLINE | ローカル セカンダリ レプリカはプライマリ レプリカに接続されています。 |
FAILED | ローカル セカンダリ レプリカが WSFC クラスターに対して読み取りまたは書き込みを行うことができません。 |
NULL | プライマリ レプリカでは、行がセカンダリ レプリカに関係する場合に、この値が返されます。 |
アクセス許可
サーバーに対する VIEW SERVER STATE 権限が必要です。
SQL Server 2022 以降のアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE STATE 権限が必要です。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示