初次使用 Microsoft SQL Server 迁移助手 (SSMA)

因为有一个有大量数据的数据库需要从 MySQL 转换为 SQL Server,在网上搜了一圈突然发现了这个工具。

官网链接:https://docs.microsoft.com/zh-cn/sql/ssma/sql-server-migration-assistant

据说是可以支持从 Microsoft Access、DB2、MySQL、Oracle 和 SAP ASE 迁移到 SQL Server (版本 2012 及以上),因为只是需要从 MySQL 迁移,只是在 MySQL 中测试成功,其它数据库没有测试过,估计大同小异吧。

 

执行迁移的方法分为两种:

第一种是客户端迁移,等于通过一个在任意位置运行的客户端(SSMA),从源数据库服务器获取数据,再传输至目标库服务器;

第二种是服务端迁移,直接在目标库服务器上执行,不需要通过客户端来中转数据,但需要目标库拥有 SQL Server Agent 服务(比如 Express 版本就没有),然后需要安装一个扩展到目标库服务器中,再通过 SSMA 进行相关操作。

 

下面以通过客户端迁移 MySQL 到 SQL Server 为例,介绍一下最简单的使用流程:

1、下载并安装 Microsoft SQL Server Migration Assistant for MySQL,目前只有英文版本:

https://www.microsoft.com/en-us/download/details.aspx?id=54257

 

2、在安装过程中,会检查系统有没有安装 mysql-connector-odbc 组件,没有会提示去下载:

https://dev.mysql.com/downloads/connector/odbc/

官方说只测试过版本 5.1.6 到 5.3.4,实测最新的 8.0.22 版本也是可以正常使用的,如果在使用中有异常的话,可以去尝试官方推荐的版本。

 

3、安装后会在桌面和开始菜单创建 GUI 的快捷方式,直接打开即可。

在正式操作之前,还需要创建一个新的项目(File –> New Project)

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

选择合适的版本,版本是向后兼容的

 

4、创建完项目后,就可以点击工具栏中的 Connect to MySQL 和 Connect to SQL Server 分别连接源数据库和目标数据库了:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

 

5、连接过程没什么可说的,都是标准的连接信息,MySQL 在连接后还会提示可以选择性的加载部分对象,选择需要的数据库即可:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

 

6、连接后在整个窗口的左上显示的就是 MySQL 数据库的信息,左下是 SQL Server

选中要迁移的 MySQL 数据库,会在右上显示该数据库的迁移信息:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

默认显示的就是架构的映射关系,这里默认会以源数据库的名称作为目标数据库中的架构名称进行映射

 

7、选中上图中默认的这一行映射,点击右侧 Modify 编辑一下这个映射关系:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

从右侧可以选择目标库以及对应架构,一般我们都是用的 dbo 架构:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

点击 Select 选择,再点 OK 确认,回到列表中,发现 Target Schema 已经是我们刚刚选择的了。

 

8、然后在选中左侧数据库的情况下,点击上方工具栏中的 Convert Schema 按钮,开始准备迁移数据库架构

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

等待执行完成后,会发现在左下的 SQL Server 框中对应数据库的对应架构下,已经添加了相应的数据表:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

但此时只是在 SSMA 中创建了相应的信息,还没有真正执行到数据库中。

 

9、在确认迁移后的数据表正常无误的情况下,在数据库上点右键,选择 Synchronize with Database,SSMA 将与目标库进行对比检查

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

 

10、检查完成后,将提示这次发生了哪些变化,是否确认执行:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

此刻点击 OK,则这些表就真正的创建到数据库中了!

 

11、迁移完架构后,接下来迁移数据,选择左上 MySQL 的源数据库,然后点击工具栏中的 Migrate Data 按钮:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

点击后会再次要求输入两个数据库的连接信息,输入完成后,则立即开始执行,然后等待数据的迁移完成。。。。在下方状态栏会有进度的刷新

 

12、迁移完成后,会提示每个表各迁移了多少数据:

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

然后到此整个迁移过程就执行完成了!

 

以上是最简化过程的一个介绍,在迁移过程中,对表的映射、字段的映射、类型的映射很多都可以编辑,还有对于传输过程中对于默认值的设置、每次传输数据量的设置,在 Tools –> Project Settings 中都有,非常灵活。

更多内容请参见官方文档:https://docs.microsoft.com/zh-cn/sql/ssma/sql-server-migration-assistant

虽然文档的顺序有点乱。。。

初次使用 Microsoft SQL Server 迁移助手 (SSMA)

上一篇:MySQL高可用性之Keepalived+Mysql(双主热备)


下一篇:ASP.NET MVC 异常处理