如何將SQLServer 中的大量表、數據、存儲過程,快速高效的轉移到MySql中?
MySQL :: MySQL GUI Tools Bundle: Archived Downloads
這個 Mysql官方提供的Migration Toolkit工具應該是可以。來源:How to export data from SQL Server 2005 to MySQL
沒有快速、高效的辦法只有辦法,沒有捷徑,可以參考別人的方法,畢竟人家趟過一趟河了,摸過一次石頭這本就是體力活 ,不是技術活!
感覺挺麻煩的,
1. MSSQL裏多種浮點類型和日期時間類型轉的時候, MYSQL並沒有相同的類型處理啊 2. 各家都對SQL查詢語句有自己的擴展. (對SELECT查詢語句, MSSQL不允許有未被GROUP BY 和聚集函數同時都沒有處理的欄位, 但MYSQL(INNODB)允許; MSSQL允許在SELECT中加選項允許臟讀)3. 一些調用系統函數還有系統表的地方咋辦, 比如取系統時間, 對時間的操作函數 , 存儲所有欄位的系統表的表名, 還有MSSQL巨多的SP_XX和XP_XX的存儲過程4. 不知道這兩個資料庫支持的數據規模和並發處理有多大不同..
先拋個磚, 等大神.表和數據轉移很簡單,都有現成的工具。比如mysql workbench、navicat這些
存儲過程這個需要你手動修改了。
曾經做過一次mssql到mysql的遷移。
改存儲過程是最煩的,有些語法不一樣的,需要改,函數不一樣的,要找代替。
唯一的辦法就是你需要會寫mysql的存儲過程,然後手動修改。
如果之前運用了大量的SQLServer獨有特性。。。
恭喜你,不僅僅是體力活,還要有對應的設計變更。
如果還打算用MySQL的特性優化結構。。。
要不要順便更新一個大版本?
你需要轉移三類東西,難度天壤之別。
- 數據:簡單。和由一個SQLServer庫同步到另一個SQLServer庫沒什麼區別,隨便哪個可視化工具點幾下就行了。
- 表、視圖:一般。兩種方式:生成SQL,根據規則修改成mysql的SQL腳本;使用PowerDesigner之類的工具轉換,但還是需要檢查。
- 存儲過程、觸發器、函數:難。這類東西就別想什麼方法了,唯一的途徑就是讀懂每一個代碼塊,按照Mysql規則重新編寫。
全部轉為sql,導入到mysql中
推薦閱讀: