千家信息网

如何使用DMS将AWS的RDS迁移到Azure SQL

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,如何使用DMS将AWS的RDS迁移到Azure SQL?相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。首先来看下,我们之前已经把DMS创建好了,接下来只
千家信息网最后更新 2024年11月26日如何使用DMS将AWS的RDS迁移到Azure SQL

如何使用DMS将AWS的RDS迁移到Azure SQL?相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

首先来看下,我们之前已经把DMS创建好了,接下来只需要在DMS中创建迁移任何即可,当然在这之前,我们需要确保AWS的RDS是可以访问的,并且在RDS中创建一些测试用的数据,因为RDS没有办法访问本地的数据文件,所以之前生成测试数据的脚本也没办法用了,我们只能手动建一些测试数据了


测试数据建好之后,来到DMS中,可以直接创建一个migration project, migration project会定义迁移的源和目标



可以看到选项里就可以选择AWS RDS for SQL Server,对应的目标选择Azure SQL,这里可以选择的事online迁移,也就是持续性的迁移,可以支持增量,有些迁移场景是不支持增量的


输入源库及目标库的信息


要注意的是,不管是RDS还是Azure SQL,如果想让DMS可以访问的话,都需要添加对应的防火墙规则,DMS的IP其实当访问受限的时候就会有提示提醒你DMS的IP是什么



Azure SQL在firewall里添加即可,AWS RDS可以在sg里添加



可以看到迁移时可以选择源库和对应的目标库



DMS对于迁移的要求是比较严格的,源库中的表必须在目标库存在,而且字段这些也都要求一样,必须有主键,目标表必须是空的等等,让人感觉会很麻烦,但是其实有简单的办法,之后会有介绍,最重要的一点是必须开启CDC


CDC首先要在库级别开启,运行以下命令即可

exec msdb.dbo.rds_cdc_enable_db Sample


之后在表级别开启

USE Sample

EXEC sys.sp_cdc_enable_table

@source_schema = N'dbo',

@source_name = N'test_table',

@role_name = NULL,

@supports_net_changes = 1



然后这里才能不提示CDC未开启


确认之前输入的信息


可以看到已经在准备迁移了



我们尝试在源库增加数据



在DMS中就可以看到在同步数据,这是一个持续的过程,只要有新数据就会同步,但是请注意,如果有新表的话,是不会自动同步的,因为DMS迁移时会由用户选择同步哪些表


如果确认不再需要同步了,那么可以选择cutover



迁移完成后,还可以看到对应的report




可以看到使用还是比较简单的,主要在迁移时对于目标库有很多限制条件,包括主键,表必须都存在等。

到此为止,成功实现使用DMS将AWS的RDS迁移到Azure SQL,如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道。

0