sys.availability_replicas (Transact-SQL)
適用対象: SQL Server
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 フェールオーバー クラスターと通信できません。 このエンドポイントを変更するには、 |
availability_mode | tinyint | レプリカの可用性モード。次のいずれかです。 0 |非同期コミット。 プライマリ レプリカは、セカンダリがログをディスクに書き込むのを待機することなくトランザクションをコミットできます。 1 |同期コミット。 プライマリ レプリカは、セカンダリ レプリカがトランザクションをディスクに書き込むまで、特定のトランザクションのコミットを待機します。 4 |構成のみ。 プライマリ レプリカは、可用性グループ構成メタデータをレプリカに同期的に送信します。 ユーザー データはレプリカに送信されません。 SQL Server 2017 CU1 以降で使用できます。 詳細については、「可用性モード (Always On 可用性グループ)」を参照してください。 |
availability_mode_desc | nvarchar(60) | availability_modeの説明。次のいずれかです。 ASYNCHRONOUS_COMMIT SYNCHRONOUS_COMMIT CONFIGURATION_ONLY 可用性レプリカの可用性モードを変更するには、 レプリカの可用性モードを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の説明。次のいずれかです。 MANUAL AUTOMATIC フェールオーバー モードを変更するには、 |
session_timeout | int | タイムアウト時間 (秒単位)。 タイムアウト時間は、レプリカが別のレプリカからのメッセージの受信を待機する最大時間です。この時間を過ぎると、プライマリ レプリカとセカンダリ レプリカの間の接続は障害があるものと見なされます。 セッション タイムアウトは、セカンダリ レプリカがプライマリ レプリカに接続されているかどうかを検出します。 セカンダリ レプリカとの接続が確立されていないことを検出すると、プライマリ レプリカはセカンダリ レプリカが NOT_SYNCHRONIZED であるものと判断します。 プライマリ レプリカとの接続が確立されていないことを検出すると、セカンダリ レプリカは単に再接続を試みます。 注: セッション タイムアウトでは、自動フェールオーバーは発生しません。 この値を変更するには、 |
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 = すべて。 読み取り専用アクセスに限り、セカンダリ レプリカのデータベースに対するすべての接続が許可されます。 詳細については、「アクティブなセカンダリ: 読み取り可能なセカンダリ レプリカ (Always On 可用性グループ)」を参照してください。 |
secondary_role_allow_connections_desc | nvarchar(60) | secondary_role_allow_connectionsの説明。次のいずれかです。 いいえ READ_ONLY ALL |
create_date | datetime | レプリカが作成された日付。 NULL = このサーバー インスタンス上にないレプリカ。 |
modify_date | datetime | レプリカが最後に変更された日付。 NULL = このサーバー インスタンス上にないレプリカ。 |
backup_priority | int | 同じ可用性グループ内の他のレプリカと比較して、このレプリカでバックアップを実行する優先順位を表す、ユーザー指定の値。 値は 0 ~ 100 の範囲の整数です。 詳細については、「アクティブなセカンダリ: セカンダリ レプリカでのバックアップ (Always On 可用性グループ)」を参照してください。 |
read_only_routing_url | nvarchar (256) | 読み取り専用可用性レプリカの接続エンドポイント (URL) です。 詳細については、可用性グループの読み取り専用ルーティングの構成 (SQL Server) に関する記事を参照してください |
read_write_routing_url | nvarchar (256) | SQL Server 2019 (15.x) 以降。 レプリカがプライマリである場合の接続エンドポイント (URL)。 詳しくは、「セカンダリからプライマリ レプリカへの読み取り/書き込み接続のリダイレクト (Always On 可用性グループ)」をご覧ください。 |
seeding_mode | tinyint | 次のいずれか: 0: 自動 1: 手動 |
seeding_mode_desc | nvarchar(60) | シード処理モードについて説明します。 AUTOMATIC MANUAL |
セキュリティ
アクセス許可
サーバー インスタンスに対する VIEW ANY DEFINITION 権限が必要です。