我已经使用以下步骤启用CDC:
exec sys.sp_cdc_enable_db;
exec sys.sp_cdc_enable_table
@source_schema = N'dbo',
@source_name = N'table_name',
@role_name = N'CDC_Access',
@supports_net_changes = 1;我可以看到,在cdc.db_name_capture系统表中创建了一个CT表;Server已经打开,并且我可以看到已经创建并正在运行该作业。
但是,尽管正在填充table_name表,但我从未在CT表中看到任何内容。我在正在更新的同一个数据库中为它们启用了CDC的其他表,CDC正在为它们捕获数据,并将其存储在为该特定表创建的CT表中。
为什么这一个表不会捕获数据,即使其他表是?
我在网上读到,这可能与事务日志变得太大有关,但我仍然有足够的驱动器空间(~2TB免费)。
我能做些什么来调试这个问题?
非常感谢,提前!)
编辑1
这是exec sys.sp_cdc_help_change_data_capture的输出。subscription_events是我遇到麻烦的桌子。

编辑2
这是exec sys.sp_cdc_help_jobs;的输出。

编辑3
这是select * from sys.dm_cdc_log_scan_sessions;的输出。

这是select * from sys.dm_cdc_errors;的输出

编辑4
运行select serverproperty('productversion')提供以下版本号:11.0.3401.0。
发布于 2014-05-19 20:52:28
做以下工作:
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1; EXEC sp_replflush;https://stackoverflow.com/questions/23744083
复制相似问题