sys.availability_replicas (Transact-SQL)

適用於:SQL Server

針對屬於 WSFC 容錯移轉叢集中 Always On 可用性群組的每個可用性複本傳回一個資料列。

如果本地伺服器實例無法與 WSFC 故障轉移叢集交談,例如因為叢集已關閉或仲裁已遺失,則只會傳回本機可用性複本的數據列。 這些數據列只會包含元數據中本機快取的數據行。

資料行名稱 資料類型 描述
replica_id uniqueidentifier 復本的唯一標識碼。
group_id uniqueidentifier 復本所屬可用性群組的唯一標識符。
replica_metadata_id int 資料庫引擎 中可用性復本之本機元數據對象的標識碼。
replica_server_name nvarchar(256) 裝載這個複本的 SQL Server 執行個體伺服器名稱,如果是非預設執行個體,則是其執行個體名稱。
owner_sid varbinary(85) 為這個可用性復本的外部擁有者註冊至此伺服器實例的安全性標識碼 (SID)。

非本機可用性複本的NULL。
endpoint_url nvarchar(128) 使用者指定之資料庫鏡像端點的字串表示法,該端點是由主要與次要複本之間的資料同步處理連接所使用。 如需這些端點 URL 語法的相關資訊,請參閱新增或修改可用性複本時指定端點 URL (SQL Server)

NULL = 無法與 WSFC 故障轉移叢集交談。

若要變更此端點,請使用 ALTER AVAILABILITY GROUPTransact-SQL 語句的 ENDPOINT_URL 選項。
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

若要變更可用性複本的可用性模式,請使用 ALTER AVAILABILITY GROUPTransact-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_statesynchronization_health數據行。
failover_mode_desc nvarchar(60) failover_mode的描述,下列其中一項:

MANUAL

AUTOMATIC

若要變更故障轉移模式,請使用 ALTER AVAILABILITY GROUPTransact-SQL 語句的 FAILOVER_MODE 選項。
session_timeout int 逾時期間 (以秒為單位)。 逾時期間是將主要複本與次要複本之間的連接視為失敗之前,複本等待接收另一個複本之訊息的時間上限。 工作階段逾時會偵測次要複本是否連接到主要複本。

一旦偵測到與次要複本之間的連接失敗時,主要複本會將次要複本視為 NOT_SYNCHRONIZED。 一旦偵測到與主要複本之間的連接失敗時,次要複本只會嘗試重新連接。

注意: 工作階段逾時不會造成自動故障轉移。

若要變更此值,請使用 ALTER AVAILABILITY GROUPTransact-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 = 全部。 次要複本的資料庫允許所有連接進行唯讀存取。

如需詳細資訊,請參閱使用中次要:可讀取次要複本 (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) 只讀可用性複本的 連線 ivity 端點 (URL)。 如需詳細資訊,請參閱設定可用性群組的唯讀路由 (SQL Server)
read_write_routing_url nvarchar(256) SQL Server 2019 (15.x) 和更新版本。 當復本為主要複本時,連線 ivity 端點 (URL)。 如需詳細資訊,請參閱次要到主要複本讀取/寫入連線重新導向 (Always On 可用性群組)
seeding_mode tinyint 其中一個:

0:自動

1:手動
seeding_mode_desc nvarchar(60) 描述植入模式。

AUTOMATIC

MANUAL

安全性

權限

需要伺服器實例的 VIEW ANY DEFINITION 許可權。

另請參閱