如何将SQL Server数据迁移到MySQL?

    作者:课课家教育更新于: 2017-05-15 17:37:02

      Navicat是卓软数码科技有限公司生产的一系列MySQLmariadbOracle、SQLite、PostgreSQL及MicrosoftSQLServer的图形化数据库管理及发展软件。它有一个类似浏览器的图形使用者接口,支援多重连线到本地和远端数据库。它的设计合乎各种使用者的需求,从数据库管理员和程序员,到各种为客户服务并与合作伙伴共享信息的不同企业或公司。引子维基。

      公司大部分数据平台是存放在SQLServer数据库中,大家都知道SQLServer数据库是按照CPU核数来收费的,昂贵的费用对于公司来说是笔不少的开支。需要将将SQLServer数据迁移到MySQL中,业务慢慢转向到Linux平台和使用开源软件来解决。

      下面来说说用navicat工具来将SQLServer数据迁移到MySQL上:

      1.新建需要迁移的数据库

    如何将SQL Server数据迁移到MySQL?_数据库_SQL Server_MySQL_课课家教育

      2.打开数据库,点击导入向导

     2.打开数据库,点击导入向导

      3.选择数据导入格式

     3.选择数据导入格式

      4.选择数据源

     4.选择数据源

      5.连接属性

     5.连接属性

      6.选定要迁移的表

     6.选定要迁移的表

      7.定义目标表

     7.定义目标表

      8.更改实际情况对目标表进行更改

    8.更改实际情况对目标表进行更改

      9.选择导入模式

     9.选择导入模式

      10.开始导入

      10.开始导入

      11.导入后结果

     11.导入后结果

      至此,迁移完成,可以更改实际情况再对迁移后的表进行更改。

      将SQLServer数据迁移到MySQL需要注意的一些问题

      1、唯一索引的不同,sqlserver的唯一索引的字段只能允许存在一个null值,而mysql,一直oracle中唯一索引对应的字段都允许存在多个null值。

      2、存储过程的语法存在很大的不同,存储过程的迁移是最麻烦的,需要仔细修改。

      3、程序中部分写的SQL语句由于语法的不同也要相应的修改。

      将SQLServer数据迁移到MySQL的常见方法

      1、使用SQLyog迁移

      优点

      该迁移方法很简单,灵活,迁移时,可以进行字段的修改,比如在sqlserver中原来是datetime,然后迁移到mysql时你可以配置成timestamp;成功率很高;

      缺点

      迁移很慢!这是该方法最大的缺点,如果表的数据量达到几十万行,甚至几百万行,你会发现迁移起来真的很慢。明显比其他迁移方法慢很多。

      2、使用powerdesigner和sqlserver的脚本导出功能来迁移

      (1)、该方法首先使用powerdesigner,对sqlserver数据库,进行逆向工程,得到E-R图,然后生成MySQL的建表语句。完成数据库结构的迁移;当然表结构的迁移,不使用powerdesigner一样也是可以的。比如我将表结构导出成语句,然后手动进行修改,然后在MySQL中运行,也是一样的;

      (2)、然后使用sqlserver的工具SSMS,将sqlserver数据库中的表的数据,导出成insert语句,每个表对应导出一个文件,然后对文件进行一些处理,然后导入到MySQL数据库中。

      3、使用OracleMySQLServer官方的workbeach工具进行迁移

      (1)、在workbench连接sqlserver时,用户需要有viewanydatabase的权限。不然workbench无法访问sqlserver的表结构的元数据,从而无法进行迁移。

      (2)、还有使用Navicat来进行迁移的方法,方法和SQLyog是类似的。

      小编结语:

      更多内容尽在课课家教育!

课课家教育

未登录