適用対象:SQL Server
Windows Server フェールオーバー クラスター (WSFC) 内の Always On 可用性グループに属する各可用性レプリカの行を返します。
クラスターがダウンしているかクォーラムが失われたなど、ローカル サーバー インスタンスが WSFC フェールオーバー クラスターに接続できない場合、 sys.availability_replicas はローカル可用性レプリカの行のみを返します。 これらの行には、メタデータにローカルにキャッシュされるデータの列のみが含まれます。
| 列名 | データ型 | 説明 |
|---|---|---|
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 (256) | データ同期のためにプライマリとセカンダリのレプリカの間の接続で使用される、ユーザー指定のデータベース ミラーリング エンドポイントの文字列表現。 エンドポイント URL の構文については、「 エンドポイント URL の指定 - 可用性レプリカの追加または変更」を参照してください。NULL = WSFC フェールオーバー クラスターと通信できません。このエンドポイントを変更するには、ALTER AVAILABILITY GROUP Transact-SQL ステートメントの ENDPOINT_URL オプションを使用します。 |
availability_mode |
tinyint | レプリカの可用性モード。次のいずれかです。0 = 非同期コミット。 プライマリ レプリカは、セカンダリがログをディスクに書き込むのを待機することなくトランザクションをコミットできます。1 = 同期コミット。 プライマリ レプリカは、セカンダリ レプリカがトランザクションをディスクに書き込むまで、特定のトランザクションのコミットを待機します。4 = 構成のみ。 プライマリ レプリカは、可用性グループ構成メタデータをレプリカに同期的に送信します。 ユーザー データはレプリカに送信されません。詳細については、「Always On 可用性グループの可用性モードの違い」を参照してください。 SQL Server 2017 (14.x) CU 1 以降のバージョンに適用されます。 |
availability_mode_desc |
nvarchar(60) |
availability_modeの説明。次のいずれかです。ASYNCHRONOUS_COMMITSYNCHRONOUS_COMMITCONFIGURATION_ONLY可用性レプリカの可用性モードを変更するには、ALTER AVAILABILITY GROUP Transact-SQL ステートメントの AVAILABILITY_MODE オプションを使用します。レプリカの可用性モードを CONFIGURATION_ONLYに変更することはできません。
CONFIGURATION_ONLY レプリカをセカンダリ レプリカまたはプライマリ レプリカに変更することはできません。 |
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の説明。次のいずれかです。MANUALAUTOMATICフェールオーバー モードを変更するには、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の説明。次のいずれかです。ALLREAD_WRITE |
secondary_role_allow_connections |
tinyint | セカンダリ ロールを実行している可用性レプリカ (つまり、セカンダリ レプリカ) がクライアントからの接続を受け入れるかどうか。次のいずれかです。0 = いいえ。 セカンダリ レプリカ内のデータベースへの接続は許可されず、データベースは読み取りアクセスに使用できません。 これが既定の設定です。1 = 読み取り専用。 セカンダリ レプリカのデータベースに対しては読み取り専用接続だけが許可されます。 レプリカ内のすべてのデータベースは、読み取りアクセスに使用できます。2 = すべて。 読み取り専用アクセスに限り、セカンダリ レプリカのデータベースに対するすべての接続が許可されます。詳細については、「Always On 可用性グループのセカンダリ レプリカに読み取り専用の負荷を移す」を参照してください。 |
secondary_role_allow_connections_desc |
nvarchar(60) |
secondary_role_allow_connectionsの説明。次のいずれかです。NOREAD_ONLYALL |
create_date |
datetime | レプリカが作成された日付。NULL = このサーバー インスタンス上にないレプリカ。 |
modify_date |
datetime | レプリカが最後に変更された日付。NULL = このサーバー インスタンス上にないレプリカ。 |
backup_priority |
int | 同じ可用性グループ内の他のレプリカと比較して、このレプリカでバックアップを実行する優先順位を表す、ユーザー指定の値。 値は 0 ~ 100 の範囲の整数です。 詳細については、「可用性グループのセカンダリ レプリカにサポートされているバックアップをオフロードする」を参照してください。 |
read_only_routing_url |
nvarchar (256) | 読み取り専用可用性レプリカの接続エンドポイント (URL) です。 詳細については、「Always On 可用性グループの読み取り専用ルーティングの構成」を参照してください。 |
seeding_mode |
tinyint | 次のいずれか:0 = 自動1 = マニュアル |
seeding_mode_desc |
nvarchar(60) | シード処理モードについて説明します。AUTOMATICMANUAL |
read_write_routing_url |
nvarchar (256) | レプリカがプライマリである場合の接続エンドポイント (URL)。 詳しくは、「セカンダリからプライマリ レプリカへの読み取り/書き込み接続のリダイレクト (Always On 可用性グループ)」をご覧ください。 適用対象: SQL Server 2019 (15.x) 以降のバージョン。 |
アクセス許可
サーバー インスタンス VIEW ANY DEFINITION アクセス許可が必要です。