sys.availability_replicas (Transact-SQL)sys.availability_replicas (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

WSFC フェールオーバー クラスター内の AlwaysOn 可用性グループに属している各可用性レプリカに対する行を返します。Returns a row for each of the availability replicas that belong to any Always On availability group in the WSFC failover cluster.

たとえばクラスターがダウンしたりクォーラムが失われたりしたために、ローカル サーバー インスタンスが WSFC フェールオーバー クラスターと通信できない場合は、ローカル可用性レプリカの行だけが返されます。If the local server instance is unable to talk to the WSFC failover cluster, for example because the cluster is down or quorum has been lost, only rows for local availability replicas are returned. これらの行には、メタデータ内にローカルにキャッシュされているデータの列だけが含まれます。These rows will contain only the columns of data that are cached locally in metadata.

列名Column name データ型Data type 説明Description
replica_idreplica_id uniqueidentifieruniqueidentifier レプリカの一意の ID。Unique ID of the replica.
group_idgroup_id uniqueidentifieruniqueidentifier レプリカが属する可用性グループの一意の ID。Unique ID of the availability group to which the replica belongs.
replica_metadata_idreplica_metadata_id intint データベースエンジン内の可用性レプリカのローカルメタデータオブジェクトの ID。ID for the local metadata object for availability replicas in the Database Engine.
replica_server_namereplica_server_name nvarchar (256)nvarchar(256) このレプリカをホストし、既定ではないインスタンスの場合はレプリカのインスタンス名もホストしている、 SQL ServerSQL Server のインスタンスのサーバー名。Server name of the instance of SQL ServerSQL Server that is hosting this replica and, for a non-default instance, its instance name.
owner_sidowner_sid varbinary(85)varbinary(85) このサーバー インスタンスに登録されている、この可用性レプリカの外部所有者のセキュリティ ID (SID)。Security identifier (SID) registered to this server instance for the external owner of this availability replica.

非ローカル可用性レプリカの場合は NULL です。NULL for non-local availability replicas.
endpoint_urlendpoint_url nvarchar(128)nvarchar(128) データ同期のためにプライマリとセカンダリのレプリカの間の接続で使用される、ユーザー指定のデータベース ミラーリング エンドポイントの文字列表現。String representation of the user-specified database mirroring endpoint that is used by connections between primary and secondary replicas for data synchronization. エンドポイント URL の構文の詳細については、「可用性レプリカを追加または変更する場合のエンドポイント URL の指定 (SQL Server)」を参照してください。For information about the syntax of endpoint URLs, see Specify the Endpoint URL When Adding or Modifying an Availability Replica (SQL Server).

NULL = WSFC フェールオーバー クラスターと通信できません。NULL = Unable to talk to the WSFC failover cluster.

このエンドポイントを変更するには、 ALTER AVAILABILITY GROUPステートメントの ENDPOINT_URL オプションを使用し Transact-SQLTransact-SQL ます。To change this endpoint, use the ENDPOINT_URL option of ALTER AVAILABILITY GROUPTransact-SQLTransact-SQL statement.
availability_modeavailability_mode tinyinttinyint レプリカの可用性モード。次のいずれかです。The availability mode of the replica, one of:

0 | 非同期コミット。0 | Asynchronous commit. プライマリ レプリカは、セカンダリがログをディスクに書き込むのを待機することなくトランザクションをコミットできます。The primary replica can commit transactions without waiting for the secondary to write the log to disk.

1 | 同期コミットです。1 | Synchronous commit. プライマリ レプリカは、セカンダリ レプリカがトランザクションをディスクに書き込むまで、特定のトランザクションのコミットを待機します。The primary replica waits to commit a given transaction until the secondary replica has written the transaction to disk.

4 | 構成のみ。4 | Configuration only. プライマリレプリカは、可用性グループの構成メタデータを同期的にレプリカに送信します。The primary replica sends availability group configuration metadata to the replica synchronously. ユーザーデータがレプリカに送信されることはありません。User data is not transmitted to the replica. SQL Server 2017 CU1 以降で使用できます。Available in SQL Server 2017 CU1 and later.

詳細については、「可用性モード (Always On 可用性グループ)」を参照してください。For more information, see Availability Modes (Always On Availability Groups).
availability_mode_descavailability_mode_desc nvarchar(60)nvarchar(60) 可用性 _ モード の説明。次のいずれかになります。Description of availability_mode, one of:

非同期 _ コミットASYNCHRONOUS_COMMIT

同期 _ コミットSYNCHRONOUS_COMMIT

構成 _ のみCONFIGURATION_ONLY

可用性レプリカの可用性モードを変更するには、 ALTER AVAILABILITY GROUPステートメントの AVAILABILITY_MODE オプションを使用し Transact-SQLTransact-SQL ます。To change this the availability mode of an availability replica, use the AVAILABILITY_MODE option of ALTER AVAILABILITY GROUPTransact-SQLTransact-SQL statement.

レプリカの可用性モードを構成のみに変更することはできません _ 。You cannot change the availability mode of a replica to CONFIGURATION_ONLY. 構成のみのレプリカを _ セカンダリレプリカまたはプライマリレプリカに変更することはできません。You cannot change a CONFIGURATION_ONLY replica to a secondary or primary replica.
フェールオーバー _ モードfailover_mode tinyinttinyint 可用性レプリカの フェールオーバーモード 。次のいずれかになります。The failover mode of the availability replica, one of:

0 | 自動フェールオーバー。0 | Automatic failover. レプリカは、自動フェールオーバーの潜在的なターゲットです。The replica is a potential target for automatic failovers. 自動フェールオーバーは、可用性モードが同期コミット (可用性 _ モード = 1) に設定されていて、可用性レプリカが現在同期されている場合にのみサポートされます。Automatic failover is supported only if the availability mode is set to synchronous commit (availability_mode = 1) and the availability replica is currently synchronized.

1 | 手動フェールオーバー。1 | Manual failover. 手動フェールオーバーに設定されたセカンダリレプリカへのフェールオーバーは、データベース管理者が手動で開始する必要があります。A failover to a secondary replica set to manual failover must be manually initiated by the database administrator. 実行されるフェールオーバーの種類は、セカンダリレプリカが同期されているかどうかによって異なります。次に例を示します。The type of failover that is performed will depend on whether the secondary replica is synchronized, as follows:

可用性レプリカが同期していない場合、またはまだ同期を行っている場合は、強制フェールオーバーのみが可能です (データが失われる可能性があります)。If the availability replica is not synchronizing or is still synchronizing, only forced failover (with possible data loss) can occur.

可用性モードが同期コミット (可用性 _ モード = 1) に設定されていて、可用性レプリカが現在同期されている場合、データ損失のない手動フェールオーバーが発生する可能性があります。If the availability mode is set to synchronous commit (availability_mode = 1) and the availability replica is currently synchronized, manual failover without data loss can occur.

可用性レプリカ内のすべての可用性データベースのデータベース同期の正常性のロールアップを表示するには、 sys.dm_hadr_availability_replica_states動的管理ビューの [同期の _ 状態] 列と [同期の _ 状態 _ ] 列を使用します。To view a rollup of the database synchronization health of every availability database in an availability replica, use the synchronization_health and synchronization_health_desc columns of the sys.dm_hadr_availability_replica_states dynamic management view. ロールアップでは、各可用性データベースの同期状態と、その可用性レプリカの可用性モードが考慮されます。The rollup considers the synchronization state of every availability database and the availability mode of its availability replica.

注: 特定の可用性データベースの同期の正常性を表示するには、[ sys.dm_hadr_database_replica_states動的管理] ビューの [同期 _ 状態] 列と [同期 _ 状態] 列に対してクエリを実行します。Note: To view the synchronization health of a given availability database, query the synchronization_state and synchronization_health columns of the sys.dm_hadr_database_replica_states dynamic management view.
フェールオーバー _ モード _ descfailover_mode_desc nvarchar(60)nvarchar(60) フェールオーバー _ モード の説明。次のいずれかになります。Description of failover_mode, one of:

MANUALMANUAL

AUTOMATICAUTOMATIC

フェールオーバーモードを変更するには、 _ ALTER AVAILABILITY GROUPステートメントのフェールオーバーモードオプションを使用し Transact-SQLTransact-SQL ます。To change the failover mode, use the FAILOVER_MODE option of ALTER AVAILABILITY GROUPTransact-SQLTransact-SQL statement.
セッションの _ タイムアウトsession_timeout intint タイムアウト時間 (秒単位)。The time-out period, in seconds. タイムアウト時間は、レプリカが別のレプリカからのメッセージの受信を待機する最大時間です。この時間を過ぎると、プライマリ レプリカとセカンダリ レプリカの間の接続は障害があるものと見なされます。The time-out period is the maximum time that the replica waits to receive a message from another replica before considering connection between the primary and secondary replica have failed. セッション タイムアウトは、セカンダリ レプリカがプライマリ レプリカに接続されているかどうかを検出します。Session timeout detects whether secondaries are connected the primary replica.

セカンダリレプリカとの接続が失敗したことを検出すると、プライマリレプリカはセカンダリレプリカが同期されていないと見なし _ ます。On detecting a failed connection with a secondary replica, the primary replica considers the secondary replica to be NOT_SYNCHRONIZED. プライマリ レプリカとの接続が確立されていないことを検出すると、セカンダリ レプリカは単に再接続を試みます。On detecting a failed connection with the primary replica, a secondary replica simply attempts to reconnect.

注: セッションのタイムアウトでは、自動フェールオーバーは行われません。Note: Session timeouts do not cause automatic failovers.

この値を変更するには、 ALTER AVAILABILITY GROUPステートメントの SESSION_TIMEOUT オプションを使用し Transact-SQLTransact-SQL ます。To change this value, use the SESSION_TIMEOUT option of ALTER AVAILABILITY GROUPTransact-SQLTransact-SQL statement.
プライマリ _ ロールでの _ 接続の許可 _primary_role_allow_connections tinyinttinyint 可用性ですべての接続を許可するか、読み取り/書き込み接続のみを許可するかは、次のいずれかになります。Whether the availability allows all connections or only read-write connections, one of:

2 = すべて (既定値)2 = All (default)

3 = 読み取り/書き込み3 = Read write
プライマリ _ ロールが _ 接続を許可する _ _ descprimary_role_allow_connections_desc nvarchar(60)nvarchar(60) プライマリロールの _ _ _ 接続許可 の説明。次のいずれかになります。Description of primary_role_allow_connections, one of:

ALLALL

読み取り/ _ 書き込みREAD_WRITE
セカンダリ _ ロールでの _ 接続の許可 _secondary_role_allow_connections tinyinttinyint セカンダリ ロールを実行している (つまりセカンダリ レプリカとして機能している) 可用性レプリカがクライアントからの接続を受け入れることができるかどうか。以下のいずれかです。Whether an availability replica that is performing the secondary role (that is, a secondary replica) can accept connections from clients, one of:

0 = いいえ。0 = No. セカンダリ レプリカのデータベースに対する接続は許可されず、データベースに対して読み取りアクセスを実行できません。No connections are allowed to the databases in the secondary replica, and the databases are not available for read access. これは、既定の設定です。This is the default setting.

1 = 読み取り専用。1 = Read only. セカンダリ レプリカのデータベースに対しては読み取り専用接続だけが許可されます。Only read-only connections are allowed to the databases in the secondary replica. レプリカ内のすべてのデータベースは読み取りアクセスで利用できます。All database(s) in the replica are available for read access.

2 = すべて。2 = All. 読み取り専用アクセスに限り、セカンダリ レプリカのデータベースに対するすべての接続が許可されます。All connections are allowed to the databases in the secondary replica for read-only access.

詳細については、「アクティブなセカンダリ:読み取り可能なセカンダリ レプリカ (Always On 可用性グループ)」を参照してください。For more information, see Active Secondaries: Readable Secondary Replicas (Always On Availability Groups).
secondary_role_allow_connections_descsecondary_role_allow_connections_desc nvarchar(60)nvarchar(60) Secondary_role_allow_connections の説明。次のいずれかになります。Description of secondary_role_allow_connections, one of:

NONO

READ_ONLYREAD_ONLY

ALLALL
create_datecreate_date datetimedatetime レプリカが作成された日付。Date that the replica was created.

NULL = このサーバーインスタンスにレプリカがありません。NULL = Replica not on this server instance.
modify_datemodify_date datetimedatetime レプリカが最後に変更された日付。Date that the replica was last modified.

NULL = このサーバーインスタンスにレプリカがありません。NULL = Replica not on this server instance.
backup_prioritybackup_priority intint 同じ可用性グループ内の他のレプリカと比較して、このレプリカでバックアップを実行する優先順位を表す、ユーザー指定の値。Represents the user-specified priority for performing backups on this replica relative to the other replicas in the same availability group. 値は 0 ~ 100 の範囲の整数です。The value is an integer in the range of 0..100.

詳細については、「アクティブなセカンダリ:セカンダリ レプリカでのバックアップ (Always On 可用性グループ)」を参照してください。For more information, see Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups).
read_only_routing_urlread_only_routing_url nvarchar (256)nvarchar(256) 読み取り専用可用性レプリカの接続エンドポイント (URL) です。Connectivity endpoint (URL) of the read only availability replica. 詳細については、このトピックの後の「 可用性グループの読み取り専用ルーティングの構成 (SQL Server)など) を含め、セカンダリ レプリカをホストするサーバー インスタンス上の読み書き可能なデータベースには書き込むことができます。For more information, see Configure Read-Only Routing for an Availability Group (SQL Server).
seeding_modeseeding_mode tinyinttinyint つぎのいずれかです。One of:
0: 自動0: Automatic

1: 手動1: Manual
seeding_mode_descseeding_mode_desc nvarchar(60)nvarchar(60) シード処理モードについて説明します。Describes seeding mode.
AUTOMATICAUTOMATIC

MANUALMANUAL

セキュリティSecurity

アクセス許可Permissions

サーバー インスタンスに対する VIEW ANY DEFINITION 権限が必要です。Requires VIEW ANY DEFINITION permission on the server instance.

参照See Also

sys.availability_groups (Transact-SQL) sys.availability_groups (Transact-SQL)
AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
AlwaysOn 可用性グループ (SQL Server) Always On Availability Groups (SQL Server)
Transact-sql)(可用性グループの監視 Monitor Availability Groups (Transact-SQL)
可用性グループの監視 (Transact-SQL)Monitor Availability Groups (Transact-SQL)