Azure SQL 受控執行個體的連結功能 (預覽)

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

Azure SQL 受控執行個體中的新連結功能,可您將裝載於任何位置的 SQL Server 連線到 SQL 受控執行個體,從而提供混合式彈性和資料庫行動性。 使用近乎即時將資料複寫至雲端的方法,您可以將工作負載卸載到 Azure 中的唯讀次要項目,以利用僅限 Azure 功能、效能和規模。

在災難事件之後,您可以繼續在 Azure 中的 SQL 受控執行個體上執行唯讀工作負載。 您也可以選擇同時將一個或多個應用程式從 SQL Server 移轉至 SQL 受控執行個體,以您自己的步調進行,而且相較於現今 Azure 中的其他解決方案,只需可能最短的停機時間。

如果您有產品改進建議、批註或想要回報問題,連絡小組的最佳方式是透過連結使用者意見反應SQL 受管理執行個體

規格需求

若要使用連結功能,您將需要受支援的 SQL Server 版本。 下表列出受支援的版本。

SQL Server 版本 版本 主機 OS 維護更新需求
SQL Server 2022 (16.x) 預覽 Evaluation Edition Windows Server 必須註冊 https://aka.ms/mi-link-2022-signup 才能參與預覽體驗。
SQL Server 2019 (15.x) Enterprise、Standard 或 Developer Windows Server SQL Server 2019 CU15 (KB5008996) ,或更新版本適用于 Enterprise 和 Developer 版本,以及CU17 (KB5016394) 或更新版本的標準版本。
SQL Server 2016 (13.x) Enterprise、Standard 或 Developer Windows Server SQL Server 2016 SP3 (KB 5003279)SQL Server 2016 Azure Connect 套件 (KB 5014242)

除了受支援的版本之外,您還需要:

  • SQL Server 和受控執行個體之間的網路連線能力。 如果您的 SQL Server 是在內部部署上執行,請使用 VPN 連結或 Express Route。 如果您的 SQL Server 是在 Azure VM 上執行,請將 VM 部署至與受控執行個體相同的子網路,或使用全域 VNet 對等互連來連線兩個不同的子網路。
  • Azure SQL 受控執行個體已佈建在任何服務層級上。

您也需要下列工具:

工具 附註
SSMS 18.12.1或更高版本 SQL Server Management Studio (SSMS) 是使用SQL 受管理執行個體連結的最簡單方式。 針對 SQL Server 2016、2019 和 2022 提供自動化連結設定和容錯移轉的圖形化精靈。
Az.SQL 3.9.0或更高版本 手動設定步驟需要 PowerShell 模組。

注意

SQL 受控執行個體連結功能適用於所有公用 Azure 區域。 目前僅針對美國政府提供 Azure 的國家雲端支援,目前沒有其他國家雲端。

概觀

SQL Server 與 SQL 受控執行個體之間近乎即時資料複寫的基礎技術,是以分散式可用性群組為基礎,屬於已知且經過實證的 Always On 可用性群組技術堆疊。 以安全的方式將您的 SQL Server 內部部署可用性群組延伸至 Azure 中的 SQL 受控執行個體。

不需要具有現有的可用性群組或多個節點。 連結支援沒有現有可用性群組的單一節點 SQL Server 執行個體,也支援具有現有可用性群組的多重節點 SQL Server 執行個體。 透過連結,您可以利用 Azure 的新式優勢,無需將整個 SQL Server 資料資產移轉至雲端。

只要您需要連結,便可持續執行該連結,一次可持續幾個月,甚至好幾年。 針對您的現代化旅程,如果您已準備好移轉至 Azure 時,相較於現今可用的所有其他選項,此連結可讓您大幅改善移轉體驗,只需可能最短的停機時間,從而提供真正的線上移轉至 SQL 受控執行個體。

支援的案例

透過連結功能從 SQL Server 複寫到 Azure SQL 受控執行個體的資料可與一些案例搭配使用,例如:

  • 使用 Azure 服務,而無需移轉至雲端
  • 將唯讀工作負載卸載到 Azure
  • 移轉至 Azure

受控執行個體連結主要案例

使用 Azure 服務

使用連結功能,以使用 SQL Server 資料來利用 Azure 服務,而無需移轉至雲端。 範例包括報告、分析、備份、機器學習,以及將資料傳送至 Azure 的其他作業。

將工作負載卸載至 Azure

您也可以使用連結功能,將工作負載卸載至 Azure。 例如,應用程式可以將 SQL Server 用於讀取/寫入工作負載,同時將唯讀工作負載卸載至 Azure 全球區域中任何一個 SQL 受控執行個體。 一旦建立了連結,SQL Server 上的主要資料庫就可供讀取/寫入,同時複寫至 Azure 中 SQL 受控執行個體的資料是可唯讀存取的。 這允許各種案例,其中 SQL 受控執行個體上的複寫資料庫可以用於讀取縮放,並將唯讀工作負載卸載至 Azure。 SQL 受控執行個體也可以採取平行方式裝載獨立的讀取/寫入資料庫。 這允許將複寫的資料庫複製到相同受控執行個體上的另一個讀取/寫入資料庫,以進行進一步的資料處理。

連結受資料庫範圍限定 (每個資料庫一個連結),這允許在 Azure 中合併和解除合併工作負載。 例如,您可以從多部 SQL Server 將資料庫複寫至 Azure 中的單一 SQL 受控執行個體 (合併),或透過資料庫與受控執行個體之間的 1 對 1 關係,從單一 SQL Server 將資料庫複寫至多個受控執行個體 - 再複寫至全球任一 Azure 區域 (解除合併)。 後者為您提供一種有效方式,快速地讓您的工作負載接近全球任何區域中的客戶,而您可以將其用作唯讀複本。

移轉至 Azure

連結功能也有助於從 SQL Server 移轉至 SQL 受控執行個體,這會啟用:

  • 相較於現今所有其他可用的解決方案,效能最高、停機時間最低的移轉
  • 任何服務層級中 SQL 受控執行個體的真正線上移轉

由於連結功能啟用停機時間最短的移轉,因此您可以移轉至受控執行個體,同時維持主要工作負載連線。 雖然線上移轉在移轉至常規用途服務層級時,先前可以與其他解決方案一起達成,但連結功能現在也允許對業務關鍵服務層級進行真正的線上移轉。

運作方式

SQL 受控執行個體連結功能背後的基礎技術是分散式可用性群組。 解決方案支援沒有現有可用性群組的單一節點系統,或是具有現有可用性群組的多重節點系統。

SQL 受管理執行個體的連結功能如何運作

在內部部署網路與 Azure 之間使用的安全連線能力,例如 VPN 或 Express Route。 如果 SQL Server 裝載於 Azure VM 上,則內部 Azure 骨幹可在 VM 與受控執行個體之間使用 – 例如,全域 VNet 對等互連。 這兩個系統之間的信任是使用憑證型驗證建立的,在此驗證中,SQL Server 和 SQL 受控執行個體會交換其公開金鑰。

最多可有 100 個從相同或各種 SQL Server 來源到單一 SQL 受控執行個體的連結。 這項限制是由此時可在受控執行個體上裝載的資料庫數目所控管。 同樣地,單一 SQL Server 可以使多個平行資料庫複寫與多個在不同 Azure 區域的受控執行個體建立連結,而此資料庫和受控執行個體的連結為 1 對 1 的關係。 此功能需要在 SQL Server 2019 上安裝 CU13 或更高版本。

為了協助您設定初始環境,我們已準備下列線上指南,瞭解如何準備您的SQL Server環境,以搭配連結功能來使用 SQL 受管理執行個體:

一旦您確定已符合預先需求,您可以在 SSMS 中使用自動化精靈來建立連結,或者您可以選擇使用指令碼手動設定連結。 使用下列其中一個指示建立連結:

建立連結之後,請遵循此頁面所述的指示,確定符合連結維護的最佳做法:

如果您準備好以最短停機時間將資料庫移轉至 Azure,可以使用 SSMS 中的自動化精靈進行,或者也可以選擇使用指令碼手動執行。 使用下列其中一個指示將資料庫移轉至 Azure 連結:

限制

本節說明產品的功能限制。

一般功能限制

受控執行個體連結有一組一般限制,本節會列出這些限制。 列出的限制是技術性質,不太可能在可預測的未來解決。

  • 只有使用者資料庫可加以複寫。 不支援複寫系統資料庫。
  • 此解決方案不會將伺服器層級物件、代理程式作業或使用者登入資訊從 SQL Server 複寫到受控執行個體。
  • 每個分散式可用性群組連結只能將一個資料庫放在單一可用性群組中。
  • 如果 SQL 受控執行個體不支援在 SQL Server 上使用的功能,則無法在 SQL Server 與 SQL 受控執行個體之間建立連結。
    • 複寫不支援檔案資料表和檔案資料流,因為 SQL 受控執行個體不支援此功能。
    • SQL 受控執行個體常規用途服務層級不支援使用 Hekaton (記憶體內部 OLTP) 複寫資料庫。 只有 SQL 受控執行個體業務關鍵服務層級才支援 Hekaton。
    • 如需 SQL Server 與 SQL 受控執行個體之間差異的完整清單,請參閱這篇文章
  • 如果異動資料擷取 (CDC) 、記錄傳送或 Service Broker 與複寫在SQL Server上的資料庫搭配使用,則資料庫會移轉至 SQL 受管理執行個體,在容錯移轉至 Azure 期間,用戶端必須使用目前全域主要複本的實例名稱進行連線。 這些設定應該手動重新設定。
  • 如果在移轉案例中,異動複寫搭配 SQL Server 上的資料庫使用,在容錯移轉至 Azure 期間,SQL 受控執行個體上的異動複寫將會失敗,而且應該手動重新設定。
  • 假如分散式交易是與從 SQL Server 複寫的資料庫搭配使用,以及假如是移轉案例 (完全移轉至雲端時),不會傳輸 DTC 功能。 因為 SQL 受控執行個體目前不支援具有 SQL Server 的分散式交易,所以移轉資料庫不可能涉入具有 SQL Server 的分散式交易。 SQL 受控執行個體目前僅支援其他 SQL 受控執行個體之間的分散式交易,請參考這篇文章
  • 如果符合所選目標 SQL 受控執行個體的儲存體大小,則受控執行個體連結可以複寫任何大小的資料庫。
  • 用戶端 Windows OS 10 和 11 無法用來裝載您的SQL Server,因為無法啟用連結所需的Always On。 SQL Server必須裝載在 Windows Server 2012 或更高版本上。
  • 連結功能不支援 SQL Server 2008、2012 和 2014,因為這些版本的 SQL 引擎沒有連結所需的分散式可用性群組內建支援。 必須升級至較新版本的 SQL Server,才能使用連結。

預覽限制

目前有一些受控執行個體連結特性和功能受到限制。 如需更多詳細資料,請參閱下列清單:

  • 產品版本需求,如需求中所述。 目前不支援 SQL Server 2017 (14.x)。
  • 支援私人端點 (VPN/VNET) 來建立與SQL 受管理執行個體的連結。 公用端點無法用來建立與SQL 受管理執行個體的連結。
  • 受控執行個體實例與SQL 受管理執行個體 SQL Server之間的連結驗證是以憑證為基礎,只能透過憑證交換來使用。 不支援SQL Server與受控實例之間的Windows 驗證。
  • 從 SQL Server 複寫到 SQL 受控執行個體的複寫為單向。 來自 SQL 受控執行個體的使用者資料庫無法複寫回 SQL Server。
  • 使用 SQL Server 操作受控執行個體連結時,無法平行使用自動容錯移轉群組複寫至次要 SQL 受控執行個體。
  • 連結只能與作業系統上安裝的單一SQL Server實例搭配使用。 不支援將連結與SQL Server具名實例 (安裝在相同作業系統上的多個 SQL Server) 。
  • 複寫的 R/O 資料庫不是 SQL 受控執行個體自動備份程序的一部分。

下一步

如果您想要使用 Azure SQL 受控執行個體的連結功能,搭配目前不支援的版本 (Version) 和版本 (Edition),請在這裡註冊。

如需連結功能的詳細資訊,請參閱下列內容:

針對其他複寫案例,請考慮: