290
手机大全
从本地SQL Server迁移到RDS for SQL Server__数据迁移_用户指南_数据传输-阿里云
使用数据传输DTS可以将本地SQLServer实例的数据迁移到RDS For SQLServer实例。SQLServer迁移支持增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成SQLServer数据库的迁移工作。
本小节简单介绍使用DTS进行SQLServer->RDS For SQLServer数据迁移的任务配置流程。
迁移类型
对于SQL Server->RDS for SQL Server数据迁移,DTS支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:
结构迁移
DTS将迁移对象的结构定义迁移到目标实例。目前DTS支持结构迁移的对象有:表、视图、表触发器、同义词、SQL存储过程、SQL函数、plan guid、自定义类型、rule、default。
全量数据迁移
全量迁移将SQLServer实例的存量数据全部迁移到目标RDS实例。如果用户只进行全量数据迁移,那么迁移过程中本地SQLServer实例新增的业务写入不会被同步到目标RDS实例。
如果用户还选择了增量数据迁移,那么迁移过程中,本地SQLServer实例的增量写入数据会被同步到目标RDS实例。
迁移限制
- 迁移过程中,不支持DDL操作
- 结构迁移不支持assemblies、库级存储过程、service broker、全文索引、全文目录、分布式schema、分布式函数、CLR标量函数、CLR标值函数、内部表、聚合函数、系统 的迁移
- 如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败
- 增量迁移,只支持含有聚簇索引,且聚簇索引为唯一键的表
- 增量迁移,不支持 只更新大字段的update语句的同步
- 增量迁移,不支持含有计算列的表
- 一个增量迁移任务,只支持一个数据库的迁移。 如果同时有多个数据库需要进行增量数据迁移,那么需要创建多个迁移任务
迁移权限要求
当使用DTS进行SQLServer迁移时,不同迁移类型,对本地SQLServer数据库及目标RDS For SQLServer实例的迁移帐号权限要求如下:
迁移类型 | 结构迁移 | 全量迁移 |
---|---|---|
本地SQLServer实例 | select | select |
目的RDS实例 | 读写权限 | 读写权限 |
迁移流程
数据传输服务在进行SQLServer上云迁移时,为了解决对象间的依赖,提高迁移成功率。
结构对象及数据的迁移顺序如下:
- 进行结构对象 表、视图、同义词、自定义类型、rule、default、plan guid的迁移。
- 全量数据迁移。
- 进行结构对象 SQL存储过程、SQL函数、触发器、外键的迁移。
- 增量数据迁移。
如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移100%,全量迁移100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3)中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。
迁移任务配置
下面详细介绍使用DTS将本地的SQLServer迁移到RDS forSQLServer的任务配置流程。
RDS实例数据库创建
在数据迁移过程中,如果待迁移的数据库在目标RDS实例中不存在,那么DTS自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。
- 数据库名称不符合:RDS定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长64个字符)。
- 待迁移数据库,在Oracle跟目标RDS实例中名称不同。
对于这两种情况,用户需要在配置迁移任务之前,先在RDS控制台完成数据库创建。具体参考RDS数据库创建流程RDS使用手册。
迁移帐号创建
迁移任务配置,需要提供本地SQLServer数据库及目标RDS实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求。
如果本地SQLServer实例迁移账号尚未创建,那么您可以参考SQLServer User创建,创建满足权限要求的迁移账号。
如果目标RDS实例迁移账号创建,那么您可以参考 RDS账号创建流程,创建对待迁移数据库有读写权限的迁移账号。
其他准备工作
如果您需要进行不停机迁移,那么还需要设置本地SQLServer日志格式为full。
如果本地SQLServer数据库的日志格式不为full,那么需要通过下面两个步骤设置:
- 在源数据库执行: alter database database_name set recovery_model_desc=’full’, 其中database_name为需要迁移的数据库名。
- 为了保证开启完整日志生效,需要在源数据库进行一次日志备份,在源数据库执行:BACKUP LOG database_name to DISK=backup_place WITH init , 其中 database_name 为待迁移的数据库名,backup_place为备份文件存储的地址。
迁移任务配置
当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。
- 进入数据传输DTS控制台,点击右上角的创建迁移任务,开始任务配置。
本地SQLServer及目标RDS实例连接信息配置。
在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:
任务名称
默认情况下,DTS为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。
源实例连接信息
- 实例类型:选择 有公网IP的自建数据库
- 数据库类型:选择 SQLServer
- 主机名或IP地址:配置本地SQLSerever数据库访问地址,这个地址必须为公网访问方式
- 端口:SQLServer实例监听端口
- 数据库账号:SQLServer实例访问账号
- 数据库密码:上面SQLServer访问账号对应的密码
目标RDS实例连接信息
- 实例类型:选择 RDS实例
- RDS实例ID: 配置迁移的目标RDS实例的实例ID。 DTS支持经典网络、VPC网络的RDS实例
- 数据库账号:RDS实例的连接账号
- 数据库密码:上面数据库账号对应的数据库密码
迁移对象及迁移类型配置。
迁移类型
DTS支持 结构迁移、全量数据迁移、增量数据迁移。
如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。
如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。
迁移对象
迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。默认情况下,对象迁移到RDS实例后,对象名跟本地MySQL实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用DTS提供的对象名映射功能,详细使用方式可以参考库表列映射。
当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤
预检查。
在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。
如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。
启动迁移任务。
当预检查通过后,可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。
增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。
至此,完成将本地SQLServer数据库到RDS For SQLServer的数据迁移任务配置。
最后更新:2016-11-23 16:03:55
上一篇:
从本地MySQL迁移到RDS for MySQL__数据迁移_用户指南_数据传输-阿里云
下一篇:
SQL Server不停机迁移__数据迁移_用户指南_数据传输-阿里云
修改安全组属性__安全组_用户指南_云服务器 ECS-阿里云
图片水印__图片处理指南_对象存储 OSS-阿里云
阿里云栖大会将发布“量子技术” 三股今日将率先受益
服务认证失败__Ali-Tomcat 问题_开发常见问题_产品常见问题_企业级分布式应用服务 EDAS-阿里云
GetCursor__日志库相关接口_API-Reference_日志服务-阿里云
联系我们__联系方式_业务实时监控服务 ARMS-阿里云
滑动验证Android/iOS使用说明__使用手册_数据风控-阿里云
公共请求头__API-Reference_日志服务-阿里云
开始混流操作__直播流操作接口_API 手册_CDN-阿里云
打造数据人才高地,阿里云大数据学院落户西海岸新区
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云