在項目開發中,有時由於項目開始時候使用的數據庫是SQL Server,後來把存儲的數據庫調整為MySQL,所以需要把SQL Server的數據遷移到MySQL。下面是小編日常整理的一種sqlserver數據庫遷移的方法。
一、SQL Server中常用數據類型與MySQL不同的地方
二、將SQL Server數據遷移到MySQL需要注意的一些問題
1、唯一索引的不同,sql server的唯一索引的字段只能允許存在一個null值,而mysql,一直oracle中唯一索引對應的字段都允許存在多個null值。
2、存儲過程的語法存在很大的不同,存儲過程的遷移是最麻煩的,需要仔細修改。
3、程序中部分寫的SQL語句由於語法的不同也要相應的修改。
三、將SQL Server數據遷移到MySQL的常見方法
1、使用 SQLyog 遷移
優點
該遷移方法很簡單,靈活,遷移時,可以進行字段的修改,比如在sql server中原來是datetime,然後遷移到mysql時你可以配置成timestamp;成功率很高;
缺點
遷移很慢!這是該方法最大的缺點,如果表的數據量達到幾十萬行,甚至幾百萬行,你會發現遷移起來真的很慢。明顯比其他遷移方法慢很多。
2、使用 powerdesigner 和 sql server 的腳本導出功能 來遷移
(1)、該方法首先使用 powerdesigner,對sql server數據庫,進行逆向工程,得到E-R圖,然後生成MySQL的建表語句。完成數據庫結構的遷移;當然表結構的遷移,不使用powerdesigner一樣也是可以的。比如我將表結構導出成語句,然後手動進行修改,然後在MySQL中運行,也是一樣的;
(2)、然後使用 sql server的工具 SSMS,將sql server數據庫中的表的數據,導出成insert語句,每個表對應導出一個文件,然後對文件進行一些處理,然後導入到MySQL數據庫中。
3、使用Oracle MySQL Server 官方的 workbeach 工具進行遷移
(1)、在workbench 連接sql server時,用戶需要有 view any database 的權限。不然workbench無法訪問sql server的表結構的元數據,從而無法進行遷移。
(2)、還有使用 Navicat 來進行遷移的方法,方法和 SQLyog 是類似的。
以上sqlserver數據庫遷移方法,希望大家喜歡。