移轉指南:MySQL 至 SQL Server

適用於:SQL Server

在本指南中,您將了解如何將 MySQL 資料庫移轉至 SQL Server。

如需其他移轉指南,請參閱 Azure 資料庫移轉指南

必要條件

開始將 MySQL 資料庫移轉至 SQL Server 之前:

移轉前

符合先決條件後,您即可開始探索來源 MySQL 環境,並評定移轉的可行性。

評定

透過使用適用於 MySQL 的 SSMA,您可以檢閱資料庫物件和資料,並評定要移轉的資料庫。

若要建立評量:

  1. 開啟適用於 MySQL 的 SSMA。

  2. 在 [檔案] 功能表上,選取 [新增專案]

  3. 輸入專案名稱和位置,以儲存您的專案和移轉目標。 然後在 [移轉至] 選項中選取 [SQL Server]。

    Screenshot that shows New Project option.

  4. 在 [連線至 MySQL] 對話方塊中,輸入連線詳細資料,然後連線至 MySQL 伺服器。

    Screenshot that shows Connect to MySQL option.

  5. 選取要移轉的 MySQL 資料庫。

    Screenshot that shows selecting the MySQL database you want to migrate.

  6. 以滑鼠右鍵按一下 [MySQL 中繼資料總管] 中的 MySQL 資料庫,然後選取 [建立報表]。 或者,您也可以選取右上角的 [建立報告] 索引標籤。

    Screenshot that shows Create Report feature.

  7. 請檢閱 HTML 報表,以了解轉換統計資料以及任何錯誤或警告。 您也可以在 Excel 中開啟報告,即可取得 MySQL 物件與結構描述執行轉換所需作業的詳細目錄。 報告預設位置在 SSMAProjects 內的報告資料夾中,如下所示:

    drive:\Users\<username>\Documents\SSMAProjects\MySQLMigration\report\report_2016_11_12T02_47_55\.

    Screenshot that shows a conversion report.

驗證型別對應

驗證預設資料類型對應,並視需要來根據需求加以變更。 操作方法:

  1. 在 [工具] 功能表上,選取 [專案設定]。

  2. 選取 [類型對應] 索引標籤。

    Screenshot that shows Type Mapping feature.

  3. 您可以在 [MySQL 中繼資料總管] 中選取資料表,然後變更每個資料表的類型對應。

若要深入瞭解適用於 MySQL 的 SSMA 中的轉換設定,請參閱專案設定 (轉換) (MySQLToSQL)

轉換結構描述

轉換資料庫物件會從 MySQL 取得物件定義、將其轉換為類似的 SQL Server 物件,然後將此資訊載入適用於 MySQL 的 SSMA 中繼資料。 其不會將資訊載入 SQL Server 的執行個體。 然後,您可以使用 SQL Server 中繼資料總管來檢視物件及其屬性。

在轉換期間,適用於 MySQL 的 SSMA 會將輸出訊息列印至輸出窗格,並將錯誤訊息列印至 [錯誤清單] 窗格。 使用輸出和錯誤資訊來判斷您是否必須修改 MySQL 資料庫或轉換程序,以取得所需的轉換結果。

若要轉換結構描述:

  1. (選用) 若要轉換動態或臨機操作查詢,請使用滑鼠右鍵按一下節點,然後選取 [新增陳述式]。

  2. 選取 [連線至 SQL Server] 索引標籤。

    1. 輸入 SQL Server 執行個體的連線詳細資料。
    2. 從下拉式清單中選取您的目標資料庫,或輸入新的名稱,若為此情況,則會在目標伺服器上建立資料庫。
    3. 輸入驗證詳細資料,然後選取 [連線]。

    Screenshot that shows Connect to SQL Server.

  3. 以滑鼠右鍵按一下 [MySQL 中繼資料總管] 中的 MySQL 資料庫,然後選取 [轉換結構描述]。 除此之外,您也可以選取右上角的 [轉換結構描述] 索引標籤。

    Screenshot that shows Convert Schema option.

  4. 轉換完成後,請檢閱轉換的物件並與起始物件進行比較,以找出潛在問題,並根據建議來解決問題。

    Screenshot that shows comparing and reviewing objects.

  5. 將已轉換的 Transact-SQL 與原始程式碼進行比較,並檢閱建議。

    Screenshot that shows comparing and reviewing converted code.

  6. 在 [輸出] 窗格中,選取 [檢閱結果],並檢閱 [錯誤清單] 窗格中的錯誤。

  7. 將專案儲存在本機,以進行離線結構描述補救練習。 在 [檔案] 功能表中,選取 [儲存專案]。 此步驟可讓您離線評估來源與目標結構描述,並執行補救,然後將結構描述發佈到 SQL Server。

若要深入瞭解,請參閱轉換 MySQL 資料庫 (MySQLToSQL)

遷移

當必要的先決條件準備就緒,並完成與移轉前階段相關聯的工作之後,您就可以開始執行結構描述和資料移轉。

您有兩個選項可用來移轉資料:

  • 用戶端資料移轉

    • 若要執行用戶端資料移轉,請選取 [專案設定] 對話方塊中的 [用戶端資料移轉引擎] 選項。

    注意

    當 SQL Express 版本作為目標資料庫使用時,只允許用戶端資料移轉,且不支援伺服器端資料移轉。

  • 伺服器端資料移轉

    • 在伺服器端執行資料移轉之前,請確定:
      • 適用於 MySQL 的 SSMA 延伸模組套件會安裝在 SQL Server 執行個體上。
      • SQL Server Agent 服務正在這個 SQL Server 的執行個體上執行。
    • 若要執行伺服器端資料移轉,請選取 [專案設定] 對話方塊中的 [伺服器端資料移轉引擎] 選項。

重要

如果您打算使用伺服器端資料移轉引擎,則在移轉資料之前,您必須在執行適用於 MySQL 的 SSMA 的電腦上安裝適用於 MySQL 的 SSMA 延伸模組套件和 MySQL 提供者。 SQL Server Agent 服務也必須在執行中。 如需深入了解如何安裝延伸模組套件,請參閱在 SQL Server 安裝 SSMA 元件 (MySQLToSQL)

發佈您的結構描述並移轉資料:

  1. 發佈結構描述的方法是在SQL Server 中繼資料瀏覽器中的資料庫上按一下滑鼠右鍵,然後選取 [與資料庫同步處理]。 此動作會將 MySQL 資料庫發佈到 SQL Server 執行個體。

    Screenshot that shows Synchronize with Database.

  2. 檢閱來源專案與目標之間的對應。

    Screenshot that shows reviewing the synchronization with the database.

  3. 在 [MySQL 中繼資料總管] 中,用滑鼠右鍵按一下您要移轉的資料庫或物件,然後選取 [移轉資料],即可進行移轉。 或者,您也可以選取 [移轉資料] 索引標籤。若要移轉整個資料庫的資料,請選取該資料庫名稱旁的核取方塊。 若要移轉個別資料表中的資料,依序展開資料庫和 [資料表],然後選取資料表旁的核取方塊。 若要省略個別資料表中的資料,請清除核取方塊。

    Screenshot that shows Migrate Data option.

  4. 完成移轉之後,請檢視 [資料移轉報告]。

    Screenshot that shows the Data Migration Report.

  5. 使用 SQL Server Management Studio (SSMS) 連線至 SQL Server 執行個體,並透過檢閱資料和結構描述來驗證移轉。

    Screenshot that shows validation in SQL Server Management Studio.

移轉後

成功完成「移轉」階段之後,您需要完成一系列的移轉後工作,以確保所有項目盡可能順暢且有效率地運作。

修復應用程式

在您將資料移轉至目標環境之後,先前取用來源的所有應用程式都必須開始取用目標。 在某些情況下,完成這個工作需要對應用程式進行變更。

執行測試

資料庫移轉的測試方法包含下列活動:

  1. 開發驗證測試:若要測試資料庫移轉,則需要使用 SQL 查詢。 您必須建立驗證查詢,以針對來源及目標資料庫執行。 驗證查詢應涵蓋已定義的範圍。
  2. 設定測試環境:測試環境應該包含來源資料庫及目標資料庫的複本。 請務必隔離測試環境。
  3. 執行驗證測試:對來源及目標執行驗證測試,然後分析結果。
  4. 執行效能測試:對來源及目標執行效能測試,然後分析並比較結果。

最佳化

移轉後階段對於協調任何資料精確度問題、驗證完整性以及解決工作負載的效能問題而言至關重要。

注意

如需這些問題的詳細資訊及減輕問題的步驟,請參閱移轉後驗證和最佳化指南

移轉資產

如需獲得更多協助來完成此移轉,請參閱下列資源。 這是為了支援實際移轉專案參與而開發。

標題 說明
資料工作負載評量模型及工具 此工具為指定的工作負載,提供建議的「最適合」目標平台、雲端整備,以及應用程式或資料庫補救等級。 提供自動化和統一的目標對平台決策程序,您可以輕鬆計算和產生報告,有助於加快評估大型資產。
MySQL 至 SQL Server - 資料庫比較公用程式 資料庫比較公用程式是 Windows 主控台應用程式,您可以用來確認來源和目標平台上的資料是否相同。 您可以使用此工具,在所有或選取的資料表、資料列和資料行中,有效率地比較資料列或資料行層級的資料。

資料 SQL 工程小組開發這些資源。 此小組的核心任務是為資料平台遷移專案的複雜現代化排除障礙,加速遷移至 Microsoft 的 Azure 資料平台。