sys.availability_replicas(Transact-SQL)

適用於:SQL Server

會回傳屬於 Windows Server 故障轉移叢集(WSFC)中任何 Always On 可用性群組的可用性副本一列。

如果本地伺服器實例無法連接到 WSFC 的故障轉移叢集,例如叢集當機或失去法定人數,則 sys.availability_replicas 只會回傳本地可用性副本的列。 這些列僅包含在本地快取於元資料中的欄位。

資料行名稱 資料類型 描述
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(256) 使用者指定之資料庫鏡像端點的字串表示法,該端點是由主要與次要複本之間的資料同步處理連接所使用。 關於端點 URL 語法的資訊,請參見 「指定端點 URL - 新增或修改可用性副本」。

NULL = 無法與 WSFC 故障轉移群組通話。

要更改此端點,請使用ENDPOINT_URL「ALTER AVAILABILITY GROUP Transact-SQL」陳述的選項。
availability_mode tinyint 複本的可用性模式,下列其中一項:

0 = 非同步提交。 主要複本可認可交易,而不需要等候次要複本將記錄寫入磁碟中。

1 = 同步提交。 主要複本會等候認可給定交易,直到次要複本將交易寫入磁碟為止。

4 = 僅配置。 主要複本會以同步方式將可用性群組組態元數據傳送至複本。 使用者資料不會傳送到複本。

更多資訊,查閱 Always On 可用性群組之可用性模式間的差異

適用於 SQL Server 2017(14.x)CU 1 及更新版本。
availability_mode_desc nvarchar(60) 的描述, availability_mode其中一個:

ASYNCHRONOUS_COMMIT
SYNCHRONOUS_COMMIT
CONFIGURATION_ONLY

若要更改可用性副本的可用性模式,請使用AVAILABILITY_MODE「ALTER AVAILABILITY GROUP Transact-SQL」陳述式的選項。

你無法將複本的可用性模式改成 CONFIGURATION_ONLY。 你不能把複本改 CONFIGURATION_ONLY 成次要或主複本。
failover_mode tinyint 可用性復本的故障轉移模式,其中一種:

0 = 自動切換。 復本是自動故障轉移的潛在目標。 自動故障轉移僅在可用性模式設為同步提交availability_mode (是 1)且可用性副本目前已同步時才被支援。

1 = 手動切換。 當次要副本被設定為手動故障轉移時,資料庫管理員必須手動啟動故障轉移。 所執行的故障轉移類型取決於次要副本是否同步,具體如下:

如果可用性副本沒有同步或仍在同步,只能強制切換(可能有資料遺失)。

若可用性模式設定為同步提交(availability_mode1),且可用性副本目前已同步,則可進行手動故障轉移而不遺失資料。

若要檢視可用性副本中每個可用性資料庫的資料庫同步健康狀況,請使用 synchronization_healthsys.dm_hadr_availability_replica_states 動態管理檢視的欄位synchronization_health_desc。 匯總會考慮每個可用性資料庫的同步處理狀態及其可用性複本的可用性模式。

註:要查看特定可用性資料庫的同步健康狀況,請查詢synchronization_statesys.dm_hadr_database_replica_states動態管理檢視的欄位synchronization_health
failover_mode_desc nvarchar(60) 的描述, failover_mode其中一個:

MANUAL
AUTOMATIC

要更改故障轉移模式,請使用 FAILOVER_MODEALTER AVAILABILITY GROUP Transact-SQL 」陳述的選項。
session_timeout int 暫停時間,幾秒鐘內。 逾時時間是指副本等待接收另一個副本訊息的最長時間,直到主副本與次副本之間的連線已失效。 會話逾時會偵測次要節點是否連接到主要副本。

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

註: session 逾時不會自動切換。

要更改此值,請使用SESSION_TIMEOUT「ALTER AVAILABILITY GROUP Transact-SQL」陳述式選項。
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其中一個:

NO
READ_ONLY
ALL
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) 描述植入模式。

AUTOMATIC
MANUAL
read_write_routing_url nvarchar(256) 復本為主要複本時的連線端點 (URL)。 如需詳細資訊,請參閱次要到主要複本讀取/寫入連線重新導向 (Always On 可用性群組)

適用於:SQL Server 2019 (15.x) 和更新版本。

權限

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