从mysql迁移到mssql的弯路

因为自己擅长的是MS SQL Server,加上最近为了整理各个不同数据源到统一的数据库,因此将遇到的坑写下来,方便日后查找。


0x0:坑

这次遇到的坑是从mysql迁移到mssql,以前只是稍微接触过mysql,对mysql迁移到mssql,网上搜索的结果大多数是建立链接服务器,但我建立之后发现虽然可以用,只不过数据量太大,导致查询过程中会整台服务器卡顿,这样使得迁移步骤更加麻烦。再继续了解,发现了一个更加快捷的方法。


0x1:环境

只有一个SQL Server 2016的服务器


0x2:需求

将1亿+的单表从mysql迁移到MSSQL


0x3:解决方案


1. 安装mysql server,将包含.myd和.myi的文件夹放置于安装目录的data目录下

--(可选)在odbc数据源中的系统DSN建立MySQL ODBC 5.3 Unicode Driver链接

--(这是我采用链接服务器就建立好的,估计在这个解决方案里可以不用,但留着以防真的需要。)

2. 【到微软官网】下载与自己MSSQL Server版本相对应的SQL Server Migration Assistant for MySQL

--(这个坑来源于环境是2016版的SQL,对应的版本是MSSA 7.2,但我一开始找到的资源是6.0版,最高支持2014,虽然可以打开,但连接SQL时提示SQL Agent没启动导致无法连接。)

3. 在MSSA中连接MySQL、MSSQL

4. 选择MySQL要迁移的表或数据库,右键Convert Schema(转换模式),在SQL中右键对应的名称,选择Synchonize with Database(与数据库同步

5. 在MySQL树右键选择Migrate Data(迁移数据),弹出两个连接凭据,点击之后会开始迁移数据,等待迁移。


----------------------------------------------------------------------------------------------------


然而,事情并没有这么简单。在一会儿等待之后,以为已经好了,结果发现在下面有一个小地方,提示【连接已被禁用】,用某引擎搜索不到相关内容后,换了某搜索引擎,然后找到了一篇文章:

http://stackoverflow.com/questions/38266349/mysql-5-6-to-mssql-server-2014-migration-executereader-requires-an-open-and-av/38266748#38266748


在其中提到了一句话:Open SSMA for MySql -> Goto Tools -> Project Settings -> Select General from the left menu -> Select Migration -> In the Misc section -> set data migration timeout in minutes = 500


按照这个操作,改完之后重新开始进程,虽然数据慢慢地加载,但进程同步完之后就完成了。


如果碰到类似的问题,希望对你有所帮助,起码它帮我解决了当前的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值