變更可用性複本的可用性模式 (SQL Server)
本主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,在 SQL Server 2014 中變更 AlwaysOn 可用性群組中可用性複本的可用性模式。 可用性模式是指控制複本以非同步方式或同步方式認可的複本屬性。 「非同步認可模式」會犧牲高可用性來達到最大效能,並且只支援強制手動容錯移轉 (可能遺失資料),這通常稱為「強制容錯移轉」。 這種「同步認可模式」強調的是高可用性而非效能,而且一旦同步處理次要複本之後,便支援手動容錯移轉以及選擇性的自動容錯移轉。
開始之前
必要條件
- 您必須連接到裝載主要複本的伺服器執行個體。
安全性
權限
需要可用性群組的 ALTER AVAILABILITY GROUP 權限、CONTROL AVAILABILITY GROUP 權限、ALTER ANY AVAILABILITY GROUP 權限或 CONTROL SERVER 權限。
使用 SQL Server Management Studio
若要變更可用性群組的可用性模式
在 [物件總管] 中,連接到裝載主要複本的伺服器執行個體,然後展開伺服器樹狀目錄。
依序展開 [AlwaysOn 高可用性] 節點和 [可用性群組] 節點。
按一下要變更複本的可用性群組。
以滑鼠右鍵按一下複本,然後按一下 [屬性]。
在 [可用性複本屬性] 對話方塊中,使用 [可用性模式] 下拉式清單來變更此複本的可用性模式。
使用 TRANSACT-SQL
若要變更可用性群組的可用性模式
連接到裝載主要複本的伺服器執行個體。
使用 ALTER AVAILABILITY GROUP 陳述式,如下所示:
ALTER AVAILABILITY GROUP 群組名稱 MODIFY REPLICA ON '伺服器名稱'
WITH ( {
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }
| FAILOVER_MODE = { AUTOMATIC | MANUAL }
} )
其中 group_name 是可用性群組的名稱, server_name 是裝載要修改之複本的伺服器實例名稱。
注意
只有當您同時指定 AVAILABILITY_MODE = SYNCHRONOUS_COMMIT 時,才支援 FAILOVER_MODE = AUTOMATIC。
下列範例 (在
AccountsAG
可用性群組的主要複本上輸入) 會針對INSTANCE09
伺服器執行個體上裝載的複本,將可用性和容錯移轉模式分別變更為同步認可和自動容錯移轉。ALTER AVAILABILITY GROUP AccountsAG MODIFY REPLICA ON 'INSTANCE09' WITH (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT); ALTER AVAILABILITY GROUP AccountsAG MODIFY REPLICA ON 'INSTANCE09' WITH (FAILOVER_MODE = AUTOMATIC);
使用 PowerShell
若要變更可用性群組的可用性模式
變更目錄 (
cd
) 為裝載主要複本的伺服器執行個體。使用
Set-SqlAvailabilityReplica
指令程式搭配AvailabilityMode
參數,以及選擇性的FailoverMode
參數。例如,下列命令會將可用性群組
MyReplica
中的複本MyAg
修改成使用同步認可的可用性模式並且支援自動容錯移轉。Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica
注意
若要檢視 Cmdlet 的語法,請使用
Get-Help
SQL Server PowerShell 環境中的 Cmdlet。 如需詳細資訊,請參閱 Get Help SQL Server PowerShell。
若要設定和使用 powerShell 提供者SQL Server,請參閱SQL Server PowerShell 提供者。
另請參閱
AlwaysOn 可用性群組概觀 (SQL Server)
可用性模式 (AlwaysOn 可用性群組)
容錯移轉及容錯移轉模式 (AlwaysOn 可用性群組)