共用方式為


移轉指南:MySQL 至 SQL Server

適用於:SQL Server

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

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

必要條件

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

移轉前

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

評定

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

若要建立評量:

  1. 開啟適用於 MySQL 的 SSMA。

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

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

    顯示 [新增專案] 選項的螢幕擷取畫面。

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

    顯示 [連線至 MySQL] 選項的螢幕擷取畫面。

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

    顯示選取您要移轉之 MySQL 資料庫的螢幕擷取畫面。

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

    顯示 [建立報告] 功能的螢幕擷取畫面。

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

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

    顯示轉換報告的螢幕擷取畫面。

驗證型別對應

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

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

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

    顯示 [類型對應] 功能的螢幕擷取畫面。

  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. 輸入驗證詳細資料,然後選取 [連線]。

    顯示 [連線至 SQL Server] 的螢幕擷取畫面。

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

    顯示 [轉換結構描述] 選項的螢幕擷取畫面。

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

    顯示比較和檢閱物件的螢幕擷取畫面。

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

    顯示比較和檢閱轉換後程式碼的螢幕擷取畫面。

  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 執行個體。

    螢幕擷取畫面:[與資料庫同步處理]。

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

    顯示檢閱資料庫同步處理的螢幕擷取畫面。

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

    顯示 [移轉資料] 選項的螢幕擷取畫面。

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

    螢幕擷取畫面:[Data Migration Report] \(資料移轉報告\)。

  5. 使用 SQL Server Management Studio(SSMS)連接您的 SQL Server 實例,並透過檢視資料與結構來驗證遷移。

    螢幕擷取畫面:SQL Server Management Studio 中的驗證。

移轉後

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

修復應用程式

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

執行測試

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

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

最佳化

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

注意

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

移轉資產

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

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

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