將次要複本新增至 Always On 可用性群組

適用於:SQL Server

本主題說明如何在 SQL Server 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,將次要複本新增至現有的 Always On 可用性群組。

必要條件和限制

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

如需詳細資訊,請參閱 Always On 可用性群組的必要條件、限制和建議 (SQL Server)

安全性

權限

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

我們會持續聽取您的意見: 如果您發現本文中有過時或不正確的內容 (例如步驟或程式碼範例),請告訴我們。 您可以按一下此頁面底部 [意見反應] 區段中的 [本頁] 按鈕。 我們通常會在隔天閱讀有關 SQL 的每一項意見反應。 謝謝。

使用 SQL Server Management Studio

加入複本

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

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

  3. 以滑鼠右鍵按一下可用性群組,然後選取下列其中一個命令:

    • 選取 [加入複本] 命令,以啟動 [將複本加入至可用性群組] 精靈。 如需詳細資訊,請參閱使用將複本新增至可用性群組精靈 (SQL Server Management Studio)

    • 或者,選取 [屬性] 命令,以開啟 [可用性群組屬性] 對話方塊。 在此對話方塊中加入複本的步驟如下:

      1. 在對話方塊的 [可用性複本] 窗格中,按一下 [加入] 按鈕。 這會建立及選取複本項目,其中的空白伺服器執行個體欄位為已選取。

      2. 請輸入符合裝載可用性複本必要條件的伺服器執行個體名稱。

      若要加入其他複本,請重複上述步驟。 當您指定好複本時,按一下 [確定] 以完成該作業。

使用 TRANSACT-SQL

加入複本

  1. 連線至裝載主要複本的 SQL Server 執行個體。

  2. 使用 ALTER AVAILABILITY GROUP 陳述式的 ADD REPLICA ON 子句,將新的次要複本加入至可用性群組。 ENDPOINT_URL、AVAILABILITY_MODE 和 FAILOVER_MODE 選項在 ADD REPLICA ON 子句中是必要項。 其他複本選項 BACKUP_PRIORITY、SECONDARY_ROLE、PRIMARY_ROLE 和 SESSION_TIMEOUT 都是選擇項。 如需詳細資訊,請參閱 ALTER AVAILABILITY GROUP (Transact-SQL)

    例如,下列 Transact-SQL 陳述式會在 COMPUTER04 所裝載的預設伺服器執行個體 (其端點 URL 為 TCP://COMPUTER04.Adventure-Works.com:5022') 上的可用性群組 MyAG 中建立新的複本。 此複本支援手動容錯移轉和非同步認可的可用性模式。

    ALTER AVAILABILITY GROUP MyAG ADD REPLICA ON 'COMPUTER04'   
       WITH (  
             ENDPOINT_URL = 'TCP://COMPUTER04.Adventure-Works.com:5022',  
             AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,  
             FAILOVER_MODE = MANUAL  
             );  
    

使用 PowerShell

加入複本

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

  2. 使用 New-SqlAvailabilityReplica Cmdlet。

    例如,下列命令會將可用性複本加入至名為 MyAg的現有可用性群組。 此複本支援手動容錯移轉和非同步認可的可用性模式。 在次要角色中,此複本將支援讀取連接,可讓您將唯讀處理卸載至此複本。

    $agPath = "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"  
    $endpointURL = "TCP://PrimaryServerName.domain.com:5022"  
    $failoverMode = "Manual"  
    $availabilityMode = "AsynchronousCommit"  
    $secondaryReadMode = "AllowAllConnections"  
    
    New-SqlAvailabilityReplica -Name SecondaryServer\Instance `
    -EndpointUrl $endpointURL `
    -FailoverMode $failoverMode `
    -AvailabilityMode $availabilityMode `
    -ConnectionModeInSecondaryRole $secondaryReadMode `
    -Path $agPath
    

    注意

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

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

待處理:加入次要複本之後

若要將複本加入至現有的可用性群組,您必須執行下列步驟:

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

  2. 將新的次要複本加入可用性群組。 如需詳細資訊,請參閱將次要複本聯結至可用性群組 (SQL Server)

  3. 對於可用性群組中的每個資料庫,在裝載次要複本的伺服器執行個體上建立次要資料庫。 如需詳細資訊,請參閱針對可用性群組手動準備次要資料庫 (SQL Server)

  4. 將每一個新的次要資料庫聯結至可用性群組。 如需詳細資訊,請參閱將次要資料庫聯結至可用性群組 (SQL Server)

相關工作

管理可用性複本

另請參閱

ALTER AVAILABILITY GROUP (Transact-SQL)
AlwaysOn 可用性群組概觀 (SQL Server)
建立及設定可用性群組 (SQL Server)
使用 AlwaysOn 儀表板 (SQL Server Management Studio)
監視可用性群組 (Transact-SQL)