详细解答可以参考官方帮助文档
使用 数据传输服务 DTS 可以将本地 SQL Server 数据库实例的数据迁移到 RDS for SQL Server 实例。SQL Server 迁移支持增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 SQL Server 数据库的迁移工作。
本小节简单介绍使用数据传输服务 DTS(以下简称 DTS) 进行 SQL Server->RDS for SQL Server 数据迁移的任务配置流程。
对于 SQL Server->RDS for SQL Server 数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:
结构迁移
DTS 将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、表触发器、同义词、SQL 存储过程、SQL 函数、plan guid、自定义类型、rule、default。
全量数据迁移
全量迁移将 SQL Server 实例的存量数据全部迁移到目标 RDS 实例。如果您只进行全量数据迁移,那么迁移过程中本地 SQL Server 数据库实例新增的业务写入不会被同步到目标 RDS 实例。
如果您还选择了增量数据迁移,那么迁移过程中,本地 SQL Server 数据库实例的增量写入数据会被同步到目标 RDS 实例。
增量迁移过程中支持同步的 DDL 操作及其限制条件(在括号内说明)包括:
当使用 DTS 进行 SQL Server 迁移时,不同迁移类型,对本地 SQL Server 数据库实例及目标 RDS for SQL Server 实例的迁移账号权限要求如下:
迁移类型 | 结构迁移 | 全量迁移 | 增量迁移 |
---|---|---|---|
本地 SQLServer 数据库实例 | select | select | sysadmin |
目的 RDS for SQL Server 实例 | 读写权限 | 读写权限 | 读写权限 |
数据传输服务在进行 SQL Server 上云迁移时,为了解决对象间的依赖,提高迁移成功率。
结构对象及数据的迁移顺序如下:
如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移100%,全量迁移100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3)中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。待迁移状态显示为“迁移完成”后,表示全量数据迁移任务已经完成,这时可以安全地手动结束任务。
下面详细介绍使用 DTS 将本地的 SQL Server 迁移到 RDS for SQL Server 的任务配置流程。
在数据迁移过程中,如果待迁移的数据库在目标 RDS for SQL Server 实例中不存在,那么 DTS 自动会创建同名的数据库。但是对于如下两种情况,您需要在配置迁移任务之前,手动创建数据库。
对于这两种情况,您需要在配置迁移任务之前,先在 RDS 控制台完成 RDS for SQL Server 实例中数据库的创建。具体参考 RDS 数据库创建流程 RDS 使用手册。
迁移任务配置,需要提供本地 SQL Server 数据库实例及目标 RDS 实例的迁移账号。迁移账号所需权限详见上文的迁移权限要求。
如果本地 SQL Server 数据库实例的迁移账号尚未创建,那么您可以参考 SQL Server User 创建,创建满足权限要求的迁移账号。
如果目标 RDS for SQL Server 实例迁移账号尚未创建,那么您可以参考 RDS 账号创建流程,创建对目标 RDS for SQL Server 实例有读写权限的迁移账号。
如果您需要进行不停机迁移,那么还需要设置本地 SQL Server 数据库实例日志格式为 full。
如果本地 SQL Server 数据库实例的日志格式不为 full,那么需要通过下面两个步骤设置:
当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。
本地 SQL Server 数据库实例及目标 RDS for SQL Server 实例连接信息配置。
在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:
任务名称
默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。
源实例连接信息
目标 RDS 实例连接信息
迁移对象及迁移类型配置。
迁移类型
DTS 支持结构迁移、全量数据迁移、增量数据迁移。
如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。
如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。
迁移对象
迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。默认情况下,对象迁移到 RDS 实例后,对象名跟本地 SQL Server 数据库实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考库表列映射。
当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤
预检查。
在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。
如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。
启动迁移任务。
当预检查通过后,可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。
增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。
至此,完成将本地 SQL Server 数据库实例到 RDS for SQL Server 实例的数据迁移任务配置。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。