共用方式為


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

重要

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 Studio 的 Azure SQL 移轉延伸模組移轉至 Azure SQL 受控執行個體。

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

您可以使用 Azure 資料庫移轉服務,將資料庫從 SQL Server 執行個體移轉至 Azure SQL 受控執行個體,且停機時間最短。 如需其他可能需要手動操作的方法,請參閱 將 SQL Server 執行個體移轉至 Azure SQL 受控執行個體一文。

在本教學課程中,您會使用 Azure 資料庫移轉服務,以最短停機時間將 AdventureWorks2016 資料庫從 SQL Server 的內部部署執行個體移轉至 SQL 受控執行個體。

您將學習如何:

  • 註冊 Azure DataMigration 資源提供者。
  • 建立 Azure 資料庫移轉服務的執行個體。
  • 使用 Azure 資料庫移轉服務來建立移轉專案並啟動線上移轉。
  • 監視移轉。
  • 在您準備好時執行完全移轉。

重要

若要使用 Azure 資料庫移轉服務從 SQL Server 線上移轉至 SQL 受控執行個體,您必須在可供此服務用來移轉資料庫的 SMB 網路共用中,提供完整的資料庫備份及後續的記錄備份。 在移轉時,Azure 資料庫移轉服務不會起始任何備份,而是會使用現有備份 (您可能已在災害復原方案中備妥)。 每個備份都可寫入至個別的備份檔案或多個備份檔案。 不過,不支援將多個備份 (即完整與交易記錄) 附加到單一備份媒體。 您可以使用壓縮的備份,以減少移轉大型備份檔時可能發生的潛在問題。

注意

若要使用「Azure 資料庫移轉服務」來執行線上移轉,必須根據「進階」定價層建立執行個體。

重要

為了獲得最佳的移轉體驗,Microsoft 建議在目標資料庫所在的同一個 Azure 區域中,建立 Azure 資料庫移轉服務的執行個體。 跨區域或地理位置移動資料可能使移轉程序變慢,並產生錯誤。

重要

盡可能縮短線上移轉程序的持續時間,以將執行個體重新設定或計劃性維護所造成的中斷風險降到最低。 如果發生這類事件,則移轉程序會從頭開始。 如果是計劃性維護,則會有 36 小時的寬限期,之後才重新開始移轉程序。

提示

在 Azure Database Migration Service 中,您可在離線或線上時移轉資料庫。 在離線移轉中,當移轉開始時,應用程式即會開始停機。 若要將停機限制於在移轉後完全移轉至新環境所需的時間,請使用線上移轉。 建議您測試離線移轉,以決定停機是否在可接受範圍。 如果無法接受預期的停機,則請執行線上移轉。

本文說明如何從 SQL Server 線上移轉至 SQL 受控執行個體。 若要進行離線移轉,請參閱使用 DMS 在將 SQL Server 離線移轉至 SQL 受控執行個體

必要條件

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

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

  • 啟用 TCP/IP 通訊協定,在 SQL Server Express 安裝期間預設會停用,方法是遵循啟用或停用伺服器網路通訊協定一文中的指示。

  • 將 AdventureWorks2016 資料庫還原至 SQL Server 執行個體。

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

    注意

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

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

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

    如果您沒有內部部署網路與 Azure 之間的站對站連線,或是您的站對站連線頻寬有限,請考慮在混合模式 (預覽) 中使用 Azure 資料庫移轉服務。 混合模式會搭配使用內部部署移轉背景工作角色與雲端中執行的 Azure 資料庫移轉服務執行個體。 若要在混合模式中建立 Azure 資料庫移轉服務的執行個體,請參閱使用 Azure 入口網站在混合模式中建立 Azure 資料庫移轉服務執行個體一文。

    重要

    關於移轉過程中使用的儲存體帳戶,您必須執行下列其中一個動作:

    • 選擇允許所有網路存取儲存體帳戶。
    • 開啟 MI 子網路上的 子網路委派,並更新儲存體帳戶防火牆規則以允許此子網路。
    • 您無法使用具有 Azure 資料庫移轉服務私人端點的 Azure 儲存體帳戶。
  • 確定您的虛擬網路的網路安全性群組規則不會封鎖服務匯流排、儲存體和 AzureMonitor 的 ServiceTag 的輸出連接埠 443。 如需虛擬網路 NSG 流量篩選的詳細資訊,請參閱<使用網路安全性群組來篩選網路流量>(機器翻譯) 一文。

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

  • 開啟您的 Windows 防火牆以允許 Azure 資料庫移轉服務存取來源 SQL Server (依預設會使用 TCP 連接埠 1433)。 如果您的預設執行個體正在其他連接埠上接聽,請將其新增至防火牆。

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

  • 如果您是在來源資料庫前面使用防火牆設備,您可能必須新增防火牆規則,才能讓 Azure 資料庫移轉服務存取用於移轉的來源資料庫,以及透過 SMB 連接埠 445 存取檔案。

  • 依照在 Azure 入口網站中建立 Azure SQL 受控執行個體一文中的詳細資料,建立 SQL 受控執行個體。

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

  • 提供 SMB 網路共用,其中包含您所有資料庫的完整資料庫備份檔案及後續交易記錄備份檔案,而 Azure 資料庫移轉服務會使用這些檔案來進行資料庫移轉。

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

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

  • 建立 Microsoft Entra 應用程式識別碼,以產生 Azure 資料庫移轉服務可用來連線到目標 Azure SQL 受控執行個體和 Azure 儲存體容器的應用程式識別碼索引碼。 如需詳細資訊,請參閱 使用入口網站建立可存取資源的 Microsoft Entra 應用程式和服務主體 一文。

    注意

    Azure 資料庫移轉服務所使用的應用程式識別碼支援服務主體的秘密 (密碼型) 驗證。 但不支援憑證型驗證。

    注意

    Azure 資料庫移轉服務需要訂用帳戶的「參與者」權限,以取得指定的應用程式識別碼。 或者,您可以建立自訂角色,以授與 Azure 資料庫移轉服務所需的特定權限。 如需使用自訂角色的逐步指引,請參閱自訂 SQL Server 角色以進行 SQL 受控執行個體的線上移轉一文。

  • 建立或記下 Azure 儲存體帳戶的標準效能層,這可讓 DMS 服務將資料庫備份檔案上傳至該處,並用於遷移資料庫。 請務必在建立 Azure 資料庫移轉服務執行個體的相同區域中建立 Azure 儲存體帳戶。

    注意

    使用線上移轉將受到透明資料加密的資料庫移轉至受控執行個體時,必須先移轉內部部署或 Azure VM SQL Server 執行個體的對應憑證,才能還原資料庫。 如需詳細步驟,請參閱將 TDE 憑證移轉至受控執行個體

註冊資源提供者

您必須在建立第一個資料庫移轉服務執行個體之前,註冊 Microsoft.DataMigration 資源提供者。

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

    顯示入口網站訂用帳戶

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

    顯示資源提供者

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

    註冊資源提供者

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

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

    Azure Marketplace

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

    建立 Azure 資料移轉服務 實例

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

    選取 資料移轉服務 (傳統) 案例

  3. 在 [建立移轉服務] 的基本資料畫面上:

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

    設定 Azure 資料移轉服務 實例基本概念設定

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

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

    設定 Azure 資料移轉服務 實例網路設定

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

    • 在幾分鐘之後,您的 Azure 資料庫移轉服務執行個體就會建立且可供使用:

    已建立移轉服務

建立移轉專案

建立服務執行個體之後,請在 Azure 入口網站中找出該服務,然後建立新的移轉專案。

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

    找出所有 Azure 資料移轉服務 實例

  2. 在 [Azure 資料庫移轉服務] 畫面上,選取您建立的 Azure 資料庫移轉服務執行個體。

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

    找出您的實例 Azure 資料移轉服務

  4. 在 [新增移轉專案] 畫面上指定專案名稱、在 [來源伺服器類型] 文字方塊中選取 [SQL Server]、在 [目標伺服器類型] 文字方塊中選取 [Azure SQL Database 受控執行個體],然後針對 [選擇活動類型],選取 [連線資料移轉]

    建立 資料移轉服務 專案

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

指定來源詳細資料

  1. 在 [選取來源] 畫面上,指定來源 SQL Server 執行個體的連線詳細資料。

    請務必使用來源 SQL Server 執行個體名稱的完整網域名稱 (FQDN)。 如果無法解析 DNS 名稱,您也可以使用 IP 位址。

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

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

    警告

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

    來源詳細數據

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

指定目標詳細資料

  1. [選取目標] 畫面上,指定 DMS 執行個體可用來連線到 SQL 受控執行個體和 Azure 儲存體帳戶的目標執行個體的[應用程式識別碼][索引碼]

    如需詳細資訊,請參閱 使用入口網站建立可存取資源的 Microsoft Entra 應用程式和服務主體 一文。

  2. 選取 [訂用帳戶] 包含 SQL 受控執行個體的目標執行個體,然後選擇目標 SQL 受控執行個體。

    如果您尚未佈建 SQL 受控執行個體,請選取連結來協助您佈建執行個體。 當 SQL 受控執行個體準備就緒時,返回此特定專案來執行移轉。

  3. 提供 [SQL 使用者] 和 [密碼],以連線到 SQL 受控執行個體。

    選取目標

  4. 選取 [下一步:選取資料庫]

指定來源資料庫

  1. [選取來源資料庫] 畫面上,選取您要移轉的來源資料庫。

選取源資料庫

重要

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

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

進行移轉設定

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

    參數 描述
    SMB 網路位置共用 本機 SMB 網路共用或 Azure 檔案共用包含完整資料庫備份檔案及交易記錄備份檔案,Azure 資料庫移轉服務可使用這些檔案來進行移轉。 執行來源 SQL Server 執行個體的服務帳戶在此網路共用上必須具有讀取\寫入權限。 在網路共用中提供伺服器的 FQDN 或 IP 位址,例如 '\\servername.domainname.com\backupfolder' or '\\IP address\backupfolder'。 為了改善效能,建議您針對要移轉的每個資料庫使用不同的資料夾。 您可以使用 [進階設定] 選項來提供資料庫層級的檔案共用路徑。 如果您在連線到 SMB 共用時遇到問題,請參閱 SMB 共用
    使用者名稱 請確定 Windows 使用者對於您先前提供的網路共用具有完整控制權限。 Azure 資料庫移轉服務會模擬該使用者認證,以便將備份檔案上傳至 Azure 儲存體容器以進行還原作業。 如果使用 Azure 檔案共用,請使用在前面加上 AZURE\ 的儲存體帳戶名稱作為使用者名稱。
    密碼 使用者的密碼。 如果使用 Azure 檔案共用,請使用儲存體帳戶金鑰作為密碼。
    Azure 儲存體帳戶的訂用帳戶 選取包含 Azure 儲存體帳戶的訂用帳戶。
    Azure 儲存體帳戶 選取 Azure 儲存體帳戶,讓 DMS 可以將備份檔案從 SMB 網路共用上傳至該處,並用於資料庫移轉。 建議您選取與 DMS 服務位在相同區域的儲存體帳戶,以達到最佳檔案上傳效能。

    設定移轉設定

    注意

    如果 Azure 資料庫移轉服務顯示「系統錯誤 53」或「系統錯誤 57」錯誤,其原因可能是 Azure 資料庫移轉服務無法存取 Azure 檔案共用。 如果發生上述其中一個錯誤,請使用這裡的指示,授與虛擬網路對儲存體帳戶的存取權。

    重要

    如果已啟用回送檢查功能,而且來源 SQL Server 和檔案共用位於相同的電腦上,則來源將無法使用 FQDN 存取檔案共用。 若要修正此問題,請使用此處的指示來停用回送檢查功能。

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

檢閱移轉摘要

  1. 在 [摘要] 畫面上的 [活動名稱] 文字方塊中,指定移轉活動的名稱。

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

    移轉專案摘要

執行並監視移轉

  1. 選取 [開始移轉]

  2. [移轉活動] 視窗隨即顯示目前的資料庫移轉狀態。 選取 [重新整理] 以更新顯示。

    進行中的移轉活動

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

    移轉活動狀態

執行完全移轉

當完整資料庫備份在 SQL 受控執行個體的目標執行個體上還原後,此資料庫就可用來執行完全移轉。

  1. 當您準備好要完成線上資料庫移轉後,請選取 [開始完全移轉]

  2. 停止對來源資料庫傳入任何流量。

  3. 進行 [結尾記錄備份]、在 SMB 網路共用中提供備份檔案,然後等到最後一個交易記錄備份還原完成。

    此時,您會看到 [暫止的變更] 已設為 0。

  4. 選取 [確認],然後選取 [套用]

    準備完成完全移轉

    重要

    完全移轉之後,具有業務關鍵服務層級 SQL 受控執行個體的可用性,只會比一般用途明顯來得長,因為必須為 Always On 高可用性群組植入三個次要複本。 此作業持續時間取決於資料大小,如需詳細資訊,請參閱 管理作業持續時間

  5. 當資料庫移轉狀態顯示為 [已完成] 後,請將應用程式連線至 SQL 受控執行個體的新目標執行個體。

    完全移轉完成

其他資源