SQL
Server迁移助手(SSMA)团队开发了针对MySQL的迁移助手Microsoft SQL Server Migration
Assistant 2008 for MySQL。微软同时发布了其他三个迁移助手: SSMA for Access, SSMA for
Oracle, and SSMA for Sybase (all v4.2) 。它也可以将一个MySQL数据库迁移到 SQL
Azure的云上。
01.安装
在安装SSMA之前,一定要先安装mysql和mssql的ODBC,当然也可以直接安装两者的客户端,安装客户端时,就会自动安装ODBC.
如果你安装之前没有安装ODBC,它会提醒你下载安装;如果你安装了ODBC,打开SSMA还报错"缺少ODBC",可能是因为操作系统是64位,你打开了32位的应用程序,需要打开64位的。
02.连接
连接非常简单,连接mysql和mssql,连接设置就简单了,连接好后,可以看到已有的数据库。
03.使用
这个界面很简单,工具栏的一排按钮就是要使用的功能:新建方案-连接mysql-连接mssql-创建报告-转换结构-(同步数据库)-复制数据。
创建报告:它是作用是检查数据库,包括数据库的结构和数据,并生成报告,如果有问题将会有错误提示或警告。下图右键菜单也是常用的功能。
这是创建的报告。
转换结构:如果没有什么大的问题,就可以点击转换结构(Ctrl+R),转换的日志将出现在输入窗口,转换的结果在SSMA的SQL窗口(现在转换的结果数据库还没有到Mssql中)
同步数据库:在SSMA的SQL窗口新生成的数据库上右键,即有同步数据库。
复制数据:接下来,在myssql数据库上右键即可复制数据,这个过程需要再次输入mysql数据库密码。下面复制数据后的报告。
检查结果:不光要看转换结果的报告,更要去抽查数据,对数据进行检查。
04.问题
下面是一些常见的问题:
(1)数据类型对应问题。两个数据库不兼容,在转换过程中,我们最关心的肯定是数据对应关系,你可以在方案中进行设置.在实际操作中,我遇到的就是longtext转为了nvarchar(max)类型,遇到数据量大的(一个字段就有70万个长度),也可以存储下来。
(2)不知道是哪一步设置的问题,每个表中会出现一个SSMA的标识字段,如果有必要,删除它即可。
05.小结
总体来说,这个数据库迁移工具还是挺好用的,目前测试过程中因为数据表和数据数量比较少,迁移过程中未发生问题,暂时可用于实际生产。针对大量数据表的迁移还未曾用到,日后如果有机会测试会将后续结果更新发布。