遷移架構
SQL Server → (Linked Server + OPENQUERY) → MySQL → (MongoVUE) → MongoDB
利用 MongoVUE 免費版支援 MySQL 直導 MongoDB 的特性,以 MySQL 作為中轉站。
詳細步驟
- 準備 MySQL:安裝 WAMP/MySQL,建立目標庫(如
MyData)
- 安裝 ODBC 驅動:
mysql-connector-odbc-5.1.12-win32.msi
- 配置系統 DSN:控制面板 → 管理工具 → ODBC 數據源 → 系統 DSN → 添加 MySQL ODBC 5.1 Driver,配置 Server/Port/Database/User/Password
- 建立鏈接服務器(SSMS → 服務器對象 → 鏈接服務器 → 新建):
- 提供程序:Microsoft OLE DB Provider for ODBC Drivers
- 數據源:步驟 3 建立的 DSN 名稱
- 安全性:映射本地登錄到遠程 MySQL 用戶
- MySQL 建目標表:結構與 SQL Server 源表一致
- 數據導入:
INSERT INTO OPENQUERY(MySQL_Linked, 'SELECT * FROM target_table')
SELECT * FROM source_table;
- MongoVUE 導入:連接 MySQL → 選擇表 → 右鍵「Export to MongoDB」
關鍵注意點
OPENQUERY 要求目標表已存在,列順序/類型兼容
- 大數據量分批次導入,避免事務日志暴漲
- MongoVUE 免費版有導入行數限制,大量數據考慮
mongoimport + CSV/JSON 中轉
- 類型映射:SQL Server
BIT → MySQL TINYINT(1) → MongoDB Boolean

現代替代方案 (SQL 2016+ / Azure)
- PolyBase:直接查詢 MongoDB (需 MongoDB Connector for BI)
- Azure Data Factory / SSIS:原生 MongoDB 連接器
- Change Data Capture + Kafka + MongoDB Sink:實時同步架構