Azure SQL数据库迁移阿里云RDS SQLserver实践

 

 

一、背景

         由于尝试直接使用DTS工具迁移,从微软云迁移SQL数据库到RDS SQLserver时发现,DTS虽然能够连接到Azure SQL, 但是无法获取结构,主要由于Azure SQL是微软针对微软云定制的数据库版本。与原本的MSSQL server还是不一样的。为了方便大家能够顺利迁移。整理了导入导出的迁移方式.

 

二、Azure SQL 数据库迁移到RDS SQLserver实践步骤

 

1、         在阿里云控制台创建好目标数据库和登陆用户。

a)       记录下新建的数据库名称、登陆地址、登陆用户名、密码。

b)      登陆用户具有写入权限。

2、         购买一台ECS用于迁移,ECS要求

a)       绑定公网IP。

b)      4核4G的即可。

c)       OS是windows系统

d)      ECS与目标库最好买在同一个可用区或者VPC可以通过内网访问新建的目标数据库。

e)       建议按量购买,迁移完即释放

3、         在购买的ECS上安装SQL server的客户端工具(SSMS)。

a)       SSMS微软下载地址:https://msdn.microsoft.com/library/mt238290.aspx

b)      安装过程,双击可执行文件,全程默认安装即可。过程不再累述

4、         配置迁移过程。

a)       登陆ECS,启动SSMS

Azure SQL数据库迁移阿里云RDS SQLserver实践

b)      连接的新建的目标数据库

Azure SQL数据库迁移阿里云RDS SQLserver实践

登陆使用的信息,在步骤1 a)已经记录。点击连接登陆

c)      开始配置导入任务

Azure SQL数据库迁移阿里云RDS SQLserver实践

     

Azure SQL数据库迁移阿里云RDS SQLserver实践

填写数据源连接信息

Azure SQL数据库迁移阿里云RDS SQLserver实践


填写目标数据库连接信息

Azure SQL数据库迁移阿里云RDS SQLserver实践

Azure SQL数据库迁移阿里云RDS SQLserver实践

  

选择表的对应关系,也可以编辑字段的对应关系,可以预览迁移后的数据,一般都是同名对应,如果目标创建的表结构,自动同名对应也可以自定义对应关系,如果目标没有创建表结构,这里可以自动生成与原表结构一致。

Azure SQL数据库迁移阿里云RDS SQLserver实践

 列之间的映射关系可以自定义,默认同名对应。同时可以选择追加,还是删除目标表数据,重新导入。其中插入标示如果选中,代表如果源表中的标示是自动增长的,源表是什么值就插入目标表是什么值,如果不选中,默然重新生成标示。

Azure SQL数据库迁移阿里云RDS SQLserver实践

  预览迁移的数据如图,如果没有问题开始正式迁移

Azure SQL数据库迁移阿里云RDS SQLserver实践   

Azure SQL数据库迁移阿里云RDS SQLserver实践

Azure SQL数据库迁移阿里云RDS SQLserver实践

  如果正常到这里就完成了数据的迁移,如果有问题,在消息列会提供报错信息,根据报错信息进行调整即可。   

 

 

5、    数据迁移完了,还有一些脚本性的的代码没有迁移,比如存储过程、试图、自定义函数。迁移的方法就是连接到源库,生成存储过程、试图、自定义函数的脚本,拿到目标库执行,创建这些对象。另外执行计划,需要登录目标库重新创建即可。

生成迁移对象的脚本

Azure SQL数据库迁移阿里云RDS SQLserver实践

Azure SQL数据库迁移阿里云RDS SQLserver实践

选择生成的对象:

Azure SQL数据库迁移阿里云RDS SQLserver实践

选择存放位置和格式:

Azure SQL数据库迁移阿里云RDS SQLserver实践

Azure SQL数据库迁移阿里云RDS SQLserver实践

 

把生成的脚本,拿到目标库执行,注意脚本不能有操作系统表的行为,否则会超出RDS给提供的用户权限。如果存在建议应用实现这样的功能。

 

 

三、注意事项

a)       这种方式只适用于全量迁移,没有增量。

b)      停机时间取决于数据量的大小,如果停机时间较长,业务不可接受,可以考虑采用这种方式分批迁移数据,得需要业务的配合。

 

 

 

上一篇:linux常用命令


下一篇:MySQL数据库总结