如何将本地数据库迁移到数据库上?

使用数据传输服务(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 实例中的迁移帐号。


参考