如何使用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,如果还想学到更多技能或想了解更多相关内容,欢迎关注天达云行业资讯频道。