變更可用性複本的可用性模式 (SQL Server)
本主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,在 SQL Server 2012 中變更 AlwaysOn 可用性群組內可用性複本的可用性模式。 可用性模式是指控制複本以非同步方式或同步方式認可的複本屬性。 「非同步認可模式」(Asynchronous-Commit Mode) 會犧牲高可用性來達到最大效能,並且只支援強制手動容錯移轉 (可能遺失資料),這通常稱為「強制容錯移轉」。 這種「同步認可模式」(Synchronous-Commit Mode) 強調的是高可用性而非效能,而且一旦同步處理次要複本之後,便支援手動容錯移轉以及選擇性的自動容錯移轉。
開始之前:
必要條件
安全性
若要使用下列項目變更可用性複本的可用性模式:
SQL Server Management Studio
Transact-SQL
PowerShell
開始之前
必要條件
- 您必須連接到裝載主要複本的伺服器執行個體。
安全性
權限
需要可用性群組的 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 group_name MODIFY REPLICA ON 'server_name'
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 參數。
例如,下列命令會將可用性群組 MyAg 中的複本 MyReplica 修改成使用同步認可的可用性模式並且支援自動容錯移轉。
Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica
[!附註]
若要檢視指令程式的語法,請使用 SQL Server PowerShell 環境中的 Get-Help 指令程式。 如需詳細資訊,請參閱<取得 SQL Server PowerShell 說明>。
若要設定和使用 SQL Server PowerShell 提供者
[回到頁首]