sys.availability_replicas (Transact-SQL)

WSFC フェールオーバー クラスター内の AlwaysOn 可用性グループに属している各可用性レプリカに対する行を返します。

たとえばクラスターがダウンしたりクォーラムが失われたりしたために、ローカル サーバー インスタンスが WSFC フェールオーバー クラスターと通信できない場合は、ローカル可用性レプリカの行だけが返されます。これらの行には、メタデータ内にローカルにキャッシュされているデータの列だけが含まれます。

列名

データ型

説明

replica_id

uniqueidentifier

レプリカの一意の ID。

group_id

uniqueidentifier

レプリカが属している可用性グループの一意の ID。

replica_metadata_id

int

データベース エンジン内の可用性レプリカのローカル メタデータ オブジェクトの ID。

replica_server_name

nvarchar(256)

このレプリカをホストし、既定ではないインスタンスの場合はレプリカのインスタンス名もホストしている、SQL Server のインスタンスのサーバー名。

owner_sid

varbinary(85)

このサーバー インスタンスに登録されている、この可用性レプリカの外部所有者のセキュリティ ID (SID)。

ローカルではない可用性レプリカの場合は NULL です。

endpoint_url

nvarchar(128)

データ同期のためにプライマリとセカンダリのレプリカの間の接続で使用される、ユーザー指定のデータベース ミラーリング エンドポイントの文字列表現。エンドポイント URL の構文の詳細については、「可用性レプリカを追加または変更する場合のエンドポイント URL の指定 (SQL Server)」を参照してください。

NULL = WSFC フェールオーバー クラスターと通信できません。

このエンドポイントを変更するには、ALTER AVAILABILITY GROUP Transact-SQL ステートメントの ENDPOINT_URL オプションを使用します。

availability_mode

tinyint

レプリカの可用性モード。次のいずれかです。

意味

0

非同期コミット。プライマリ レプリカは、セカンダリがログをディスクに書き込むのを待機することなくトランザクションをコミットできます。

1

同期コミット。プライマリ レプリカは、セカンダリ レプリカがトランザクションをディスクに書き込むまで、特定のトランザクションのコミットを待機します。

詳細については、「可用性モード (AlwaysOn 可用性グループ)」を参照してください。

availability_mode_desc

nvarchar(60)

availability_mode の説明。次のいずれかです。

ASYNCHRONOUS_COMMIT

SYNCHRONOUS_COMMIT

可用性レプリカの可用性モードを変更するには、ALTER AVAILABILITY GROUP Transact-SQL ステートメントの AVAILABILITY_MODE オプションを使用します。

failover_mode

tinyint

可用性レプリカのフェールオーバー モード。次のいずれかです。

意味

0

手動フェールオーバー。手動フェールオーバーに設定されているセカンダリ レプリカへのフェールオーバーは、データベース管理者が手動で指定する必要があります。実行されるフェールオーバーの種類は、セカンダリ レプリカが同期されているかどうかによって決まります。次のようになります。

  • 可用性レプリカが同期していない場合、またはまだ同期を行っている場合は、強制フェールオーバーのみが可能です (データが失われる可能性があります)。

  • 可用性モードが同期コミット (availability_mode = 1) に設定されていて、可用性レプリカが現在同期されている場合、データが失われない手動フェールオーバーを実行できます。

1

自動フェールオーバー。レプリカは、自動フェールオーバーの潜在的なターゲットです。可用性モードが同期コミット (availability_mode = 1) に設定されていて、可用性レプリカが現在同期されている場合にのみ、自動フェールオーバーがサポートされます。

可用性レプリカの各可用性データベースのデータベースの同期状態のロールアップを確認するには、sys.dm_hadr_availability_replica_states 動的管理ビューの synchronization_health 列と synchronization_health_desc 列を使用します。ロールアップでは、各可用性データベースの同期状態と、その可用性レプリカの可用性モードが考慮されます。

ヒントヒント

特定の可用性データベースの同期状態を確認するには、sys.dm_hadr_database_replica_states 動的管理ビューの synchronization_state 列と synchronization_health 列に対してクエリを実行します。

failover_mode_desc

nvarchar(60)

failover_mode の説明。次のいずれかです。

MANUAL

AUTOMATIC

フェールオーバー モードを変更するには、ALTER AVAILABILITY GROUP Transact-SQL ステートメントの FAILOVER_MODE オプションを使用します。

session_timeout

int

タイムアウト時間 (秒単位)。タイムアウト時間は、レプリカが別のレプリカからのメッセージの受信を待機する最大時間です。この時間を過ぎると、プライマリ レプリカとセカンダリ レプリカの間の接続は障害があるものと見なされます。セッション タイムアウトは、セカンダリ レプリカがプライマリ レプリカに接続されているかどうかを検出します。

セカンダリ レプリカとの接続が確立されていないことを検出すると、プライマリ レプリカはセカンダリ レプリカが NOT_SYNCHRONIZED であるものと判断します。プライマリ レプリカとの接続が確立されていないことを検出すると、セカンダリ レプリカは単に再接続を試みます。

注意

セッション タイムアウトにより自動フェールオーバーが発生することはありません。

この値を変更するには、ALTER AVAILABILITY GROUP Transact-SQL ステートメントの SESSION_TIMEOUT オプションを使用します。

primary_role_allow_connections

tinyint

可用性ですべての接続が許可されるか、または読み取り/書き込み接続のみが許可されるか。次のいずれかです。

2 = すべて (既定)

3 = 読み取り/書き込み

primary_role_allow_connections_desc

nvarchar(60)

primary_role_allow_connections の説明。次のいずれかです。

ALL

READ_WRITE

secondary_role_allow_connections

tinyint

セカンダリ ロールを実行している (つまりセカンダリ レプリカとして機能している) 可用性レプリカがクライアントからの接続を受け入れることができるかどうか。以下のいずれかです。

0 = 不可。セカンダリ レプリカのデータベースに対する接続は許可されず、データベースに対して読み取りアクセスを実行できません。これが既定の設定です。

1 = 読み取り専用。セカンダリ レプリカのデータベースに対しては読み取り専用接続だけが許可されます。レプリカ内のすべてのデータベースは読み取りアクセスで利用できます。

2 = すべて。読み取り専用アクセスに限り、セカンダリ レプリカのデータベースに対するすべての接続が許可されます。

詳細については、「アクティブなセカンダリ: 読み取り可能なセカンダリ レプリカ (AlwaysOn 可用性グループ)」を参照してください。

secondary_role_allow_connections_desc

nvarchar(60)

secondary_role_allow_connections の説明。次のいずれかです。

NO

READ_ONLY

ALL

create_date

datetime

レプリカが作成された日付。

NULL = レプリカはこのサーバー インスタンス上にありません。

modify_date

datetime

レプリカが最後に変更された日付。

NULL = レプリカはこのサーバー インスタンス上にありません。

backup_priority

int

同じ可用性グループ内の他のレプリカと比較して、このレプリカでバックアップを実行する優先順位を表す、ユーザー指定の値。値は 0 ~ 100 の範囲の整数です。

詳細については、「アクティブなセカンダリ: セカンダリ レプリカでのバックアップ (AlwaysOn 可用性グループ)」を参照してください。

read_only_routing_url

nvarchar(256)

読み取り専用可用性レプリカの接続エンドポイント (URL) です。詳細については、「可用性グループの読み取り専用ルーティングの構成 (SQL Server)」を参照してください。

セキュリティ

権限

サーバー インスタンスに対する VIEW ANY DEFINITION 権限が必要です。

関連項目

参照

sys.availability_groups (Transact-SQL)

概念

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

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

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

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