記錄一次真實項目:Ruby on Rails 專案需將現有 SQL Server 數據遷移至 MySQL。嘗試 ODBC 導出遭遇架構不匹配、驅動版本地獄後,最終使用輕量工具 mss2sql 成功落地。本文還原完整操作流程、截圖關鍵步驟、踩坑避坑,供同類場景參考。
mss2sqlmss2sql.exe,默認選「Move to MySQL Server directly」→ NextOverwrite the entire database(全量覆蓋)Add All 全選,或勾選特定表 → Next
AUTO_INCREMENT、起始值SELECT COUNT(*) 源目一致SELECT HEX(col) 檢查 UTF-8| 局限 | 補充方案 |
|---|---|
| 主鍵自增屬性偶爾丟失 | 遷移後執行 ALTER TABLE t MODIFY id BIGINT AUTO_INCREMENT; |
| 外鍵關系不遷移 | 導出源庫 FK DDL,手動在目標庫執行 |
| 視圖/存儲過程/函數不支持 | 人工重寫(T-SQL → MySQL 語法差異大) |
| 大表(億級)速度慢、易中斷 | 分批導出、或用 bcp + LOAD DATA、或 CDC 同步 |
| 僅 Windows GUI,無命令行自動化 | 企業級遷移改用 Migration Toolkit / 自研腳本 |