从SQL Server到MySQL,四款主流迁移工具到底哪家强

我之所以会写这篇对比文章 , 是因为公司新产品研发真实经历过这个痛苦的过程(传统基于SQL Server开发的C/S产品转为MySQL云产品) 。首次需要数据转换是测试环节 , 当时为了快速验证新研发云产品性能与结果准确性(算法类) , 所以需大量的原始数据 , 最快的办法就是使用老产品的真实数据 。
因为在前期数据转换时主用于内部验证 , 并没有花很多心思去处理这个事情 , 一般数据能导过去 , 不对的地方自己再手工处理一下就好了 。后面对这个转换工具引起了极大的重视是正式有老客户升级时 , 因为正式投入使用就容不得半点错误(当时至少有几百家客户需要升级新产品) , 所以数据转移第一要求是百分百的准确率 , 其次是速度要快 。
现在回想起来 , 当时要有这么一篇对比文章 , 那我就不会浪费那么多时间在查找、对比、验证工具和数据维护修正上了 , 所以真心希望通过这篇对比文章能给大家提供一些参考或帮助!下面进入正题:
在部署前期 , 首要任务就是考虑如何快速把基于 SQL Server 数据库的应用程序移植到阿里云的 MySQL 数据库 。由于程序是基于 O/R mApping 编写 , 并且数据库中没有使用存储过程、用户函数等数据库功能 , 因此仅仅需要考虑的是数据库中的数据如何转换到新的 MySQL 数据库中 。
通过度娘查找 , 找到如下四种可以使用的工具 , 并且每一种工具都有大量的用户 , 还有不少用户在自己的博客中写下了图文使用经验 , 这四种工具分别是:

  • SQLyog
  • Navicat Premium
  • Mss2sql
  • DB2DB
由于公司需要处理的是业务数据库 , 因此必须保证数据转换的准确率(不允许丢失数据 , 数据库字段、索引完整) , 并且需要保证数据库迁移后能立即使用 。因此在实施数据迁移前 , 对这几种 SQLServer 到 MySQL 的迁移工具进行一个全面测试 。下面我们将基于以下需求为前提进行测试:
  • 软件易用性
  • 处理速度和内存占用
  • 数据完整性
  • 试用版限制
  • 其它功能
一、测试用的源数据库和系统
用于测试的源数据库名为 MesoftReportCenter 。由于其中一个测试工具试用版限制只能处理两张数据表的原因 , 因此我们只选取了记录数最多的两张数据表:HISOPChargeIntermediateResult 和 HISOPChargeItemIntermediateResult 。两张数据表合计的记录数约为 328万 , 数据库不算大 , 但针对本次进行测试也基本上足够了 。
从SQL Server到MySQL,四款主流迁移工具到底哪家强

文章插图
SQLServer 服务器和 MySQL 服务器分别运行在两台独立的虚拟机系统中 , 而所有的待测试程序都运行在 MySQL 所在的服务器上面 。其中:
SQLServer 服务配置:
  • 操作系统:windows XP
  • 内存:2GB
  • 100MB 电信光纤
MySQL 服务配置:
  • 操作系统:Windows XP
  • 内存:1GB
  • 100MB 电信光纤
同时为了测试的公平性 , 除 Mss2SQL 外 , 所有软件都是直接从官网下载最新的版本 。Mss2SQL 由于试用版的限制原因没有参与测试 , 而使用了网上唯一能找到的 5.3 破解版进行测试 。
二、软件易用性评测
软件易用性主要是指软件在导入前的配置是否容易 。由于很多软件设计是面向程序员而非一般的数据库管理人员、甚至是普通的应用程序实施人员 , 而这一类人员很多时候并没有数据源配置经验 。因为一些使用 ODBC 或者 ADO 进行配置的程序往往会让这类用户造成困扰(主要是不知道应该选择什么类型的数据库驱动程序) 。下面让我们看看四个工具的设计界面:
>>>>
1、SQLyog
从SQL Server到MySQL,四款主流迁移工具到底哪家强

文章插图

从SQL Server到MySQL,四款主流迁移工具到底哪家强

文章插图
SQLyog 使用的是古老的 ODBC 连接 , 但对于新一代的程序来说 , 这种方式的非常的不熟悉并且不容易使用 , 并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好) 。
>>>>
2、Navicat Premium
从SQL Server到MySQL,四款主流迁移工具到底哪家强

文章插图


推荐阅读