MySQL数据迁移到SQL Server

本文介绍如何使用SSMA把MySQL数据库迁移到SQL Server数据库,包括迁移评估、Schema迁移以及数据迁移。

SQL Server Migration Assistant(简称SSMA)是由微软发布的帮助客户更容易地从Oracle/Sybase/MySQL/Access迁移到SQL Server以及SQL Azure的一个工具集,SSMA 5.2版本,该版本支持了最新的代号为Denali的SQL Server的CTP版本,并且增加了对SQL Azure迁移的支持。下表说明了SSMA 5.0所支持的迁移矩阵:

 

Migrating To:

Migrating From:

Using SSMA Tool:

SQL Server all editions
(2008 R2, 2008, 2005, “Denali”)

SQL Azure

Sybase

SSMA for Sybase


(New in SSMA 5.0)

Oracle

SSMA for Oracle

 

MySQL

SSMA for MySQL

Access

SSMA for Access

我选择SSMA for MySQL 5.2为例介绍一下SSMA如何帮助您从MySql迁移到SQL Server 2005。首先我们从这里下载SSMA for MySQL的压缩包,解压缩后有两个exe文件,SSMA for MySQL 5.2.exe是工具的安装包,SSMA for MySQL 5.2 Extension Pack.exe必须安装在SQL Server 2005所在服务器,用来创建一些辅助运行需要的数据库表和存储过程等。

首次运行SSMA for MySQL 需要一个License,如图所示,你可以点击链接,然后根据提示填写个人信息后免费申请,下载保存之后返回这个对话框选择你保存 License的目录然后点击Refresh License按钮即可运行SSMA for MySQL 了。

mysql-connector-odbc-5.1.11-win32.exe可能也需要安装。用来连接mysql数据库。

注册成功后,就可以进行转换了。

第一步:新建New Project,选择SQL Server 2005作为迁移的目标数据库版本。

57_YW9349QXKQ5AS[H%MRJO

然后我们连接mysql服务器,点击工具条上的Connect to Mysql,输入Server名称和用户名/密码。如果你的MySql服务器上有很多数据库,数据加载可能需要比较长的时间,请耐心等待。

image

第二步:评估

连接上Mysql后我们首先可以评估一下迁移数据库会不会碰到问题,如果碰到问题大约需要多长时间来解决。评估并不需要连接目标SQL Server,只需要在左上方的树里展开服务器名称,然后展开Schemas,右键点击并选择Create Report。

SSMA运行一段时间后会打开一个评估报告的对话框,如图所示。这个评估报告很有用,里面会列出数据库里各种对象(包括函数、包、存储过程、表和视图等)能够成功迁移的比例,你可以在左边的树里选择你需要查看的某个对象,比如存储过程,比较MySQL的语法和迁移后的TSQL语法。

R_PKU)OKGJ(C1EZ(@W7YH14

第三步:Schema迁移、同步SQL Server数据库

连接目标数据库,点击工具条上的Connect to SQL Server,输入Server name,在Database里输入数据库名称例如:wordpress。如果你的SQL Server里不存在wordpress数据库,点击Connect后SSMA会提示错误,问你是否创建wordpress数据库,选择Yes。

这里的Schema指数据以外的数据库定义,比如表结构、视图定义、存储过程等等。右键单击 MySQL里的数据库,选择Convert Schema。SSMA运行一段时间后会在最下方的Output栏里显示转换是否有错误、警告或信息。

Schema迁移后,就可以同步到SQL Server数据库了,在SQL Server Metadata Explorer里右键点击wordpress数据库,选择Synchronize with Database.

35H826A8DNR(X(KRB`ABSFN

数据迁移。

右键点击MySQL Metadata Explorer里的wordpress数据库,选择Migrate Data。SSMA会再次提示MySQL和SQL Server的连接信息,如果之前做过数据迁移可能会有数据覆盖的警告信息,如果有点击Continue继续。

在这过程中你可以随时点击工具栏上的Stop按钮来停止数据迁移。迁移结束后,SSMA会有一个数据迁移报告。该报告描述了迁移过程中那些表的数据被成功迁移,多少行数据被迁移以及耗时多少等等。

image

此条目发表在学习笔记分类目录,贴了, , , , 标签。将固定链接加入收藏夹。

5 则回应给 MySQL数据迁移到SQL Server

  1. 特种纸说:

    数据库内容无缝转移?安全嘛?

  2. zwl说:

    精彩的分享,很不错。。。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据