適用於:SQL Server
此主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,在 SQL Server 的 Always On 可用性群組中變更可用性複本的容錯移轉模式。 容錯移轉模式是一項複本屬性,用來決定在同步認可可用性模式下執行之複本的容錯移轉模式。 如需詳細資訊,請參閱容錯移轉及容錯移轉模式 (Always On 可用性群組) 與可用性模式 (Always On 可用性群組)。
必要條件和限制
只有在主要複本上才支援這個工作。 您必須連線到承載主要複本的伺服器執行個體。
SQL Server 容錯移轉叢集執行個體 (FCI) 不支援依照可用性群組進行自動容錯移轉,因此任何由 FCI 裝載的可用性複本只能設定為手動容錯移轉。
權限
需要對可用性群組具有 ALTER AVAILABILITY GROUP 權限、CONTROL AVAILABILITY GROUP 權限、ALTER ANY AVAILABILITY GROUP 權限,或 CONTROL SERVER 權限。
使用 SQL Server Management Studio
變更可用性複本的容錯移轉模式
在 [物件總管] 中,連接到裝載主要複本的伺服器執行個體,然後展開伺服器樹狀目錄。
展開 Always On 高可用性 節點以及 可用性群組 節點。
按一下要變更複本的可用性群組。
以滑鼠右鍵按一下複本,然後按一下 [屬性]。
在 [可用性複本屬性] 對話方塊中,使用 [容錯移轉模式] 下拉式清單來變更此複本的容錯移轉模式。
使用 TRANSACT-SQL
變更可用性複本的容錯移轉模式
連接到裝載主要複本的伺服器執行個體。
請使用以下 ALTER AVAILABILITY GROUP 陳述:
ALTER AVAILABILITY GROUP *group_name* MODIFY REPLICA ON '*server_name*' WITH ( { AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT } | FAILOVER_MODE = { AUTOMATIC | MANUAL } } )在前一段指令碼中:
group_name 是可用性群組的名稱。
server_name 是電腦名稱或容錯移轉叢集網路的名稱。 若為命名執行個體,請加上 `\instance_name'。 使用承載您想要修改之複本的主機名稱。
關於這些參數的更多資訊,請參見 ALTER AVAILABILITY GROUP (Transact-SQL)。
下列範例 (在 MyAG 可用性群組的主要複本上輸入) 會針對位於 COMPUTER01電腦的預設伺服器執行個體上的可用性複本,將容錯移轉模式變更為自動容錯移轉。
ALTER AVAILABILITY GROUP MyAG MODIFY REPLICA ON 'COMPUTER01' WITH
(FAILOVER_MODE = AUTOMATIC);
使用 PowerShell
若要變更可用性複本的容錯移轉模式
將目錄 (cd) 變更至裝載主複本的伺服器執行個體。
使用 Set-SqlAvailabilityReplica 命令程式,並搭配 FailoverMode 參數。 將複本設定為自動容錯移轉時,您可能需要使用 AvailabilityMode 參數,將複本變更為同步認可可用性模式。
例如,下列命令會將可用性群組
MyAg中的複本MyReplica修改為使用同步認可可用性模式,且支援自動容錯移轉。Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\Replicas\MyReplica注意
若要檢視 Cmdlet 的語法,請在 SQL Server PowerShell 環境中使用 Get-Help Cmdlet。 如需詳細資訊,請參閱 Get Help SQL Server PowerShell。
若要設定和使用 SQL Server PowerShell 提供者
另請參閱
AlwaysOn 可用性群組概觀 (SQL Server)
可用性模式 (AlwaysOn 可用性群組)
容錯移轉及容錯移轉模式 (AlwaysOn 可用性群組)