教學課程:使用 DMS 將 SQL Server 移轉至離線 Azure SQL 受控執行個體 (傳統)

重要

Azure 資料移轉服務 (傳統) - SQL 案例位於淘汰路徑上。 自 2023 年 8 月 1 日起,您無法再從 Azure 入口網站 建立 SQL Server 案例的新 資料移轉服務 (傳統) 資源。 服務將於 2026 年 3 月 15 日淘汰給所有客戶。 若要順暢地從多個資料庫來源移轉至 Azure SQL 目標,Microsoft 建議使用最新版的 Azure 資料移轉服務,其可作為 Azure SQL 移轉 Azure Data Studio 中的延伸模組,或透過 Azure 入口網站,或透過 Azure PowerShell 和 Azure CLI 使用。 如需詳細資訊,請參閱淘汰通知:資料移轉服務(傳統)

注意

本教學課程使用舊版的 Azure 資料移轉服務。 如需改善的功能和支援性,請考慮使用適用於 Azure Data StudioAzure SQL 移轉延伸模組移轉至 Azure SQL 受控執行個體。

若要比較版本之間的功能,請檢閱 比較版本

您可以使用 Azure 資料移轉服務,將資料庫從 SQL Server 實例移轉至 Azure SQL 受控執行個體。 如需可能需要手動處理的其他方法,請參閱 SQL Server Azure SQL 受控執行個體 一文

在本教學課程中,您會使用 Azure 資料移轉服務,將 AdventureWorks2016 資料庫從內部部署 SQL Server 實例移轉至 SQL 受管理執行個體。

您將了解如何:

  • 註冊 Azure DataMigration 資源提供者。
  • 建立 Azure 資料庫移轉服務的執行個體。
  • 使用 Azure 資料移轉服務 建立移轉專案。
  • 執行移轉。
  • 監視移轉。

重要

若要從 SQL Server 離線移轉至 SQL 受管理執行個體,Azure 資料移轉服務 可以為您建立備份檔。 或者,您可以在 SMB 網路共用中提供服務將用來移轉資料庫的最新完整資料庫備份。 每個備份都可寫入至個別的備份檔案或多個備份檔案。 不過,不支援將多個備份附加至單一備份媒體。 請注意,您也可以使用壓縮備份,以減少移轉大型備份的潛在問題的可能性。

提示

在 Azure 資料移轉服務 中,您可以將資料庫離線或在線時移轉。 在離線移轉中,應用程式停機會在移轉啟動時啟動。 若要將停機時間限制在移轉之後要切換至新環境所花費的時間,請使用 在線 移轉。 建議您測試離線移轉,以判斷是否可接受的停機時間。 如果無法接受預期的停機時間,請執行在線移轉。

本文說明從 SQL Server 離線移轉至 SQL 受管理執行個體。 如需在線移轉,請參閱使用 DMS 將 SQL Server 移轉至在線 SQL 受管理執行個體。

必要條件

若要完成本教學課程,您需要:

  • 下載並安裝 SQL Server 2016 或更新版本

  • 依照啟用或停用伺服器網路協定一文 中的指示,啟用預設在 SQL Server Express 安裝期間停用的 TCP/IP 通訊協定

  • 將 AdventureWorks2016 資料庫還原至 SQL Server 實例。

  • 使用 Azure Resource Manager 部署模型建立適用於 Azure 資料庫移轉服務的 Microsoft Azure 虛擬網路,此模型會使用 ExpressRouteVPN 提供內部部署來源伺服器的站對站連線。 瞭解使用 Azure 資料移轉服務 進行 SQL 受管理執行個體 移轉的網路拓撲。 如需建立虛擬網路的詳細資訊,請參閱 虛擬網絡 檔,特別是包含逐步詳細數據的快速入門文章。

    注意

    在虛擬網路設定期間,如果您使用 ExpressRoute 搭配網路對等互連至 Microsoft,請將下列服務 端點 新增至將布建服務的子網:

    • 目標資料庫端點 (例如,SQL 端點、Azure Cosmos DB 端點等)
    • 儲存體端點
    • 服務匯流排端點

    此為必要設定,因為 Azure 資料庫移轉服務沒有網際網路連線。

  • 請確定您的虛擬網路網路安全組規則不會封鎖 ServiceBus、儲存體 和 AzureMonitor 的 ServiceTag 輸出埠 443。 如需虛擬網路 NSG 流量篩選的詳細資訊,請參閱<使用網路安全性群組來篩選網路流量>(機器翻譯) 一文。

  • 設定用於來源資料庫引擎存取的 Windows 防火牆

  • 開啟 Windows 防火牆以允許 Azure 資料移轉服務 存取來源 SQL Server,預設為 TCP 連接埠 1433。 如果您的預設實例正在接聽其他埠,請將它新增至防火牆。

  • 如果您使用動態埠執行多個具名 SQL Server 實例,您可能想要啟用 SQL Browser 服務,並允許透過防火牆存取 UDP 連接埠 1434,讓 Azure 資料移轉服務 可以連線到來源伺服器上的具名實例。

  • 如果您在源資料庫前面使用防火牆設備,您可能需要新增防火牆規則,以允許 Azure 資料移轉服務 存取源資料庫進行移轉,以及透過SMB埠445的檔案。

  • 依照在 Azure 入口網站 中建立 SQL 受管理執行個體 一文中的詳細數據建立 SQL 受管理執行個體。

  • 確定用來連線來源 SQL Server 和目標 SQL 受控執行個體的登入是 sysadmin 伺服器角色的成員。

    注意

    根據預設,Azure 資料庫移轉服務僅支援遷移 SQL 登入。 不過,您可以透過下列方式啟用移轉 Windows 登入的功能:

    • 確保目標 SQL 受管理執行個體 具有 AAD 讀取許可權,可透過具有全域 管理員 istrator 角色的使用者,透過 Azure 入口網站 進行設定。
    • 在 [組態] 頁面上,設定您的 Azure 資料移轉服務 實例,以啟用透過 Azure 入口網站 設定的 Windows 使用者/群組登入移轉。 啟用此設定之後,請重新啟動服務,讓變更生效。

    重新啟動服務之後,Windows 使用者/群組登入會出現在可供移轉的登入清單中。 針對您移轉的任何 Windows 使用者/群組登入,系統會提示您提供相關聯的功能變數名稱。 不支援服務用戶帳戶(具有功能變數名稱 NT AUTHORITY 的帳戶)和虛擬用戶帳戶(具有功能變數名稱 NT SERVICE 的帳戶名稱)。

  • 建立網路共用,Azure 資料移轉服務 可用來備份源資料庫。

  • 確認執行來源 SQL Server 執行個體的服務帳戶在您所建立的網路共用上具有寫入權限,而且來源伺服器的電腦帳戶對相同的共用具備讀取/寫入存取權。

  • 記下您先前建立之網路共用上具有完整控制許可權的 Windows 使用者(和密碼)。 Azure 資料移轉服務 模擬使用者認證,將備份檔上傳至 Azure 儲存體 容器以進行還原作業。

  • 使用使用 儲存體總管 管理 Azure Blob 儲存體 資源一文中的步驟,建立 Blob 容器並擷取其 SAS URI,請務必在建立 SAS URI 時選取原則視窗上的所有許可權(讀取、寫入、刪除、清單)。 此詳細數據提供 Azure 資料移轉服務 存取記憶體帳戶容器,以便上傳用來將資料庫遷移至 SQL 受管理執行個體 的備份檔。

    注意

    • 在設定移轉 設定 步驟期間設定 儲存體 帳戶設定時,Azure 資料移轉服務 不支援使用帳戶層級 SAS 令牌。
  • 請確定 Azure 資料移轉服務IP位址和 Azure SQL 受控執行個體子網都可以與 Blob 容器通訊。

註冊資源提供者

在您建立第一個 資料移轉服務 實例之前,請先註冊 Microsoft.DataMigration 資源提供者。

  1. 登入 Azure 入口網站。 搜尋並選取訂閱

    Show portal subscriptions

  2. 選取您要在其中建立 Azure 資料移轉服務 實例的訂用帳戶,然後選取 [資源提供者]。

    Show resource providers

  3. 搜尋移轉,然後選取 [註冊Microsoft.DataMigration]。

    Register resource provider

建立 Azure 資料庫移轉服務執行個體

  1. 在 [Azure 入口網站] 功能表中或 [首頁] 頁面上,選取 [建立資源]。 搜尋並選取 [Azure 資料移轉服務]。

    Azure Marketplace

  2. [Azure 資料移轉服務] 畫面上,選取 [建立]。

    Create Azure Database Migration Service instance

    選取適當的 [來源伺服器類型] 和 [目標伺服器類型],然後選擇 [資料移轉服務 [傳統] 選項。

    Select Database Migration Service (Classic) scenario

  3. 在 [ 建立移轉服務 基本概念] 畫面上:

    • 選取訂用帳戶。
    • 建立新的資源群組,或選擇現有的資源群組。
    • 指定 Azure 資料移轉服務 實例的名稱。
    • 選取您要在其中建立實例的位置 Azure 資料移轉服務。
    • 選擇 [Azure ] 作為服務模式。
    • 選取定價層。 如需成本和定價層的詳細資訊,請參閱 定價頁面

    Configure Azure Database Migration Service instance basics settings

    • 選取 [下一步:網路]
  4. 在 [ 建立移轉服務 網络] 畫面上:

    • 選取現有的虛擬網路或建立新的虛擬網路。 虛擬網路提供 Azure 資料移轉服務 來源伺服器和目標實例的存取權。 如需如何在 Azure 入口網站 中建立虛擬網路的詳細資訊,請參閱使用 Azure 入口網站 建立虛擬網路一文

    Configure Azure Database Migration Service instance networking settings

    • 選取 [ 檢閱 + 建立 ] 以檢閱詳細數據,然後選取 [ 建立 ] 以建立服務。

    • 幾分鐘后,Azure 資料庫移轉服務的實例就會建立並可供使用:

    Migration service created

建立移轉專案

建立服務的實例之後,請在 Azure 入口網站 內找出它、開啟它,然後建立新的移轉專案。

  1. 在 [Azure 入口網站] 功能表中,選取 [所有服務]。 搜尋並選取 [Azure 資料移轉服務]。

    Locate all instances of Azure Database Migration Service

  2. [Azure 資料移轉服務] 畫面上,選取您所建立 Azure 資料移轉服務 實例。

  3. 選取 [新增移轉專案]

    Locate your instance of Azure Database Migration Service

  4. 在 [新增移轉專案] 畫面上,指定專案的名稱,在 [來源伺服器類型] 文本框中,選取 [SQL Server],在 [目標伺服器類型] 文本框中,選取 [Azure SQL 資料庫 受控執行個體],然後針對 [選擇活動類型],選取 [脫機數據遷移]。

    Create Database Migration Service Project

  5. 選取 [建立並執行活動 ] 以建立專案並執行移轉活動。

指定來源詳細資料

  1. 在 [ 選取來源] 畫面上,指定來源 SQL Server 實例的連線詳細數據。

    請務必針對來源 SQL Server 實例名稱使用完整功能變數名稱 (FQDN)。 如果無法解析 DNS 名稱,您也可以使用 IP 位址。

  2. 如果您尚未在伺服器上安裝信任的憑證,請選取 [信任伺服器憑證] 核取方塊。

    未安裝受信任的憑證時,SQL Server 會在啟動實例時產生自我簽署憑證。 此憑證用來加密客戶端連線的認證。

    警告

    使用自我簽署憑證加密的 TLS 連線不提供強式安全性。 這種連線容易受到攔截式攻擊。 您不應該依賴在生產環境或連線到因特網的伺服器中使用自我簽署憑證的 TLS。

    Source Details

  3. 選取 [下一步:選取目標]

指定目標詳細資料

  1. 在 [選取目標] 畫面上,指定目標的連線詳細數據,這是您要移轉 AdventureWorks2016 資料庫的預先布建 SQL 受管理執行個體。

    如果您尚未布建 SQL 受管理執行個體,請選取連結以協助您布建實例。 您仍然可以繼續建立專案,然後在 SQL 受管理執行個體 準備就緒時,返回此特定專案以執行移轉。

    Select Target

  2. 選取 [下一步:選取資料庫]。 在 [ 選取資料庫] 畫面上 ,選取 AdventureWorks2016 資料庫以進行移轉。

    Select Source Databases

    重要

    如果您使用 SQL Server Integration Services (SSIS),DMS 目前不支援將 SSIS 專案/套件的目錄資料庫從 SQL Server 遷移至 SQL 受管理執行個體。 不過,您可以在 Azure Data Factory 中布建 SSIS,並將 SSIS 專案/套件重新部署至 SQL 受管理執行個體 所裝載的目的地 SSISDB。 如需移轉 SSIS 套件的詳細資訊,請參閱將 SQL Server Integration Services 套件移轉至 Azure 一文

  3. 選取 [下一步:選取登入]

選取登入

  1. 在 [ 選取登入] 畫面上,選取您要移轉的登入。

    注意

    根據預設,Azure 資料庫移轉服務僅支援遷移 SQL 登入。 若要啟用移轉 Windows 登入的支援,請參閱 本教學課程的必要條件 一節。

    Select logins

  2. 選取 [ 下一步:設定移轉設定]。

進行移轉設定

  1. 在 [設定移轉設定] 畫面上,提供下列詳細資料:

    參數 描述
    選擇來源備份選項 選擇選項 ,當您已經有可供 DMS 用於資料庫移轉的完整備份檔時,我會提供最新的備份檔 。 選擇 [我將會讓 Azure 資料移轉服務 建立備份檔時,您希望 DMS 先取得源資料庫完整備份,並使用它進行移轉。
    網路位置共用 Azure 資料移轉服務 可以備份源資料庫的本機 SMB 網路共用。 執行來源 SQL Server 實例的服務帳戶必須具有此網路共用的寫入許可權。 在網路共用中提供伺服器的 FQDN 或 IP 位址,例如 '\\servername.domainname.com\backupfolder' 或 '\\IP address\backupfolder'。
    使用者名稱 請確定 Windows 使用者對於您先前提供的網路共用具有完整控制權限。 Azure 資料移轉服務 會模擬使用者認證,將備份檔上傳至 Azure 儲存體 容器以進行還原作業。 如果選取啟用 TDE 的資料庫進行移轉,則上述 Windows 用戶必須是內建的系統管理員帳戶,而且必須停用使用者帳戶控制,Azure 資料移轉服務 才能上傳和刪除憑證檔案。
    密碼 使用者的密碼。
    儲存體 帳戶設定 提供 Azure 資料移轉服務 存取記憶體帳戶容器的 SAS URI,服務會上傳備份檔,並用來將資料庫移轉至 SQL 受管理執行個體。 瞭解如何取得 Blob 容器的 SAS URI。 此 SAS URI 必須適用於 Blob 容器,而不是針對記憶體帳戶。
    TDE 設定 如果您要移轉已啟用 透明資料加密 (TDE) 的源資料庫,則必須在目標 SQL 受管理執行個體 上具有寫入許可權。 從下拉功能表中選取布建 SQL 受管理執行個體 的訂用帳戶。 在下拉功能表中選取目標 Azure SQL 資料庫 受控執行個體

    Configure Migration Settings

  2. 選取 [ 下一步:摘要]。

檢閱移轉摘要

  1. 在 [摘要] 畫面的 [活動名稱] 文本框中,指定移轉活動的名稱。

  2. 檢閱並確認與移轉專案相關聯的詳細資料。

    Migration project summary

執行移轉

  • 選取 [ 開始移轉]。

    [移轉活動] 視窗隨即出現,其中顯示資料庫和登入的目前移轉狀態。

監視移轉

  1. 在移轉活動畫面中,選取 [ 重新 整理] 以更新顯示。

    Screenshot that shows the migration activity screen and the Refresh button.

  2. 您可以進一步展開資料庫和登入類別,以監視個別伺服器物件的移轉狀態。

    Migration activity in progress

  3. 移轉完成之後,請確認 SQL 受管理執行個體 環境上的目標資料庫。

其他資源

  • 如需示範如何使用 T-SQL RESTORE 命令將資料庫移轉至 SQL 受管理執行個體 的教學課程,請參閱使用 restore 命令將備份還原至 SQL 受管理執行個體。
  • 如需 SQL 受管理執行個體 的相關信息,請參閱什麼是 SQL 受管理執行個體
  • 如需將應用程式連線到 SQL 受管理執行個體的相關信息,請參閱 連線 應用程式