使用 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 受控執行個體至 SQL Server 2022 的連結或容錯移轉,您的受控執行個體必須已設定 SQL Server 2022 更新原則。 已使用一律保持最新更新原則設定的執行個體,不支援從 SQL 受控執行個體至 SQL Server 2022 的資料複寫和容錯移轉。
  • 雖然您可以建立從 SQL Server 2022 至已設定一律保持最新的更新原則的 SQL 受控執行個體的連結,但容錯移轉至 SQL 受控執行個體之後,將無法再複寫資料或容錯回復至 SQL Server 2022。

權限

在 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 版本不受支援,特色選單將不會提供此選項。

    顯示用於建立新連結的資料庫的特色選單選項的螢幕擷取畫面。

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

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

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

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

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

    1. 針對 SQL Server 初始主要複本,登入 Azure,從下拉式清單選擇訂用帳戶、資源群組與次要 SQL Server 受控執行個體。 選取 [登入] ,開啟 [連線伺服器] 對話方塊,然後連接到您要複寫資料庫的目的地 SQL 受控執行個體。 當您在 [登入] 視窗看到 [登入成功] 時,請選取 [確定] 關閉視窗,然後返回 [新增受控執行個體連結] 精靈。
    2. 針對 SQL 受控執行個體初始主要複本,請連線到您要複寫資料庫的目的地 SQL Server 執行個體。

    注意

    如果您想要建立已存在的可用性群組連結,請在 [指定次要複本] 頁面下 [端點] 索引標籤的 [端點 URL] 欄位中提供現有接聽程式的 IP 位址。

  8. 在新增次要複本之後,如有需要,請使用精靈的索引標籤來修改端點設定,並針對其餘索引標籤檢閱備份與連結端點相關資訊。 在您準備好繼續後,選取 [下一步]

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

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

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

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

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

檢視複寫的資料庫

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

在任一複本,使用 SSMS 的 [物件總管] 來檢視複寫資料庫的同步處理狀態。

顯示 S S M S 中 SQL Server 資料庫和分散式可用性群組狀態的螢幕擷取畫面。

展開 [Always On 高可用性] 和 [可用性群組],以檢視為各別連結建立的分散式可用性群組。

顯示 SQL 受控執行個體資料庫和分散式可用性群組狀態的螢幕擷取畫面。

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

進行第一個交易記錄備份

如果 SQL Server 是初始主要複本,當 Azure SQL 受控執行個體上的資料庫不再處於正在還原...狀態時,在初始植入完成之後,請務必在 SQL Server 上進行第一個交易記錄備份。 然後定期進行 SQL Server 交易記錄備份,以在 SQL Server 處於主要角色時,將過多的記錄成長降至最低。

如果 SQL 受控執行個體是主要複本,您不需要採取任何動作,因為 Azure SQL 受控執行個體會自動進行記錄備份。

如果您想卸除連結,可能是因為不再需要連結,或因為連結處於無法修復的狀態且需要重新建立連結,您可以使用 SQL Server Management Studio (SSMS) 來執行此動作。

在連線到執行個體之後,您可以從 SSMS [物件總管] 的下列功能表選項中刪除連結:

  • [AlwaysOn 可用性群組] > [可用性群組] > 以滑鼠右鍵按一下與連結 > 相關聯的散發式可用性組名 [刪除]...
  • [資料庫] > 以滑鼠右鍵按一下與連結 > 相關聯的資料庫 Azure SQL 受控執行個體連結> [刪除]...

疑難排解

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

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

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