共用方式為


使用 Azure Data Studio 的 Azure SQL 移轉延伸模組來移轉資料庫

了解如何使用適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組中的統一體驗。 協助您評估資料庫需求、取得正確大小的 Azure 資源 SKU 建議,以及將 SQL Server 資料庫移轉至 Azure。

Azure Data Studio 的 Azure SQL 移轉延伸模組提供下列的主要優點:

  • 一個端對端移轉體驗的回應式 UI。 此延伸模組會從移轉整備程度評估和 SKU 建議開始 (預覽) (根據效能資料)。

  • 一個可評估 SQL Server 執行個體的增強評估機制。 此延伸模組會識別準備好移轉至 Azure SQL 目標的資料庫。

    注意

    您可以使用 Azure SQL 移轉延伸模組來評估在 Windows 或 Linux 上執行的 SQL Server 資料庫。

  • 一個 SKU 建議引擎,它會根據您的 Azure SQL 目標,從內部部署的來源 SQL Server 執行個體收集效能資料,然後產生合適大小的 SKU 建議。

  • 一個採取 Azure 資料庫移轉服務技術的可靠 Azure 服務,它可協調資料移動活動以提供無縫順暢的移轉體驗。

  • 根據您的業務需求,您可以執行線上移轉 (適用於需要最短停機時間的移轉) 或離線移轉 (適用於移轉過程中要持續停機的移轉)。

  • 您可以設定自我裝載整合執行階段,使用自己的計算資源來存取內部部署環境中的來源 SQL Server 執行個體備份檔案。

  • 提供安全且改善的使用者體驗,將 TDE 資料庫和 SQL/Windows 登入移轉至 Azure SQL。

如需特定移轉案例和 Azure SQL 目標的相關資訊,請參閱下表中的教學課程清單:

移轉案例 移轉模式
將 SQL Server 移轉至 Azure SQL 受控執行個體 線上 / 離線
將 SQL Server 移轉至 Azure 虛擬機器上的 SQL Server 線上 / 離線
SQL Server 至 Azure SQL Database 離線

重要

如果目標是 Azure SQL Database,您可以透過 Azure 入口網站,使用資料庫移轉服務,以移轉資料庫結構描述和資料。 此外,您可以使用 SQL Server dacpac 延伸模組或適用於 Azure Data Studio 的 SQL Database Projects 延伸模組等工具,以部署資料庫結構描述,之後再開始資料移轉。

下列影片說明針對 Azure Data Studio 新增至 Azure SQL 移轉延伸模組的最新更新和功能。


Azure Data Studio 的 Azure SQL 移轉延伸模組的架構

Azure 資料庫移轉服務 (Azure 資料庫移轉服務) 是 Azure SQL 移轉延伸模組架構的核心元件。 資料庫移轉服務提供了一個可靠的移轉協調器,來支援資料庫移轉至 Azure SQL。 您可以使用 Azure Data Studio 中的 Azure SQL 移轉延伸模組,來建立資料庫移轉服務的執行個體或使用現有的執行個體。

資料庫移轉服務使用 Azure Data Factory 自我裝載的整合執行階段,從您的內部部署網路共用或從您的 Azure 儲存體帳戶中存取及上傳有效的備份檔案。

下圖說明移轉程序的工作流程:

顯示 Azure SQL 移轉延伸架構的圖表。

下列清單描述工作流程中的每個步驟︰

  1. 來源 SQL Server:位於私有雲中的 SQL Server 內部部署執行個體,或位於公有雲中虛擬機器上的 SQL Server 執行個體。 支援 Windows 或 Linux 上的 SQL Server 2008 和更新版本。

  2. 目標 Azure SQL:受支援的 Azure SQL 目標包括 Azure SQL 受控執行個體、Azure 虛擬機器上 的 SQL Server (以完整管理模式) 向 SQL 基礎結構登錄為服務延伸項目),以及 Azure SQL Database。

  3. 網路檔案共用空間:一個伺服器訊息區 (SMB) 的網路檔案共用空間,在其中會為要移轉的資料庫儲存備份檔。 也支援 Azure 儲存體 Blob 容器和 Azure 儲存體檔案共用空間。

  4. Azure Data Studio:下載及安裝 Azure Data Studio 的 Azure SQL 移轉延伸項目

  5. Azure 資料庫移轉服務:一個協調移轉管線以執行從內部部署環境到 Azure 的資料移動活動的 Azure 服務。 資料庫移轉服務與 Azure Data Factory 自我裝載整合執行階段相關聯,它提供了登錄及監視自我裝載整合執行階段的功能。

  6. 自我裝載的整合執行階段:在可連線至來源 SQL Server 執行個體及連線到備份檔位置的電腦上安裝自我裝載的整合執行階段。 資料庫移轉服務提供驗證金鑰,並註冊自我裝載的整合執行階段。

  7. 備份檔上傳至 Azure 儲存體帳戶:Database Migration Service 使用自我裝載整合執行階段,將有效的備份檔從內部部署備份位置上傳至您的 Azure 儲存體帳戶。 資料移動活動和管線會在移轉工作流程中自動建立,以上傳備份檔。

  8. 在目標 Azure SQL 還原備份:Database Migration Service 將備份檔從您的 Azure 儲存體帳戶中還原至支援的目標 Azure SQL 執行個體。

注意

如果您的移轉目標是 Azure SQL Database,對於這種移轉,您不需要備份檔。 將資料庫移轉至 Azure SQL Database 視為是一種邏輯移轉,過程包含資料庫的預先建立和資料移動 (由資料庫移轉服務執行)。

適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組不會進行資料庫備份,也不會代表您起始任何資料庫備份。 相反地,該服務會使用現有的資料庫備份檔案來進行移轉。

在線上移轉模式中,資料庫移轉服務會持續將備份來源檔上傳至您的 Azure 儲存體帳戶,然後將其還原至目標,直到您完成切換到目標的最後一步為止。

在離線移轉模式中,資料庫移轉服務會將備份來源檔上傳至 Azure 儲存體,然後將其還原至目標,而不需切換。

必要條件

下列各節將逐步說明每個受支援的 Azure SQL 目標的必要條件。

  • 下載及安裝 Azure Data Studio

  • 從 Azure Data Studio Marketplace 中安裝 Azure SQL 移轉延伸模組

  • 擁有指派給下列其中一個內建角色的 Azure 帳戶:

    • Azure SQL 受控執行個體的目標執行個體參與者,以及您從伺服器訊息區 (SMB) 網路共用上傳資料庫備份檔的儲存體帳戶參與者
    • Azure 資源群組 (包含 Azure SQL 受控執行個體或 Azure 儲存體帳戶的目標執行個體) 的讀取者角色
    • Azure 訂閱的擁有者或參與者角色 (如果您建立新的資料庫移轉服務執行個體,則需要)

    除了使用這些其中一個內建角色,您也可以指派自訂角色

    重要

    只有在您設定移轉步驟時,才需要 Azure 帳戶。 評估或在 Azure Data Studio 的移轉精靈中檢視 Azure 建議時不需要 Azure 帳戶。

  • 建立 Azure SQL 受控執行個體的目標執行個體。

  • 確定您用來連接來源 SQL Server 執行個體的登入使用者是 SYSADMIN 伺服器角色的成員,或其擁有 CONTROL SERVER 授權。

  • 提供 SMB 網路共用、Azure 儲存體帳戶檔案共用或 Azure 儲存體帳戶 Blob 容器,其中包含完整的資料庫備份檔案和後續交易記錄備份檔案。 資料庫移轉服務在資料庫移轉期間會使用備份位置。

    重要

    • 適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組不會進行資料庫備份,也不會代表您起始任何資料庫備份。 相反地,該服務會使用現有的資料庫備份檔案來進行移轉。
    • 如果您的資料庫備份檔案位於 SMB 網路共用中,請建立 Azure 儲存體帳戶,資料庫移轉服務可用來將資料庫備份檔案上傳至和移轉資料庫。 確定您在建立資料庫移轉服務執行個體的同一區域中建立 Azure 儲存體帳戶。
    • 您可以將每個備份寫入至個別的備份檔或寫入至多個備份檔。 不支援將多個備份 (例如完整和交易記錄) 附加至單一備份媒體。
    • 您可以提供壓縮的備份,以降低遇到與移轉大型備份相關的潛在問題的可能性。
  • 確定執行來源 SQL Server 執行個體的服務帳戶對於包含資料庫備份檔的 SMB 網路共用擁有讀寫權。

  • 如果您要移轉受「透明資料加密」(TDE) 保護的資料庫,您必須先將來源 SQL Server 執行個體中的憑證移轉至目標受控執行個體,才能還原資料庫。 如需移轉已啟用 TDE 的資料庫的詳細資訊,請參閱 教學課程:在 Azure Data Studio 中將已啟用 TDE 的資料庫 (預覽版) 移轉至 Azure SQL

    提示

    如果您的資料庫包含受 Always Encrypted 保護的機密資料,則移轉程序會自動將您的 Always Encrypted 金鑰移轉至目標受控執行個體。

  • 如果您的資料庫備份位於網路檔案共用中,請提供一台電腦來安裝自我裝載的整合執行階段,以用於存取及移轉資料庫備份。 移轉精靈會為您提供下載連結和驗證金鑰,以下載並安裝您的自我裝載整合執行階段。

    準備移轉時,請確定您要安裝自我裝載整合執行階段的電腦,已啟用下列的輸出防火牆規則和網域名稱:

    網域名稱 輸出連接埠 描述
    公有雲:{datafactory}.{region}.datafactory.azure.net
    *.frontend.clouddatahub.net

    Azure Government:{datafactory}.{region}.datafactory.azure.us

    由 21Vianet 營運的 Microsoft Azure:{datafactory}.{region}.datafactory.azure.cn
    443 自我裝載的整合執行階段需要此項目來連線到資料庫移轉服務。

    針對在公有雲中新建立的資料處理站,請從自我裝載的整合執行階段金鑰中找出 {datafactory}.{region}.datafactory.azure.net 格式的完整網域名稱 (FQDN)。

    針對現有的資料處理站,如果您未在自我裝載的整合金鑰中看到 FQDN,請改用 *.frontend.clouddatahub.net
    download.microsoft.com 443 自我裝載整合執行階段所需,以用於下載更新。 如果您已停用自動更新,您可以略過設定此網域。
    *.core.windows.net 443 供連線到 Azure 儲存體帳戶的自我裝載整合執行階段用來從網路共用上傳資料庫備份

    提示

    如果已在 Azure 儲存體帳戶中提供您的資料庫備份檔案,則移轉程序進行期間不需要自我裝載的整合執行階段。

  • 如果您使用自我裝載的整合執行階段,請確定安裝該執行階段的電腦可以連線到來源 SQL Server 執行個體,以及備份檔所在的網路檔案共用。

  • 啟用輸出埠 445 以允許存取網路檔案共用。 如需詳細資訊,請參閱使用自我裝載整合執行階段的建議

  • 如果您第一次使用 Database Migration Service,請確定 Microsoft.DataMigration 資源提供者已在您的訂閱中註冊。 您可以完成註冊資源提供者的步驟。

針對資料庫移轉使用自我裝載整合執行階段的建議

  • 針對多個來源 SQL Server 資料庫使用單一自我裝載的整合執行階段。

  • 在任何的單一電腦上只安裝一個自我裝載的整合執行階段執行個體。

  • 只將一個自我裝載的整合執行階段與一個資料庫移轉服務執行個體相關聯。

  • 自我裝載的整合執行階段會使用在其上安裝它的電腦上的資源 (記憶體和 CPU)。 在與來源 SQL Server 執行個體不同的電腦上安裝自我裝載的整合執行階段。 但是兩台電腦應該要離得很近。 讓自我裝載的整合執行階段 (SHIR) 靠近資料來源,可以減少自我裝載的整合執行階段連線到資料來源所花費的時間。

  • 僅當您將您的資料庫備份存放在內部部署的 SMB 網路共用中時,才使用自我裝載的整合執行階段。 如果您的來源資料庫備份已存放在儲存體 Blob 容器中,則不需要自我裝載的整合執行階段來進行資料庫移轉。

  • 我們建議在單一電腦上,每個自我裝載整合執行階段最多 10 個並行資料庫移轉。 若要增加並行資料庫移轉的數目,請將自我裝載執行階段相應放大至最多四個節點,或在不同的電腦上建立自我裝載整合執行階段的個別執行個體。

  • 設定自我裝載的整合執行階段以自動更新,並自動套用任何已發行的新功能、錯誤修正和增強功能。 如需詳細資訊,請參閱自我裝載的整合執行階段自動更新

在 Azure 入口網站中監視資料庫移轉進度

適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組會在移轉資料庫時,透過移轉精靈中選取的資料庫移轉服務,協調所有移轉工作。

若要在 Azure 入口網站中監視資料庫移轉,請:

  1. Azure 入口網站中,使用資源名稱來搜尋資料庫移轉服務執行個體。

    顯示如何在 Azure 入口網站中搜尋來源名稱的螢幕擷取畫面。

  2. 在 [資料庫移轉服務執行個體] 概觀中,選取 [監視移轉] 以檢視資料庫移轉的詳細資料。

    顯示如何在 Azure 入口網站中監視移轉的螢幕擷取畫面。

已知問題與限制

  • 資料庫移轉服務不支援在 Azure SQL 受控執行個體的目標執行個體、Azure SQL Database 或 Azure 虛擬機器上的 SQL Server 中覆寫現有資料庫。

  • 資料庫移轉服務不支援在目標上設定高可用性和災害復原,以符合來源拓撲。

  • 不支援下列伺服器物件:

    • SQL Server Agent 作業
    • 認證
    • SQL Server Integration Services 封裝
    • 伺服器稽核

    對於您需要移動之中繼資料和伺服器物件的完整清單,請參閱管理在另一部伺服器上提供資料庫時所需的中繼資料中可用的詳細資訊。

  • 不支援將 SQL Server 2008 及更早版本作為目標版本來移轉到 [Azure 虛擬機上的 SQL Server]。

  • 如果您使用 SQL Server 2014 或 SQL Server 2012,您必須將來源資料庫備份檔案儲存在 Azure 儲存體 Blob 容器中,而不是使用網路共用選項。 將備份檔案儲存為分頁 Blob。 只有在 SQL Server 2016 和更新版本才支援區塊 Blob。

  • 您無法使用在 Azure Data Factory 中所建立的現有自我裝載整合執行階段,來透過資料庫移轉服務進行資料庫移轉。 一開始,請使用 Azure Data Studio 的 Azure SQL 移轉延伸模組來建立自我裝載的整合執行階段。 您可以在未來的資料庫移轉中重複使用自我裝載的整合執行階段。

  • Azure Data Studio 目前同時支援 Microsoft Entra ID/Windows 驗證和 SQL 登入,以連線到來源 SQL Server 執行個體。 對於 Azure SQL 目標,僅支援 SQL 登入。

定價

  • [Azure 資料庫移轉服務] 可免費與 [Azure Data Studio 的 Azure SQL 移轉延伸模組] 一起使用。 您可以免費使用 [資料庫移轉服務] 來移轉多個 SQL Server 資料庫。

  • 當您將資料庫從內部部署環境移轉至 Azure 時,不會評估任何的資料移動或資料輸入成本。 如果來源資料庫從其他地區或從 Azure 虛擬機中移動,您可能會產生頻寬費用 (根據您的頻寬提供者和路由的情況)。

  • 請使用虛擬機或內部部署伺服器來安裝 Azure Data Studio。

  • 需要自我裝載的整合執行階段,才能從您的內部部署網路共用存取資料庫備份。

區域可用性

如需支援使用 [Azure Data Studio 的 Azure SQL 移轉延伸模組] (採用 [Azure 資料庫移轉服務] 的技術) 來進行資料庫移轉的 Azure 地區清單,請參閱依地區所提供的 Azure 產品