使用数据传输服务(DTS)将本地数据库迁移到 阿里云的云数据库RDS,可以实现应用不停服务的情况下,平滑完成数据库的迁移工作。接下来我们将学习下如何使用DTS将本地数据库迁移到RDS上。
背景
DTS 支持 SQL Server 数据结构迁移和全量迁移。
1.DTS支持结构迁移的对象有:表、视图、表触发器、同义词、SQL 存储过程、SQL 函数、自定义类型、plan guid、rule、default。
2.全量迁移 DTS 会将本地数据库迁移对象的数据全部迁移到目标实例。如果在迁移过程中有增量更新的话,这些增量不会被迁移到目标库。所以建议在业务无写入时,使用 DTS 进行全量数据迁移。
迁移限制
将本地数据库迁移到 RDS 上有以下限制:
1.迁移过程中,不支持 DDL 操作
2.结构迁移不支持 assemblies、库级存储过程、service broker、全文索引、全文目录、分布式 schema、分布式函数、CLR 标量函数、CLR 标值函数、内部表、聚合函数和系统的迁移
3.如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败
操作步骤
注:在正式迁移之前,需要先在本地数据库和RDS实例中创建迁移帐号,并在RDS实例中创建要迁移的数据库,并将要迁移的数据库的读写权限授权给迁移帐号。不同的迁移类型需要不同的权限,如下表所示。

1.在本地数据库中创建迁移账号

2.在本地数据库中给迁移账号授权,本地数据库中迁移账号的权限

3. 在 RDS 管理控制台 上单击【迁移数据库】进入DTS,如下图所示。

4.单击 【建在线迁移任务】进入 创建迁移任务 页面,如下图所示。

5.输入任务名称、本地数据库信息和目标数据库信息,单击【授权白名单并进入下一步】如下图所示。

6.择迁移类型,并在【迁移对象 】选择要迁移的对象,单击 > 将要迁移的对象放入【已选择 】,单击 【检查并启动】如图所示。

如果要修改迁移对象在目标数据库上的名字,可以在 已选择 列表右侧单击 编辑 ,修改已选择的对象名称。
7.系统显示预检查结果,如下图所示。

8.单击检测结果为失败的检测项后的 !,查看失败详细信息,根据失败详细信息完成错误排查。
9.错误排查完毕后,在 迁移任务列表 页面,选择当前迁移任务,单击【启动】如下图所示

10.系统预检查通过后,单击【确定】,自动进行迁移任务,如下图所示。

注:为了保证本地数据库安全,请在数据迁移完成后,删除本地数据库和 RDS 实例中的迁移帐号。
参考