移轉指南:MySQL 至 SQL Server
適用於:SQL Server
在本指南中,您將了解如何將 MySQL 資料庫移轉至 SQL Server。
如需其他移轉指南,請參閱 Azure 資料庫移轉指南。
必要條件
開始將 MySQL 資料庫移轉至 SQL Server 之前:
- 確認是否支援您的來源環境。 目前支援 MySQL 5.6 和 5.7。
- 取得適用於 MySQL 的 SQL Server 移轉小幫手 (適用於 MySQL 的 SSMA)。
- 取得連線和足夠權限以存取來源和目標。
移轉前
符合先決條件後,您即可開始探索來源 MySQL 環境,並評定移轉的可行性。
評定
透過使用適用於 MySQL 的 SSMA,您可以檢閱資料庫物件和資料,並評定要移轉的資料庫。
若要建立評量:
開啟適用於 MySQL 的 SSMA。
在 [檔案] 功能表上,選取 [新增專案]。
輸入專案名稱和位置,以儲存您的專案和移轉目標。 然後在 [移轉至] 選項中選取 [SQL Server]。
在 [連線至 MySQL] 對話方塊中,輸入連線詳細資料,然後連線至 MySQL 伺服器。
選取要移轉的 MySQL 資料庫。
以滑鼠右鍵按一下 [MySQL 中繼資料總管] 中的 MySQL 資料庫,然後選取 [建立報表]。 或者,您也可以選取右上角的 [建立報告] 索引標籤。
請檢閱 HTML 報表,以了解轉換統計資料以及任何錯誤或警告。 您也可以在 Excel 中開啟報告,即可取得 MySQL 物件與結構描述執行轉換所需作業的詳細目錄。 報告預設位置在 SSMAProjects 內的報告資料夾中,如下所示:
drive:\Users\<username>\Documents\SSMAProjects\MySQLMigration\report\report_2016_11_12T02_47_55\
.
驗證型別對應
驗證預設資料類型對應,並視需要來根據需求加以變更。 操作方法:
若要深入瞭解適用於 MySQL 的 SSMA 中的轉換設定,請參閱專案設定 (轉換) (MySQLToSQL)。
轉換結構描述
轉換資料庫物件會從 MySQL 取得物件定義、將其轉換為類似的 SQL Server 物件,然後將此資訊載入適用於 MySQL 的 SSMA 中繼資料。 其不會將資訊載入 SQL Server 的執行個體。 然後,您可以使用 SQL Server 中繼資料總管來檢視物件及其屬性。
在轉換期間,適用於 MySQL 的 SSMA 會將輸出訊息列印至輸出窗格,並將錯誤訊息列印至 [錯誤清單] 窗格。 使用輸出和錯誤資訊來判斷您是否必須修改 MySQL 資料庫或轉換程序,以取得所需的轉換結果。
若要轉換結構描述:
(選用) 若要轉換動態或臨機操作查詢,請使用滑鼠右鍵按一下節點,然後選取 [新增陳述式]。
選取 [連線至 SQL Server] 索引標籤。
- 輸入 SQL Server 執行個體的連線詳細資料。
- 從下拉式清單中選取您的目標資料庫,或輸入新的名稱,若為此情況,則會在目標伺服器上建立資料庫。
- 輸入驗證詳細資料,然後選取 [連線]。
以滑鼠右鍵按一下 [MySQL 中繼資料總管] 中的 MySQL 資料庫,然後選取 [轉換結構描述]。 除此之外,您也可以選取右上角的 [轉換結構描述] 索引標籤。
轉換完成後,請檢閱轉換的物件並與起始物件進行比較,以找出潛在問題,並根據建議來解決問題。
將已轉換的 Transact-SQL 與原始程式碼進行比較,並檢閱建議。
在 [輸出] 窗格中,選取 [檢閱結果],並檢閱 [錯誤清單] 窗格中的錯誤。
將專案儲存在本機,以進行離線結構描述補救練習。 在 [檔案] 功能表中,選取 [儲存專案]。 此步驟可讓您離線評估來源與目標結構描述,並執行補救,然後將結構描述發佈到 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)。
發佈您的結構描述並移轉資料:
發佈結構描述的方法是在SQL Server 中繼資料瀏覽器中的資料庫上按一下滑鼠右鍵,然後選取 [與資料庫同步處理]。 此動作會將 MySQL 資料庫發佈到 SQL Server 執行個體。
檢閱來源專案與目標之間的對應。
在 [MySQL 中繼資料總管] 中,用滑鼠右鍵按一下您要移轉的資料庫或物件,然後選取 [移轉資料],即可進行移轉。 或者,您也可以選取 [移轉資料] 索引標籤。若要移轉整個資料庫的資料,請選取該資料庫名稱旁的核取方塊。 若要移轉個別資料表中的資料,依序展開資料庫和 [資料表],然後選取資料表旁的核取方塊。 若要省略個別資料表中的資料,請清除核取方塊。
完成移轉之後,請檢視 [資料移轉報告]。
使用 SQL Server Management Studio (SSMS) 連線至 SQL Server 執行個體,並透過檢閱資料和結構描述來驗證移轉。
移轉後
成功完成「移轉」階段之後,您需要完成一系列的移轉後工作,以確保所有項目盡可能順暢且有效率地運作。
修復應用程式
在您將資料移轉至目標環境之後,先前取用來源的所有應用程式都必須開始取用目標。 在某些情況下,完成這個工作需要對應用程式進行變更。
執行測試
資料庫移轉的測試方法包含下列活動:
- 開發驗證測試:若要測試資料庫移轉,則需要使用 SQL 查詢。 您必須建立驗證查詢,以針對來源及目標資料庫執行。 驗證查詢應涵蓋已定義的範圍。
- 設定測試環境:測試環境應該包含來源資料庫及目標資料庫的複本。 請務必隔離測試環境。
- 執行驗證測試:對來源及目標執行驗證測試,然後分析結果。
- 執行效能測試:對來源及目標執行效能測試,然後分析並比較結果。
最佳化
移轉後階段對於協調任何資料精確度問題、驗證完整性以及解決工作負載的效能問題而言至關重要。
注意
如需這些問題的詳細資訊及減輕問題的步驟,請參閱移轉後驗證和最佳化指南。
移轉資產
如需獲得更多協助來完成此移轉,請參閱下列資源。 這是為了支援實際移轉專案參與而開發。
標題 | 說明 |
---|---|
資料工作負載評量模型及工具 | 此工具為指定的工作負載,提供建議的「最適合」目標平台、雲端整備,以及應用程式或資料庫補救等級。 提供自動化和統一的目標對平台決策程序,您可以輕鬆計算和產生報告,有助於加快評估大型資產。 |
MySQL 至 SQL Server - 資料庫比較公用程式 | 資料庫比較公用程式是 Windows 主控台應用程式,您可以用來確認來源和目標平台上的資料是否相同。 您可以使用此工具,在所有或選取的資料表、資料列和資料行中,有效率地比較資料列或資料行層級的資料。 |
資料 SQL 工程小組開發這些資源。 此小組的核心任務是為資料平台遷移專案的複雜現代化排除障礙,加速遷移至 Microsoft 的 Azure 資料平台。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應