● SQLyog(https://www.webyog.com/product/sqlyog)
● Navicat Premium(https://www.navicat.com/products/navicat-premium)
● Mss2sql(http://www.convert-in.com/)
● DB2DB(http://www.szmesoft.com/DB2DB)
● 軟件易用性
● 處理速度和內存占用
● 數據完整性
● 試用版限制
● 其它功能
SQLServer 服務器和 MySQL 服務器分別運行在兩台獨立的虛擬機系統中,而所有的待測試程序都運行在 MySQL 所在的服務器上面。其中:
SQLServer 服務配置:● 操作系統:Windows XP
● 內 存:2GB
● 100MB 電信光纖
MySQL 服務配置:
● 操作系統:Windows XP
● 內 存:1GB
● 100MB 電信光纖

2、Navicat Premium

Navicat Premium 是四個應用工具中設計最不人性化的一個:從上圖怎麼也想像不到要點按那個小按鈕來添加一個新的連接,並且這個連接設置不會保存,每次導入時都必須重新設置。 Navicat Premium 使用的是比 ODBC 稍先進的 ADO 設置方式(199X年代的產物),但使用上依然是針對老一代的程序員。
3、Mss2sql Mss2sql 是最容易在百度上搜索出來的工具,原因之一是它出現的時間較早。



Mss2sql 由於是很有針對性的從 SQLServer 遷移到 MySQL,因為界面使用了操作向導設計,使用非常容易。同時在設置的過程中,有非常多的選項進行細節調整,可以感覺到軟件經過了相當長一段時間的使用漸漸完善出來的。
4、DB2DB

DB2DB 由於是由國人開發,因此無論是界面還是提示信息,都是全程漢字。另外,由於 DB2DB 在功能上很有針對性,因為界面設計一目了然和易使用。和 mss2sql 一樣, DB2DB 提供了非常多的選項供用戶進行選擇和設置。
三、處理速度和內存占用評測 在本評測前,本人的一位資深同事曾經從網上下載了某款遷移軟件,把一個大約2500萬記錄數的數據表轉送到阿裡雲 MySQL,結果經過了三天三夜(好在其中兩天是星期六和星期日兩個休息日)都未能遷移過來。因此這一次需要對這四個工具的處理速度作一個詳細的測試。 考慮到從 SQL Server 遷移到 MySQL 會出現兩種不同的場景:
● 從 SQL Server 遷移到本地 MySQL 進行代碼測試和修改;
● 從 SQL Server 遷移到雲端 MySQL 數據庫正式上線使用;


Navicat Premium 的處理速度屬於中等,不算快也不算慢,但 CPU 占用還有內存占用都處於高位水平。不過以現在的電腦硬件水平來說,還是可以接受。但 CPU 占用率太高,將使得數據在導入的過程中,服務器不能用於其它用途。
3、Mss2sql
Mss2sql 並沒有提供計時器,因此我們使用人工計時的方法,整個過程處理完畢大於是 726 秒。Mss2sql 的 CPU 占用率相對其它工具來說較高,但仍屬於可以接受的范圍之內。
4、DB2DB

DB2DB 同樣遷移 300萬數據時,僅僅使用了 2 分 44 秒,這個速度相當驚人。不過最後的結果出現一個 BUG,就是提示了轉換成功,但後面的進度條卻沒有走完(在後面的數據完整性評測中,我們驗證了數據其實是已經全部處理完畢了)。
四、數據完整性評測 把數據准確無誤地從 SQL Server 遷移到 MySQL 應該作為這些工具的一個基本要求,因此這裡我們對四種工具轉換之後的結果進行檢查。
我們通過後台 SQL 對記錄數進行檢查,發現所有的工具都能把記錄完整地遷移到新的數據庫。如果仔細觀察,可以發現上圖中各個數據庫的大小是不一致的,基本的判斷是由於各種工具在映射數據表字段時,字段長度取值可能不能而引起的。而 mesoftreportcenter2 數據庫大小比起其它數據庫差不多少了一半,這引起了我們的注意。通過分析,我們發現 Navicat Premium 在遷移數據庫時,並不會為該數據庫所有數據表創建索引和主鍵,缺少索引和主鍵的數據庫大小顯然比其它數據庫要少得多。
為了解各工具遷移後的數據庫能否立即應用於生產環境,我們對創建後的數據表進行了更深入的分析,發現各工具對字段默認值的支持程度也不盡相同。其中:
● SQLyog:完整支持 SQL Server 的默認值;
● Navicat Premium:完全不支持默認值,所有遷移後的數據表都沒有默認值;
● Mss2sql:支持默認值但有嚴重錯誤;
● DB2DB:完整支持 SQL Server 的默認值。
在一些老舊的系統中,數據庫還會存在 Text、二進制類型的字段數據,通過測試對比後,四種工具都完美支持 Text 和 二進制(Image)類型字段。
小結:
測試項目
SQLyog
Navicat Premium
Mss2sql
DB2DB
表結構
支持
支持
支持
支持
字段長度
支持
部分支持(對Money等支持不好)
支持
支持
數據
完整
完整
完整
完整
索引
支持
不支持
支持
支持
關鍵字
支持
不支持
支持
支持
默認值
支持
不支持
支持,但有嚴重錯誤
支持
二進制數據
支持
支持
支持
支持
五、各工具其它功能及試用版限制
估計由於數據庫同步會存在一些技術難題的原因,4 款工具目前都是只是提供試用版本,最後我們來看看四個工具的試用版本各自的限制是什麼:
工具名
價格
試用限制
其它功能
備注
SQyog
$199
30天試用,並且只允許轉換兩張數據表
無
Navicat Premium
$799
無
Mss2sql
$49
每張數據表只允許有50秒處理時間
支持導出為 SQL
DB2DB
¥199
10萬記錄限制
支持導出為 SQL
四種工具中,由於 SQLyog 和 Navicat Premium 提供了額外的管理功能,所以價格相比其它兩款工具的要高得多。特別是 Navicat,必須是 Premium 版本才提供數據轉換的功能。而 Mss2sql 最新版本的試用版只提供了 50 秒處理時間,因為實用價值不大。而筆者與 DB2DB 作者聯系時得知,DB2DB 設置 10萬記錄限制,主要是考慮國內很多小型軟件記錄數都是少於 10 萬筆,而這一類人群一般都是小型創業團隊。
六、評測總結
最後,對四款軟件的測試結果作一個整體的總結:
工具名
處理速度
數據完整性
價格
推薦度
SQLyog
★☆☆☆☆
★★★★★
★★☆☆☆
★★☆☆☆
Navicat Premium
★★★☆☆
★☆☆☆☆
★☆☆☆☆
★☆☆☆☆
Mss2sql
★★☆☆☆
★★★☆☆
★★★★☆
★★★☆☆
DB2DB
★★★★★
★★★★★
★★★★★
★★★★★
以上四款軟件中,最不推薦使用的是 Navicat Premium,主要原因是數據的完整性表現較差,轉換後的數據不能立即用於生產環境,需要程序員仔細自行查找原因和分析。而 SQLyog 有較好的數據完整性,但整體處理速度非常的慢,如果數據較大的情況下,需要浪費非常多寶貴的時間。比較推薦的是 DB2DB,軟件整體表現較好,對我來說最重要的是在不購買的情況下也夠用了,而且全中文的傻瓜式界面操作起來實在方便。