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位的。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

02.连接

连接非常简单,连接mysql和mssql,连接设置就简单了,连接好后,可以看到已有的数据库。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

03.使用

这个界面很简单,工具栏的一排按钮就是要使用的功能:新建方案-连接mysql-连接mssql-创建报告-转换结构-(同步数据库)-复制数据。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

创建报告:它是作用是检查数据库,包括数据库的结构和数据,并生成报告,如果有问题将会有错误提示或警告。下图右键菜单也是常用的功能。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

这是创建的报告。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

转换结构:如果没有什么大的问题,就可以点击转换结构(Ctrl+R),转换的日志将出现在输入窗口,转换的结果在SSMA的SQL窗口(现在转换的结果数据库还没有到Mssql中)

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

同步数据库:在SSMA的SQL窗口新生成的数据库上右键,即有同步数据库。

复制数据:接下来,在myssql数据库上右键即可复制数据,这个过程需要再次输入mysql数据库密码。下面复制数据后的报告。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

检查结果:不光要看转换结果的报告,更要去抽查数据,对数据进行检查。

04.问题

下面是一些常见的问题:

(1)数据类型对应问题。两个数据库不兼容,在转换过程中,我们最关心的肯定是数据对应关系,你可以在方案中进行设置.在实际操作中,我遇到的就是longtext转为了nvarchar(max)类型,遇到数据量大的(一个字段就有70万个长度),也可以存储下来。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

(2)不知道是哪一步设置的问题,每个表中会出现一个SSMA的标识字段,如果有必要,删除它即可。

mysql 迁移 vastbase mysql 迁移 mssql 问题_mysql 迁移 vastbase

05.小结

总体来说,这个数据库迁移工具还是挺好用的,目前测试过程中因为数据表和数据数量比较少,迁移过程中未发生问题,暂时可用于实际生产。针对大量数据表的迁移还未曾用到,日后如果有机会测试会将后续结果更新发布。