共用方式為


容錯移轉連結 - Azure SQL 受控執行個體

適用於:Azure SQL 受控執行個體

本文說明如何使用 SQL Server Management Studio (SSMS) 或 PowerShell 針對 SQL Server 與 Azure SQL 受控執行個體之間連結的資料庫進行容錯移轉。

注意

  • 將 Azure SQL 受控執行個體設為初始主要複本目前處於預覽狀態,且僅從 SQL Server 2022 CU10 開始提供支援。

必要條件

若要透過連結將您的資料庫容錯移轉至次要複本,必須符合下列必要條件:

停止工作負載

如果您已準備好將資料庫容錯移轉至次要複本,請先在維護期間停止主要複本的任何應用程式工作負載。 這可讓資料庫複寫趕上次要複寫,以便您可容錯移轉至次要複本,而不會遺失資料。 在容錯移轉之前,請確定您的應用程式不會認可異動至主要複本。

容錯移轉資料庫

您可以使用 SQL Server Management Studio 或 PowerShell 來容錯移轉連結的資料庫。

使用 SSMS 的 [在 SQL Server 與受控執行個體之間進行容錯移轉]精靈,將資料庫從主要複本容錯移轉到次要複本。

您可從主要或次要複本執行計劃性容錯移轉。 若要執行強制容錯移轉,請連線次要複本。

警告

  • 在容錯移轉之前,請停止來源資料庫的工作負載,以便複寫資料庫可完全趕上並進行容錯移轉,而不會遺失資料。 如果您要執行強制容錯移轉,您的資料可能會遺失。
  • 在 SQL Server 2019 與舊版容錯移轉資料庫會發生中斷並移除兩個複本之間的連結。 您無法容錯回復到初始主要複本。
  • 在使用 SQL Server 2022 維護連結時容錯移轉資料庫目前為預覽狀態。

若要容錯移轉資料庫,請遵循下列步驟:

  1. 開啟 SSMS,連線任一複本。

  2. 在 [物件總管] 中,以滑鼠右鍵按一下您的複寫資料庫,將滑鼠停留在 [Azure SQL 受控執行個體連結] 上方,然後選取 [容錯移轉……],以開啟 [在 SQL Server 與受控執行個體之間容錯移轉] 精靈。 如果您有來自相同資料庫的多個連結,請在 [物件總管] 的 [Always On 可用性群組] 底下,展開 [可用性群組],然後針對您要容錯移轉的連結以滑鼠右鍵按一下分散式可用性群組。 選取 [容錯移轉……],開啟該特定連結的 [在 SQL Server 與受控執行個體之間進行容錯移轉]精靈。

    顯示資料庫容錯移轉操作功能表選項的螢幕擷取畫面。

  3. 在 [簡介] 頁面上,選取 [下一步]

  4. [選擇容錯移轉類型]頁面會顯示每個複本的詳細資料、您選取的資料庫角色,以及支援的容錯移轉類型。 您可從任何複本起始容錯移轉。 如果您選擇強制容錯移轉,您必須核取方塊來表示您瞭解可能遺失資料。 選取 [下一步]。

    注意

    如果您要移轉至 Azure SQL 受控執行個體,請選擇 [計劃性容錯移轉]

  5. 在 [登入 Azure 與遠端執行個體] 頁面:

    1. 選取 [登入],提供認證並登入 Azure 帳戶。
    2. 根據上一頁選取的 [容錯移轉類型],[登入] 選項會以不同方式運作。 對於計劃性容錯移轉,必須登入遠端執行個體 (SQL Server 或 SQL 受控執行個體)。 對於強制容錯移轉,由於支援下列兩種案例,因此登入為選用:
      • 真實災害復原:由於主要執行個體在真實災害期間通常無法使用,因此無法登入,且使用者必須立即容錯移轉至次要執行個體,使其成為新主要執行個體。 在解決中斷之後,由於兩個複本現在都具主要角色,連結處於不一致狀態 (核心分裂案例)。
      • 災害復原演練:不建議使用強制容錯移轉來執行災害復原演練,因為可能會遺失資料。 不過,在演練期間,由於主要執行個體可供使用,因此支援登入,且您可以選擇反轉這兩個複本的角色,以避免核心分裂案例。
  6. 在 [容錯移轉後作業] 頁面,SQL Server 2022 與舊版之間的選項不同,以及您是否能夠連線主要執行個體也有所有不同。

    • 針對 SQL Server 2022,您可選擇停止複本之間的複寫,這會在容錯移轉完成之後卸除連結及分散式可用性群組。 如果您要維護連結並繼續複製複本之間的資料,請勿勾選核取方塊。 如您選擇卸除連結,若您僅為將資料庫複製至 Azure 而建立可用性群組,且不再需要它,則您也可核取此方塊來卸除可用性群組。 核取符合您案例的方塊,然後選取 [下一步]
    • 針對 SQL Server 2019 與舊版,預設為選取 [移除連結] 選項,且您無法取消選取,因為容錯移轉至 SQL 受控執行個體會停止複寫、中斷連結,並卸除分散式可用性群組。 核取方塊來表示您瞭解連結將遭到卸除,然後選取 [下一步]
    • (選用) 如果您能夠在上一頁登入 SQL Server 執行個體,您也可以選取 [清除] 區段方塊,在強制容錯移轉之後刪除 SQL Server 執行個體的可用性群組。
  7. 檢閱 [摘要]頁面的動作。 您可選擇性選取 [指令碼] 來產生指令碼,以便於未來使用相同連結輕鬆容錯移轉資料庫。 當您準備好容錯移轉資料庫時,請選取 [完成]

  8. 完成所有步驟之後,[結果] 頁面會在成功完成的動作旁顯示勾號。 您現在可以關閉視窗。

如果您選擇維護 SQL Server 2022 連結,次要複本會變成新主要複本,連結仍為作用中,且您可容錯回復至次要複本。

如果您是使用 SQL Server 2019 與舊版,或如果您選擇卸除 SQL Server 2022 連結,則會卸除連結,且在容錯移轉完成之後不再存在。 每個複本的來源資料庫和目標資料庫都可以執行讀取/寫入工作負載。 它們完全獨立。

重要

在成功容錯移轉至 SQL 受控執行個體之後,請手動將應用程式連接字串重新指向 SQL 受控執行個體 FQDN,才能完成移轉或容錯移轉流程並繼續在 Azure 執行。

在容錯移轉之後檢視資料庫

針對 SQL Server 2022,如果您選擇維護連結,您可以檢查分散式可用性群組是否存在於 SQL Server Management Studio 物件總管可用性群組

如果您在容錯移轉期間卸除連結,您可使用 [物件總管] 來確認分散式可用性群組已不存在。 如果您選擇保留可用性群組,資料庫仍會進行同步處理

清除可用性群組

由於使用 SQL Server 2022 進行容錯移轉並不會中斷連結,因此您可以在容錯移轉之後維護連結,這會讓可用性群組與分散式可用性群組處於作用中狀態。 無須進行任何進一步的動作。

不過,卸除連結只會卸除分散式可用性群組,而可用性群組則保持作用中。 您可以決定保留可用性群組,或將其卸除。

如果您決定卸除可用性群組,請取代下列值,然後執行範例 T-SQL 程式碼:

  • <AGName> 使用 SQL Server 上的可用性群組 (用來建立連結的群組) 的名稱。
-- Run on SQL Server
USE MASTER
GO
DROP AVAILABILITY GROUP <AGName> 
GO

如需連結功能的詳細資訊,請檢閱下列資源: