源SQLServer的版本为2012,如何在不升级数据库版本到SQLServer2016的前提下通过AWS DMS CDC实现同步迁移?

0

【以下的问题经过翻译处理】 我们目前正在使用DMS进行迁移,只使用CDC的方式。目的是在回复时间点和当前数据库状态之间的时间段内复制更改,即使用AWS DMS在您启动批量加载时的时间点复制更改,以使源和目标系统保持同步。

我们已使用源端点将AWS DMS(仅CDC)配置为本地SQL Server 2012(标准版),并使用目标端点将其配置为AWS RDS MSSQL 2019(标准版)。通过查看AWS CDC前提条件文档https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.Prerequisites

在本地MSSQL 2012实例上运行以下查询会返回错误,参考:https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.Prerequisites

use uat_testdb
EXEC sys.sp_cdc_enable_db

Msg 22988,Level 16,State 1,Procedure sp\_cdc\_enable\_db,Line 14 [Batch Start Line 0]

此SQL Server实例为标准版(64位)。 更改数据捕获仅适用于企业,开发人员和企业评估版本,似乎仅支持从MSSQL 2016 SP1及更高版本的标准版开始的持续复制CDC功能。

请问是否有其他解决方法可以在不升级本地MSSQL Standard Edition 2012到Std Edition 2016 / Enterprise Edition的情况下完成CDC?

然而,即使不在本地DB实例上应用此CDC前提条件配置设置,我们仍然可以看到在本地和RDS DB实例之间的持续复制统计信息,这些统计信息显示插入和删除的同步更新。 (根据测试目标RDS DB实例仅进行本地源db的插入和删除操作的同步更新,而不是任何更新)

请帮忙确认这个问题。

profile picture
专家
已提问 8 个月前18 查看次数
1 回答
0

【以下的回答经过翻译处理】 将SQL Server作为源头配置在本地数据库中,可以使用SQL Server复制。请注意,如果您计划迁移没有主键的表,则需要注意ms-cdc。作为解决方法,可能并不一定可行,您可以为没有主键的表添加临时主键。迁移完成后,可以删除这些额外的主键。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则