sys.dm_hadr_availability_replica_states (Transact-SQL)

ローカル可用性レプリカごとに 1 行のデータと、ローカル レプリカと同じ AlwaysOn 可用性グループに含まれるリモート可用性レプリカごとに 1 行のデータを返します。 各行には、特定の可用性レプリカの状態に関する情報が含まれます。

重要な注意事項重要

特定の可用性グループ内のすべての可用性レプリカに関する情報を取得するは、プライマリ レプリカをホストしているサーバー インスタンスに対して sys.dm_hadr_availability_replica_states を実行します。 可用性グループのセカンダリ レプリカをホストしているサーバー インスタンスに対してクエリを実行した場合、この動的管理ビューはその可用性グループのローカル情報のみを返します。

列名

データ型

説明

replica_id

uniqueidentifier

可用性レプリカの一意識別子。

group_id

uniqueidentifier

可用性グループの一意識別子。

is_local

bit

可用性レプリカがローカルであるかどうか。次のいずれかになります。

0 = プライマリ レプリカがローカル サーバー インスタンスでホストされている可用性グループ内のリモート セカンダリ レプリカを示します。 この値が表示されるのは、プライマリ レプリカの場所だけです。

1 = ローカル可用性レプリカを示します。 セカンダリ レプリカの場合、これはそのレプリカが属する可用性グループに対して使用できる唯一の値です。

role

tinyint

ローカル可用性レプリカまたは接続されているリモート可用性レプリカの現在の AlwaysOn 可用性グループ ロール。次のいずれかになります。

0 = 解決中

1 = プライマリ

2 = セカンダリ

AlwaysOn 可用性グループのロールの詳細については、「AlwaysOn 可用性グループの概要 (SQL Server)」を参照してください。

role_desc

nvarchar(60)

role の説明。次のいずれかになります。

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 つ以上の参加データベースの状態がオンライン以外の状態です (database_state は 0 ではありません)。

1

オンライン。 すべての参加データベースの状態がオンラインです (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

正常。 すべてのレプリカが目標の同期状態です: 同期コミット レプリカは SYNCHRONIZED であり、非同期コミット レプリカは SYNCHRONIZING です。

synchronization_health_desc

nvarchar(60)

synchronization_health の説明。次のいずれかになります。

NOT_HEALTHY

PARTIALLY_HEALTHY

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 のエラーが発生した日時を示すタイムスタンプ。

ロールと操作状態

ロール role には、特定の可用性レプリカの状態が反映されます。操作状態 operational_state は、そのレプリカが可用性レプリカのすべてのデータベースに対するクライアント要求を処理する準備ができているかどうかを示します。 次の表には、各ロールの可能な操作状態 (RESOLVING、PRIMARY、および SECONDARY) を示しています。

ロール

各ロールの操作状態の意味

RESOLVING

可用性レプリカが RESOLVING ロールの場合、可能な操作状態は次のとおりです。

操作状態

説明

PENDING_FAILOVER

可用性グループに対するフェールオーバー コマンドを処理しています。

OFFLINE

WSFC クラスターおよびローカル メタデータ内の可用性レプリカのすべての構成データが更新されたが、可用性グループには現在プライマリ レプリカがありません。

FAILED

WSFC クラスターから情報を取得しようとして、読み取りエラーが発生しました。

FAILED_NO_QUORUM

ローカルの WSFC ノードに、クォーラムがありません。 これは、推論された状態です。

PRIMARY

PRIMARY ロールとして機能している可用性レプリカが現在のプライマリ レプリカです。 可能な操作状態は次のとおりです。

操作状態

説明

PENDING

これは一時的な状態ですが、ワーカーを使用して要求を処理できない場合、プライマリ レプリカがこの状態になることがあります。

ONLINE

可用性グループ リソースがオンラインになっており、すべてのデータベース ワーカー スレッドが選択されました。

FAILED

可用性レプリカは、WSFC クラスターに対して読み取りまたは書き込みを行うことができません。

SECONDARY

SECONDARY ロールとして機能している可用性レプリカが現在のセカンダリ レプリカです。 可能な操作状態は次のとおりです。

操作状態

説明

ONLINE

ローカル セカンダリ レプリカがプライマリ レプリカに接続されています。

FAILED

ローカル セカンダリ レプリカが WSFC クラスターに対して読み取りまたは書き込みを行うことができません。

NULL

プライマリ レプリカでは、行がセカンダリ レプリカに関係する場合に、この値が返されます。

セキュリティ

権限

サーバーに対する VIEW SERVER STATE 権限が必要です。

関連項目

概念

AlwaysOn 可用性グループの概要 (SQL Server)

可用性グループの監視 (Transact-SQL)