根据AWS DMS文档,如果要在CDC模式下进行持续复制,则需要将mssql数据库的恢复模式设置为FULL。这是因为DMS需要访问事务日志(Transaction Log)来捕获对表的变更并进行复制。
如果不将数据库恢复模式设置为FULL,则在CDC中启用表级别后,DMS任务会立即停止,并显示错误消息:“The database has not been set up properly for CDC.”。
在设置CDC之前,可以使用以下MSSQL脚本检查数据库的恢复模式:
SELECT [name], [recovery_model_desc] FROM sys.databases
在恢复模式设置为SIMPLE或BULK_LOGGED时,可以使用以下脚本将其更改为FULL:
ALTER DATABASE [database_name] SET RECOVERY FULL;
请注意,将恢复模式更改为FULL会增加事务日志的大小,并可能导致备份和恢复的时间变长,因此应评估其影响。
示例:
下面是将恢复模式更改为FULL的示例脚本:
USE [master] GO ALTER DATABASE [database_name] SET RECOVERY FULL GO