變更 Always On 可用性群組內複本的可用性模式

適用於:SQL Server

此主題說明如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,在 SQL Server 的 Always On 可用性群組中變更可用性複本的可用性模式。 可用性模式是指控制複本以非同步方式或同步方式認可的複本屬性。 「非同步認可模式」會犧牲高可用性來達到最大效能,並且只支援強制手動容錯移轉 (可能遺失資料),這通常稱為「強制容錯移轉」。 這種「同步認可模式」強調的是高可用性而非效能,而且一旦同步處理次要複本之後,便支援手動容錯移轉以及選擇性的自動容錯移轉。

必要條件

您必須連接到裝載主要複本的伺服器執行個體。

權限

需要可用性群組的 ALTER AVAILABILITY GROUP 權限、CONTROL AVAILABILITY GROUP 權限、ALTER ANY AVAILABILITY GROUP 權限或 CONTROL SERVER 權限。

使用 SQL Server Management Studio

若要變更可用性群組的可用性模式

  1. 在 [物件總管] 中,連接到裝載主要複本的伺服器執行個體,然後展開伺服器樹狀目錄。

  2. 依序展開 [Always On 高可用性] 節點和 [可用性群組] 節點。

  3. 按一下要變更複本的可用性群組。

  4. 以滑鼠右鍵按一下複本,然後按一下 [屬性]。

  5. [可用性複本屬性] 對話方塊中,使用 [可用性模式] 下拉式清單來變更此複本的可用性模式。

使用 TRANSACT-SQL

若要變更可用性群組的可用性模式

  1. 連接到裝載主要複本的伺服器執行個體。

  2. 使用 ALTER AVAILABILITY GROUP 陳述式,如下列範例所示:

    ALTER AVAILABILITY GROUP [<availability_group_name>] MODIFY REPLICA ON '*server_name*'  
    WITH ( AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT)
    
    ALTER AVAILABILITY GROUP [<availability_group_name>] MODIFY REPLICA ON '*server_name*'  
    WITH ( FAILOVER_MODE = 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

若要變更可用性群組的可用性模式

  1. 變更目錄 (cd) 為裝載主要複本的伺服器執行個體。

  2. 使用 Set-SqlAvailabilityReplica Cmdlet 搭配 AvailabilityMode 參數或 FailoverMode 參數。

    例如,下列命令會將可用性群組 MyReplica 中的複本 MyAg 修改成使用同步認可的可用性模式並且支援自動容錯移轉。

    Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" `   
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    

    注意

    若要檢視 Cmdlet 的語法,請在 SQL Server PowerShell 環境中使用 Get-Help Cmdlet。 如需詳細資訊,請參閱 Get Help SQL Server PowerShell

若要設定和使用 SQL Server PowerShell 提供者

另請參閱

AlwaysOn 可用性群組概觀 (SQL Server)
可用性模式 (AlwaysOn 可用性群組)
容錯移轉及容錯移轉模式 (AlwaysOn 可用性群組)