MySQL到MsSQL的迁移工具——SSMA

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.小结

总体来说,这个数据库迁移工具还是挺好用的,可用于实际生产。

时间: 2024-10-13 17:56:54

MySQL到MsSQL的迁移工具——SSMA的相关文章

MySQL和MSSQL下,text 、ntext、 image、blob的比较

MySQL和MSSQL下,text .ntext. image.blob的比较2009-12-30 13:371.MySQL存在text和blob:  (1)相同  在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被截取以保证适合.如果截掉的字符不是空格,将会产生一条警告.使用严格SQL模式,会产生错误,并且值将被拒绝而不是截取并给出警告. BLOB和TEXT列不能有 默认值. 当保存或检索BL

dataset-请问,分别来自MYSQL和MSSQL的两个Dataset,如何作为同一个数据源给数据控件?

问题描述 请问,分别来自MYSQL和MSSQL的两个Dataset,如何作为同一个数据源给数据控件? 分别来自MYSQL和MSSQL的两个Dataset,如何作为同一个数据源给数据控件 解决方案 我将两个思路提供给你: 1.首先,你要有一个业务层和一个数据访问接口层和数据层(后两层可以合并),业务层中有数据操作时同时操作其它两层的数据,只有同时成功了才提交事务.这样可以确保数据一致. 2.设计和实现一个数据同步工具,我实现了一个SQL Server和Oracle之间数据同步的工具,利用一个定义表

mysql、mssql及oracle分页查询方法详解_数据库其它

本文实例讲述了mysql.mssql及oracle分页查询方法.分享给大家供大家参考.具体分析如下: 分页查询在web开发中是最常见的一种技术,最近在通过查资料,有一点自己的心得 一.mysql中的分页查询 注: m=(pageNum-1)*pageSize;n= pageSize; pageNum是要查询的页码,pageSize是每次查询的数据量, 方法一: select * from table order by id limit m, n; 该语句的意思为,查询m+n条记录,去掉前m条,返

使用MySql ODBC进行MYsql和MSsql的数据转换

mysql|odbc|数据|转换 将Mysql数据库转换为MSsql的数据库,或者将Mssql数据库转换为Mysql的数据库,在NT环境下很多时候都会用到.使用MySql ODBC后就比较好办,可以使用MSSQL7的管理工具,也可以使用mysql的管理工具,更可以使用其它方的管理工具 这里介绍一个使用SQL7的MMC的方法 ,将MSsql7的数据转化为Mysql的数据库,将源和目的反之,就可以将Mysql的数据库转化为Mssql7的数据库. 1.安装Mysql的ODBC接口,可以在本站下载 2.

mysql与mssql的md5加密语句_MsSql

1. mysql的md5     mysql存在系统函数md5("xxxxx"); 2. mssql的md5     mssql不存在系统函数,RIGHT(sys.fn_VarBinToHexStr(hashbytes('MD5', CAST("xxxxx"))), 32);

php连接mysql与mssql 2005数据库代码

php教程连接mssql 2005 1.下载以下两个文件,放入php ext目录及system32 php_sqlsrv_52_ts_vc6.dll   (线程安全) php_sqlsrv_52_nts_vc6.dll (非线程安全) vc6用于apache,vc9用于iis 2.修改php.ini extension=php_sqlsrv_52_ts_vc6.dll 3.下载sqlncli.msi,微软官方可以下 安装的时候提示是sql server 2008的,不过2005也是可以用的. 4

mysql/Oracle/mssql取前几条数据sql写法

如在ms sqlserver 用此语句:  代码如下 复制代码 select top 2 * from test01 Oracle的语句:  代码如下 复制代码 select * from (select rownum r ,* from test) ttwhere tt.r > 50 and tt.r <= 100; (最好用PLSQL游标来解决) DB2中:  代码如下 复制代码 select * from payment fetch first 5 row only --查前5条记录 

MySQL与MSSQl使用While语句循环生成测试数据的代码_Mysql

在MySQL中,使用While语句循环与SQL Server中有所不同,代码测试通过. MSSQL中使用while语句循环生成数据的方法: 示例代码: 复制代码 代码如下: declare @a int set @a = 1 while @a<25 begin INSERT INTO demotable (id,item1,item2) VALUES (@a,"abc","123") set @a = @a + 1 end MySQL中,使用while循环处理

mysql与mssql的md5加密语句

1. mysql的md5 mysql存在系统函数md5("xxxxx"); 2. mssql的md5 mssql不存在系统函数,RIGHT(sys.fn_VarBinToHexStr(hashbytes('MD5', CAST("xxxxx"))), 32);