首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server 遷移至 MySQL 三大實戰方案詳解

     編輯:MySQL 資料庫相關知識

方案一:BCP 導出 + mysqlimport 導入(純命令列,適合大數據量)

1. 導出表結構

使用工具或手動將 SQL Server 的 CREATE TABLE 腳本轉為 MySQL 語法(資料型別對應、自增主鍵、預設值等)。

2. 導出資料(SQL Server 端)

bcp "SELECT * FROM dbname.dbo.tablename" queryout tablename.txt -c -S localhost\db2005 -U sa -P password
  • -c:字元模式,欄位以 \t 分隔,列以 \n 分隔。
  • -S:指定伺服器/實例;-U/-P:帳號密碼。

3. 導入資料(MySQL 端)

mysqlimport -u root -p databasename /home/test/tablename.txt

要求:文字檔名稱需與目標資料表名稱一致。

方案二:MySQL Migration Toolkit(圖形化遷移工具,支援異構遷移)

前置需求

  • 安裝 Java 環境(JDK/JRE)。
  • 安裝 JDBC 驅動:mysql-connector-java、jTDS(SQL Server)。
  • 設定環境變數 CLASSPATH 包含驅動 JAR。

關鍵配置步驟

  1. Source Database:選 MS SQL Server,點 Advanced 填寫 JDBC 連接字串:
    jdbc:jtds:sqlserver://IP:PORT/DB_NAME;user=USER;password=PASS;charset=gb2312;domain=
  2. Target Database:選 MySQL,同樣填寫 JDBC 連接字串:
    jdbc:mysql://IP:3306/?user=USER&password=PASS&useServerPrepStmts=false&characterEncoding=gbk
  3. 選擇 Schema 與表 → Object Mapping → 修改 MSSQL Table 遷移參數:
    charset=gb2312, collation=gb2312_chinese_ci(或 gbk)。
  4. 執行遷移,工具允許在 Manual Editing 階段手動修正生成的 SQL。
  5. 遷移完成後,客戶端執行 SET NAMES gbk; 驗證中文顯示。

方案三:Microsoft 官方 SQL Server Migration Assistant (SSMA)

微軟釋出專用遷移工具,支援 MySQL → SQL Server 2005/2008/2012/2014/2016/2017/2019 雙向遷移。

遷移後驗證清單

  • 資料筆數對帳(SELECT COUNT(*))。
  • 主鍵、外鍵、索引、觸發器、預存程序、視圖完整性。
  • 字元集一致性(中文欄位無亂碼)。
  • 應用端連接字串、ORM 映射更新。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved