共用方式為


受控執行個體 連結概述

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

本文概述了受控執行個體連結,該連結使SQL Server與Azure SQL 受控執行個體之間能實現近乎即時的資料複製。 此連結提供混合彈性與資料庫移動性,解鎖多種情境,例如擴展唯讀工作負載、將分析與報告卸載至 Azure,以及遷移至 Azure。 在 SQL Server 2022 及之後的版本中,該連結可實現線上災難復原功能,包括回退到 SQL Server,以及設定從 SQL 受管理執行個體 連結到 SQL Server。

若要開始,請檢閱準備您的環境以供連結

概觀

受控執行個體連結使用 分散式可用性群組,以安全且可靠的方式擴展您的資料資產。 它能將資料從託管於任何地方的 SQL Server 幾乎即時複製到 Azure SQL 受控執行個體,或從 Azure SQL 受控執行個體 複製到 SQL Server 2022 或更新版本。

該連結支援單節點及多節點的 SQL Server 實例,無論是否存在現有可用性群組。 透過連結,你可以在不遷移 SQL Server 資料資產到雲端的情況下,使用 Azure 的優勢。

雖然連結支援每個連結複製一個資料庫,但你可以從單一 SQL Server 實例複製多個資料庫到一個或多個 SQL 管理實例,或將同一資料庫複製到多個 SQL 管理實例,方法是設定多個連結——每個資料庫對管理實例對對一個連結。

連結功能目前提供下列特性:

  • 單向複寫,SQL Server版本為2016、2017及2019:利用連結功能將資料從 SQL 實例單向複製至 Azure SQL 受控執行個體。 雖然您可以在發生災害時手動切換至受管理的執行個體,但這樣做會中斷連結,而且不支援恢復。
  • 災難復原(SQL Server 2022 及 SQL Server 2025):利用連結功能在 SQL Server 2022 或 SQL Server 2025 與 SQL 受管理執行個體 之間複製資料,當災難發生時手動切換到次要節點,並在減輕災難後手動切換回主要節點。 SQL Server 或 SQL 受管理執行個體 都可以是初始的主要執行點。

您可以在需要時連續使用這個連結,甚至長達數月或數年。 而在你的現代化旅程中,若你準備好遷移到 Azure,這個連結能大幅提升遷移體驗。 相較於其他所有可用的遷移選項,透過此連結進行的遷移可將停機時間降至最低,真正實現線上遷移至您的 SQL 受管理執行個體。

你可以使用透過 SQL Server 與 Azure SQL 受控執行個體 連結複製的資料庫,適用於多種情境,例如:

  • 災害復原
  • 使用 Azure 服務而不遷移到雲端
  • 將只讀工作負載分散到 Azure
  • 遷移到 Azure
  • 複製本地端資料

圖表說明主要的 受控執行個體 連結情境。

版本可支援性

Azure SQL 受控執行個體 的通用服務與商業關鍵服務層級皆支援 受控執行個體 連結。 連結功能適用於企業版、開發者版及標準版的 SQL Server。

從 SQL Server 到 Azure SQL 受控執行個體 的單向複寫,通常適用於所有支援的 SQL Server 版本。 自 2022 SQL Server 起,支援具備雙向複寫與故障回復的災難復原,並基於 SQL 管理實例所設定的 更新政策

下表列出連結功能的功能及最小支援的 SQL Server 版本:

初始主要版本 作業系統 (OS) 災害復原選項 最低限度維修需求更新
Azure SQL 受控執行個體 Windows Server 以及 Linux作為次要的 SQL Server 實例副本 雙向 配置從 Azure SQL 托管實例到其他系統的連結及雙向故障轉移,可通過以下方式支援:
- SQL Server 2025 及 SQL MI 採用 SQL Server 2025 更新原則
- SQL Server 2022 及 SQL MI,採用 SQL Server 2022 更新政策
SQL Server 2025 (17.x) Windows Server 以及 Linux 雙向 SQL Server 2025 RTM (17.0.1000.7)
SQL Server 2022 (16.x) Windows Server 以及 Linux 雙向 - SQL Server 2022 RTM (16.0.1000.6):建立從 SQL Server 2022 至 SQL MI 的連結
SQL Server 2022 CU10 (16.0.4095.4):建立從 SQL MI 到 SQL Server 2022 的連結1<>
SQL Server 2022 CU13 (16.0.4125.3):使用Transact-SQL
SQL Server 2019 (15.x) Windows Server 以及 Linux 僅限從 SQL Server 到 SQL MI SQL Server 2019 CU20 (15.0.4312.2)
SQL Server 2017 (14.x) Windows Server 以及 Linux 從 SQL Server 到 SQL MI SQL Server 2017 CU31 (14.0.3456.2) 及對應的 SQL Server 2017 年 Azure Connect 套件 (14.0.3490.10)
SQL Server 2016 (13.x) 僅限於 Windows Server 從 SQL Server 遷移到 SQL MI SQL Server 2016 SP3 (13.0.6300.2) 及對應的 SQL Server 2016 Azure Connect 套件 (13.0.7000.253)
SQL Server 2014 (12.x) 及更早版本 N/A N/A 不支援 SQL Server 2016 之前的版本。

1 從 SQL Server 2022 的 RTM 版本開始,即支援以 SQL Server 2022 作為初始主節點的連結,但僅從 SQL Server 2022 CU10 開始支援以 Azure SQL 受控執行個體 作為初始主節點的連結。 如果您從 SQL 受管理執行個體 的初始主節點建立連結,當連結仍然啟用時,不支援將 SQL Server 降級至 CU10 之前的版本,因為這可能在故障轉移後造成問題。

2016 SQL Server 之前的SQL Server版本(SQL Server 2008 - 2014)不被支援,因為連結功能依賴於 2016 SQL Server 引入的分散式可用性群組技術。

除了支援的 SQL Server 版本外,你還需要:

  • 你的 SQL Server 實例與受管理實例之間的網路連線。 如果 SQL Server 是本地運行,請使用 VPN 連結或 Azure ExpressRoute。 如果 SQL Server 是在 Azure 虛擬機(VM)上執行,要麼部署你的虛擬機到與你受管理實例相同的虛擬網路,要麼使用虛擬網路對等連接兩個獨立的子網。
  • 一個 Azure SQL 托管實例部署,部署至任何服務層級。

您還需要以下工具:

工具 附註
最新的 SSMS SQL Server Management Studio(SSMS)是使用 受控執行個體 連結最簡單的方式,因為它提供自動化連結設定的精靈。
最新的Az.SQLAzure CLI 如需透過腳本進行連結設定。

注意

受控執行個體 連結功能可在所有全球 Azure 區域及國家或政府雲端使用。

SQL 受管理執行個體 的連結功能是透過建立 SQL Server 與 Azure SQL 受控執行個體 之間的分散式可用性群組來運作。 解決方案支援沒有現有可用性群組的單一節點系統,或是具有或不具有現有可用性群組的多重節點系統。

圖示,顯示SQL 受管理執行個體連結功能如何利用分散式可用性群組技術運作。

私人連線如 VPN 或 Azure ExpressRoute 連接本地網路與 Azure。 若您在 Azure 虛擬機上架設 SQL Server,內部的 Azure 骨幹網路可以連接虛擬機與 SQL 受管理的執行個體,例如透過虛擬網路併接。 這兩個系統透過憑證式認證建立信任,SQL Server 與 SQL 受管理執行個體 交換各自憑證的公鑰。

Azure SQL 受控執行個體 支援從相同或不同的 SQL Server 來源到單一 Azure SQL 受控執行個體 的多條連結。 連結數目取決於受控執行個體可同時裝載的資料庫數目 - 一般用途和業務關鍵服務層級最多 100 個連結,以及 下一代一般用途層級升級的 500 個連結。 單一 SQL Server 實例可與多個 SQL 管理實例建立多個平行資料庫同步連結,甚至位於不同 Azure 區域,資料庫與受管理實例間保持一對一的關係。

為了協助你建立初始環境,請參閱本指南,如何準備你的 SQL Server 環境,以使用 SQL 受管理執行個體 的連結功能:

在符合初始環境需求後,使用SQL Server Management Studio(SSMS)中的自動精靈建立連結,或使用腳本手動設定連結:

建立連結之後,請遵循最佳實務來維護連結:

災害復原

受控執行個體連結啟用了災難復原,在災難發生時,你可以手動將工作負載從主節點轉移到次要節點。 要開始,請查看與受管理執行個體的災難復原連結

從 SQL Server 2016 到 SQL Server 2019,主要的 SQL 管理實例永遠是 SQL Server,且切換到次要的 SQL 管理實例是單向的。 不支援恢復到 SQL Server 的運作。 不過,你可以透過資料移動選項,如交易式複製匯出 bacpac,將資料恢復到 SQL Server。

在 SQL Server 2022 和 SQL Server 2025 中,SQL Server 或 SQL 受管理執行個體(符合更新策略的條件)都可以作為初始主節點,並且您可以從 SQL Server 或 SQL 受管理執行個體 建立連結。 您可以在主要和次要之間對工作負荷執行回切,從而實現真正的雙向災難復原。

當備份回 SQL Server 時,你可以選擇備份:

  • 可以透過 受控執行個體 連結直接在線上使用。
  • 離線方法是從 SQL 受管理執行個體 備份你的資料庫,然後還原到你的SQL Server實例

顯示災害復原案例的圖表。

使用 Azure 服務

使用連結功能可以在不將 SQL Server 資料遷移到雲端的情況下,充分利用 Azure 服務。 例如報告、分析、備份、機器學習,以及其他將資料傳送到 Azure 的工作。

將工作負載卸載到 Azure

你也可以利用連結功能將工作負載卸載到 Azure。 例如,應用程式可以使用 SQL Server 進行讀寫工作負載,而將唯讀工作負載卸載到全球任何 Azure 區域的 SQL 受管理執行個體 部署。 連結建立後,SQL Server 上的主資料庫可讀寫存取,而複製到 Azure 中 SQL 管理實例的資料則只能讀。 這種安排允許在多種情境下,將 SQL 管理實例上的複製資料庫用於讀取擴展,並將唯讀工作負載卸載至 Azure。 您的 SQL 受控執行個體平行裝載獨立的讀取/寫入資料庫,這也容許將複寫的資料庫複製到相同 SQL 受控執行個體上的另一個讀取/寫入資料庫,以進行進一步的資料處理。

該連結是資料庫範圍的(每個資料庫一個連結),允許在 Azure 中整合與分拆工作負載。 例如,你可以將多個 SQL Server 實例的資料庫複製到在 Azure 上進行單一 SQL 受管理執行個體 部署(整合),或者透過在資料庫和受控的實例之間的一對一的對映關係,將資料庫從單一 SQL Server 實例複製到多個受控的實例,甚至可複製到全球任何 Azure 區域(解整合)。 後者選項提供了一種有效方式,能快速將您的工作負載拉近至全球任一地區的客戶,並可將其作為唯讀複本使用。

遷移到 Azure

連結功能也促進從 SQL Server 遷移到 SQL 受管理執行個體,這可實現:

  • 相較於今天市面上的其他方案,這是最具效能和停機時間最短的移轉。
  • 任何服務層級的真正線上遷移到 SQL 受管理執行個體。

因為連結功能能夠實現最少停機時間的移轉,您可以在維持主要工作負載在線的同時,移轉到受管理的執行個體。 雖然目前可以透過其他解決方案達成在線移轉至 一般用途 服務層級,但連結功能是唯一允許在線移轉至 業務關鍵 服務層級的解決方案。 如需深入了解使用連結進行遷移與使用日誌重播服務進行遷移的比較,請參閱 比較 受控執行個體 連結與 LRS

注意

你現在可以直接透過 Azure 入口網站,將由 Azure Arc 啟用的 SQL Server 實例遷移到 Azure SQL 受控執行個體。 欲了解更多資訊,請參閱 遷移至 Azure SQL 受控執行個體

複製本地端的資料

透過 SQL Server 2022 及更新版本,您可以建立從 SQL 受管理執行個體 到 SQL Server 的連結,解鎖更多情境,例如在 Azure 外建立近即時資料庫副本、測試業務持續性計畫,以及符合合規要求。

自動備份

在你設定與 Azure SQL 受控執行個體 連結後,SQL Managed instance 上的資料庫會自動備份到 Azure 儲存,不論 SQL 受管理執行個體 是否為主要。 具有連結的自動備份會進行完整備份和交易記錄備份,但不會進行差異備份,這可能會導致還原時間更長。

你可以降低本地管理與營運成本,同時享受 Azure 備份對複製資料庫的可靠性。 接著,你可以對複製的 SQL 受管理執行個體 資料庫在同一區域的任何部署進行時間點還原,就像對待其他 自動化備份一樣。

免授權被動 DR 複本

若您只是為了實現次要被動災害復原而針對沒有任何工作負載的 SQL 受控執行個體啟用混合式容錯移轉權益,則可以節省虛擬核心的授權成本。

若要開始使用,請檢閱免授權被動複本

成本效益

如果你只指定一個受管理的實例副本用於災難復原,Microsoft 不會向你收取 SQL Server 授權費用,針對該次要實例所使用的 vCore 系統。 執行個體會以一小時精細度計費,如果您在一小時內更新授權權益,則可能仍會向您收取整整一小時的授權成本。

該福利在隨用付費計費模式與Azure Hybrid Benefit中運作方式不同。 在隨用隨付的計費模式下,虛擬核心會在發票上打折。 如果你使用 Azure Hybrid Benefit 來管理被動複本,次要複本使用的 vCore 數量會退還到你的授權池。

例如,作為按需付費的客戶,如果您向次要執行個體分配了 16 個虛擬核心,當您將次要執行個體指定為混合式容錯移轉時,您的發票上將顯示 16 個虛擬核心的折扣。

再舉一個例子,如果你有 16 個 Azure Hybrid Benefit 授權,而你的次要 SQL 管理實例使用 8 個 vCorre,當你指定該次要實例進行混合故障轉移後,8 個 vCore 會回傳到你的授權池,供你與其他 Azure SQL 部署使用。

有關混合動力故障轉移權利福利的詳細條款與條件,請參閱線上SQL Server – 故障轉移權利章節中的SQL Server授權條款。

限制

當您使用連結時,請考量下列限制。

版本支援性限制包括:

  • 你不能用 Windows 10 和 11 用戶端來架設 SQL Server 實例,因為無法啟用連結所需的 Always On 可用性群組功能。 您必須在 Windows Server 2012 或更新版本上架設 SQL Server 實例。
  • 連結功能不支援 2008 至 2014 版本的 SQL Server,因為這些版本的 SQL 引擎沒有內建對連結所需的分散式可用性群組支援。 升級到較新的 SQL Server 版本以使用連結。
  • 資料複製和故障轉移從 SQL 受管理執行個體 到 SQL Server 2022 或 SQL Server 2025,不支援配置為「Always-up-to-date」更新政策的實例。 您的實例必須設定相應的 SQL Server 2022 或 SQL Server 2025 update policy 以執行以下功能:
    • 建立從 SQL 受管理執行個體 SQL Server的連結。
    • 從 SQL 受管理執行個體 切換到 SQL Server。
  • 雖然你可以從 SQL Server 2022 或 SQL Server 2025 建立連結到設定為 Always-up-to-date update policy 的 SQL 托管實例,但在 SQL 托管實例故障轉移後,無法將資料複製或故障復原回 SQL Server。

資料複寫限制包括:

  • 您只能複製使用者資料庫。 不支援複寫系統資料庫。
  • 該解決方案不會將伺服器層級物件、代理工作或使用者登入從 SQL Server 複製到 SQL 受管理執行個體。
  • 針對 2016、2017 及 2019 版的 SQL Server,將使用者資料庫從 SQL Server 實例複製至 SQL 受管理執行個體 部署是一種方式。 你無法透過連結將 SQL 受管理執行個體 部署中的使用者資料庫複製回 SQL Server 實例。 雙向複寫和回復至 SQL Server 實例功能僅在 SQL 受管理執行個體 配置相應 更新策略時,適用於 SQL Server 2022 或 SQL Server 2025。
  • 對於已連結的 SQL 受管理執行個體 資料庫,不支援從 SQL 受管理執行個體 到 SQL Server 的連結設定。

設定限制包含:

  • 如果伺服器上有多個 SQL Server 實例,你可以為每個實例設定連結,但必須設定每個實例使用獨立的資料庫鏡像端點,並每個實例有專用埠。 只有預設執行個體應該使用 5022 作為資料庫鏡像端點的連接埠。

  • 你只能將一個資料庫放入單一可用性群組,針對一個 受控執行個體 連結。 不過,你可以透過建立多個連結,在單一 SQL Server 實例中複製多個資料庫。

    注意

    如果您有興趣參與此行為變更的有限預覽,請填寫以下 表單

  • 您可以將現有的可用性群組與單一資料庫連結在一起。 如果您現有的可用性群組有多個資料庫,則只有在移除可用性群組以外的所有資料庫時,您才能建立與可用性群組的連結。

  • 單一通用或業務關鍵 SQL 受管理執行個體 最多支援 100 條連結,而單一次世代通用 SQL 受管理執行個體 則可支援最多 500 條連結,無論是來自同一或多個 SQL Server 來源。

  • 受控執行個體 連結可複製任意大小的資料庫,只要它能容納於目標 SQL 受管理執行個體 部署所選的儲存容量。

  • SQL Server 與 SQL 受管理執行個體 之間的 受控執行個體 連結認證是基於憑證的,且僅能透過憑證交換來取得。 你無法使用 Windows 驗證 來建立 SQL Server 實例與 SQL 管理實例之間的連結。

  • 你可以只用一個 VNet-local端點建立連結到SQL 受管理執行個體。

  • 您無法使用公用端點或私人端點來建立與受控執行個體的連結。

  • 你無法複製包含多個日誌檔案的資料庫,因為 SQL 受管理執行個體 不支援多個日誌檔案。

功能限制包括:

  • 您無法將 容錯移轉群組 與使用連結功能的執行個體搭配使用。 您無法在屬於容錯移轉群組的 SQL 受控執行個體上建立連結,相反地,您無法在已建立連結的執行個體上設定容錯移轉群組。
  • 如果你使用 Change Data Capture (CDC)、日誌傳送或服務代理,這些資料庫在 SQL Server 實例上被複製,當資料庫遷移到 SQL 受管理執行個體 部署時,在 Azure 進行故障轉移時,客戶端需要使用當前全域主副本的實例名稱來進行連接。 您需要手動重新配置這些設定。
  • 如果您在具有已建立連結的資料庫上使用 事務複製 ,請考慮下列事項:
    • 次要副本上的連結資料庫不能是交易複製拓撲中的 Publisher。
    • 如果你正在遷移一個以交易複製拓撲方式設定為 Publisher 的資料庫,遷移完成後必須在目標實例上重新配置資料庫為 Publisher。
  • 如果你使用的是分散式交易,且資料庫是從 SQL Server 執行個體複製過來,在遷移到雲端的過程中,分散式交易協調器的功能將不會被轉移。 遷移後的資料庫無法參與與 SQL Server 實例的分散式交易,因為 SQL 受管理執行個體 部署目前不支援與 SQL Server 的分散式交易。 供參考,目前 SQL 受管理執行個體 僅支援其他受管理實例間的分散式交易。 如需詳細資訊,請參閱跨雲端資料庫的分散式交易
  • 如果你使用 透明資料加密 (TDE) 來加密 SQL Server 資料庫,你需要從 SQL Server 匯出資料庫加密金鑰並上傳到 Azure Key Vault,並且還需要在 BYOK TDE 選項中設定建立連結前先用 SQL 受管理執行個體。
  • 如果 2019 及以後的 SQL Server 版本中 加速資料庫復原 在你的原始碼中被停用,遷移到 Azure SQL 受控執行個體 後你就無法再啟用它。 此外,如果持久版本儲存(PVS)沒有設定為 PRIMARY,你可能會在目標 SQL 管理實例的還原操作中遇到問題。
  • 如果在來源 SQL Server 實例上停用了 Service Broker,遷移後你就無法在目標 SQL 管理實例上使用 Service Broker。
  • 你無法將用服務管理的 TDE 金鑰加密的 SQL 受管理執行個體 資料庫連結到 SQL Server。 只有當你用客戶管理的金鑰加密,且目標伺服器能存取用於加密資料庫的同一金鑰時,才能將加密資料庫連結到 SQL Server。 更多資訊請參見 使用 Azure Key Vault 設定 SQL Server TDE
  • 如果你在 SQL Server 實例中使用的功能在 SQL Server 實例上不被支援,就無法建立 SQL Server 與 SQL 受管理執行個體 之間的連結。 例如:
    • 你無法複製帶有檔案資料表和檔案串流的資料庫,因為 SQL 受管理執行個體 不支援檔案資料表或檔案串流。
    • 你可以將僅使用 In-Memory OLTP 的資料庫複製到 SQL 受管理執行個體 的 Business Critical 服務層級,因為 一般用途 服務層不支援 In-Memory OLTP。 SQL 受管理執行個體 不支援包含多個 In-Memory OLTP 檔案的資料庫,且無法複製它們。

嘗試將不支援的功能新增到複寫資料庫:

  • SQL Server 2017、2019 和 2022 都會失敗並出現錯誤。
  • SQL Server 2016 會導致連結中斷,你需要刪除並重新建立連結。

關於 SQL Server 與 SQL 受管理執行個體 的完整差異列表,請參見 T-SQL 在 SQL Server 與 Azure SQL 受控執行個體 之間的差異。

若要使用連結:

若要進一步了解此連結內容:

針對其他複製和移轉情境,請考慮: