使用 SSMS 設定連結 - Azure SQL 受控執行個體

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

本文說明如何使用 SQL Server Management Studio (SSMS) 在 SQL Server 與 Azure SQL 受控執行個體之間設定連結。 透過連結,來自初始主要複本的資料庫會以近乎即時的方式複寫到次要複本。

在建立連結之後,您就可以容錯移轉至次要複本,以便進行移轉或災害復原。

注意

  • 您也可以使用指令碼來設定連結。
  • 將 Azure SQL 受控執行個體設為初始主要複本目前處於預覽狀態,且僅從 SQL Server 2022 CU10 開始提供支援。

概觀

使用連結功能,將資料庫從初始主複本複寫到次要複本。 針對 SQL Server 2022,初始主要複本可以是 SQL Server 或 Azure SQL 受控執行個體。 針對 SQL Server 2019 與舊版,初始主要複本必須是 SQL Server。 在設定連結之後,會將初始主要複本的資料庫複寫到次要複本。

您可選擇在主要與次要複本之間的混合式環境保留連結以便連續複寫資料,也可將資料庫容錯移轉至次要複本、移轉至 Azure 或進行災害復原。 針對 SQL Server 2019 與舊版,容錯移轉至 Azure SQL 受控執行個體會中斷連結,且不支援容錯回復。 當使用 SQL Server 2022 時,您可以選擇維護連結,在兩個復本之間來回容錯回復 - 此功能目前處於預覽狀態。

如果您打算僅使用次要受控執行個體進行災害復原,您可藉由啟用混合式容錯移轉權益來節省授權成本。

使用本文指示,在 SQL Server 與 Azure SQL 受控執行個體之間手動設定連結。 在建立連結之後,來源資料庫就會在目標次要複本產生唯讀複本。

必要條件

注意

連結的部分功能已正式推出,但某些功能目前仍為預覽版。 檢閱版本支援性以便深入瞭解。

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

請考慮下列事項:

  • 連結功能針對每個連結支援一個資料庫。 若要從一個執行個體複寫多個資料庫,請針對每個資料庫建立一個連結。 例如,若要將 10 個資料庫複寫到 SQL 受控執行個體,請建立 10 個連結。
  • SQL Server 與 SQL 受控執行個體之間的定序應該相同。 定序中的不符可能會導致伺服器名稱大小寫不符,而無法成功從 SQL Server 連線到 SQL 受控執行個體。
  • 初始 SQL Server 主要備份錯誤 1475 表示您必須建立完整備份而不使用 COPY ONLY 選項來啟動新的備份鏈結。

權限

在 SQL Server 上,您應具備 sysadmin 權限。

在 Azure SQL 受控執行個體上,您應為 SQL 受控執行個體參與者的成員,或具備自訂角色的下列權限:

Microsoft.Sql/ resource 必要權限
Microsoft.Sql/managedInstances /read、/write
Microsoft.Sql/managedInstances/hybridCertificate /action
Microsoft.Sql/managedInstances/databases /read、/delete、/write、/completeRestore/action、/readBackups/action、/restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read、/write、/delete、/setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /read
Microsoft.Sql/managedInstances/hybridLink /read、/write、/delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write、/delete、/read

準備資料庫

如果 SQL Server 是您的初始主複本,您必須建立資料庫備份。 由於 Azure SQL 受控執行個體會自動進行備份,如果 SQL 受控執行個體是您的初始主要複本,請略過此步驟。

使用 SSMS 備份您的 SQL Server 資料庫。 執行下列步驟:

  1. 在 SQL Server Management Studio (SSMS) 中,連線至 SQL Server。
  2. 在 [物件總管],以滑鼠右鍵按一下 [資料庫],將滑鼠停留在 [工作] 上方,然後選取 [備份]
  3. 針對備份類型選擇 [完整]。
  4. 確定 [備份至]選項具磁碟備份路徑,且有足夠可用儲存空間。
  5. 選取 [確定] 以完成完整備份。

如需詳細資訊,請參閱建立完整資料庫備份

注意

此連結僅支援使用者資料庫的複寫。 不支援系統資料庫的複寫。 若要複寫執行個體層級物件 (儲存在 mastermsdb),建議您透過指令碼找出這些物件,並在目的地執行個體上執行 T-SQL 指令碼。

在下列步驟,使用 SSMS 的 [新增受控執行個體連結]精靈來建立初始主要複本與次要複本之間的連結。

建立連結之後,來源資料庫就會在目標次要複本上產生唯讀的複本。

  1. 開啟 SSMS 並連線到初始主要複本。

  2. 在 [物件總管]中,以滑鼠右鍵按一下要連結次要複本的資料庫,將滑鼠停留在 [Azure SQL 受控執行個體連結] 上方,然後選取 [新增……] 以開啟 [新增受控執行個體連結] 精靈。 如果您的 SQL Server 版本不受支援,特色選單將不會提供此選項。

    Screenshot that shows a database's context menu option to create a new link.

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

  4. 在 [ 指定連結選項 ] 頁面,提供連結名稱 - 如果您選取多個資料庫,則資料庫名稱會自動附加至您提供的名稱結尾,因此您不需要自行包含它。 如果您想要啟用連線疑難排解,且針對 SQL Server 2022,如果您打算使用連結進行雙向災害復原,請核取這些方塊。 選取 [下一步]。

  5. 在 [需求] 頁面上,精靈會驗證建立連結至次要複本的需求。 在驗證所有需求之後選取 [下一步],或解決不符合的任何需求,然後選取 [重新執行驗證]

  6. 在 [選取資料庫] 頁面,選擇您想要透過連結複寫至次要複本的資料庫。 選取多個資料庫會建立多個分散式可用性群組,每個連結各一個。 選取 [下一步]。

  7. 在 [指定次要複本] 頁面,選取 [新增次要複本],新增次要複本。 如果您的初始主要複本是 SQL Server,這會開啟 [登入] Azure 視窗。 如果初始主要複本是 SQL 受控執行個體,這會開啟 [連線伺服器] 對話方塊。

    1. 針對 SQL Server 初始主要複本,登入 Azure,從下拉式清單選擇訂用帳戶、資源群組與次要 SQL Server 受控執行個體。 選取 [登入],開啟 [連線伺服器] 對話方塊,然後連接到您要複寫資料庫的目的地 SQL 受控執行個體。 當您在 [登入] 視窗看到 [登入成功] 時,請選取 [確定] 關閉視窗,然後返回 [新增受控執行個體連結]精靈。
    2. 針對 SQL 受控執行個體初始主要複本,請連線到您要複寫資料庫的目的地 SQL Server 執行個體。
  8. 在新增次要複本之後,如有需要,請使用精靈的索引標籤來修改端點設定,並針對其餘索引標籤檢閱備份與連結端點相關資訊。 在您準備好繼續後,選取 [下一步]

  9. 如果 SQL 受控執行個體是您的初始主要複本,精靈的下一頁會是 [登入 Azure]頁面。 如有需要,請再次登入,然後選取 [下一步]。 當 SQL Server 是初始主要複本時,無法使用此頁面。

  10. 在 [驗證] 頁面上,確定所有驗證都成功通過。 如果有任何失敗,請加以解決,然後重新執行驗證。 當您就緒時,請選取 [下一步]

  11. 在 [摘要] 頁面,再次檢閱您的設定。 您可選擇性選取 [指令碼] 來產生指令碼,以便您可於未來輕鬆重新建立相同連結。 當您準備好建立連結時,請選取 [完成]

  12. [執行動作] 頁面會顯示每個動作的進度。

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

檢視複寫的資料庫

在建立連結之後,您的資料庫會複寫到次要複本。 視資料庫大小和網路速度而定,次要複本資料庫一開始可能會處於 [還原中] 狀態。 初始植入完成後,資料庫會還原至次要複本,並且已可供唯讀工作負載使用。

在任一複本,使用 SSMS 的 [物件總管]來檢視複寫資料庫的同步處理狀態。 展開 [Always On 高可用性] 和 [可用性群組],以檢視為各別連結建立的分散式可用性群組。

Screenshot that shows the state of the SQL Server database and distributed availability group in S S M S.Screenshot that shows the state of the SQL Managed Instance database and distributed availability group.

不論哪個執行個體是主要複本,您也可在 SQL Server 以滑鼠右鍵按一下連結的分散式可用性群組,然後選取 [顯示看板],檢視分散式可用性群組看板,以顯示分散式可用性群組的連結資料庫狀態。

停止工作負載

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

容錯移轉資料庫

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

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

警告

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

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

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

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

    Screenshot that shows a database's context menu option for failover.

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

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

  5. 在 [登入 Azure 與遠端執行個體] 頁面上,選取 [登入] 來提供您的認證並登入您的 Azure 帳戶。 如果出現提示,請選取 [登入] 以便登入您的 SQL Server 或 SQL 受控執行個體次要複本。

  6. 在 [容錯移轉後作業]頁面,SQL Server 2022 與舊版之間的選項不同。

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

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

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

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

重要

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

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

針對 SQL Server 2022,如果您選擇維護連結,您可在 SQL Server 或 SQL 受控執行個體的 [物件總管] 檢查資料庫。 資料庫狀態為 [已同步處理],且 [可用性群組] 底下會存在分散式可用性群組。

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

疑難排解

本節提供指引,解決設定及使用連結問題。

錯誤

如果您在建立連結或容錯移轉資料庫時遇到錯誤訊息,請選取錯誤,開啟錯誤詳細資料視窗。

如果您在使用連結時發生錯誤,SSMS 精靈會在失敗的步驟停止執行,且無法再次重新啟動。 請解決此問題,並在必要時透過移除分散式可用性群組與可用性群組 (如其於設定連結時建立) 來清除環境,還原原始狀態。 然後再次啟動精靈重新開始。

在強制容錯移轉之後狀態不一致

使用強制容錯移轉可能造成主要與次要複本之間狀態不一致,導致兩個複本都處於相同角色的大腦分裂案例。 在此狀態資料複寫會失敗,直到使用者手動將一個複本指定為主要複本,將另一複本指定為次要複本並解決此問題為止。

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