SQLServer CDC和发布订阅一起开启,CT表捕获不到变更数据记录

jeogegxs 2019-06-15 11:45:44
各位好:
SQLServer2014上原先已开启了发布订阅功能,后来因排查问题需要启用了数据库CDC功能并启用了某张表的CDC进行数据变化跟踪。配置完成后,我手动update了该表一行数据,发现CT表中没有跟踪到任何数据。但我先前在另一台没有使用发布订阅的数据库上启用CDC可以正常跟踪到数据变化。请问同时启用发布订阅和CDC的场景下,如何配置才能跟踪到数据变化呢?先谢谢了!

...全文
1970 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pinble 2021-11-16
  • 打赏
  • 举报
回复 1

这个是“发布订阅”的问题,与CDC没有关系。

只要开启了“发布订阅”,涉及“发布订阅”的所有数据表的Update语句在内部处理都变成了“先Delete数据再Insert数据”,所以根本就捕获不到数据的变化情况。

你把“发布订阅”关闭后CDC就起作用了,至于什么会这样,目前真搞不清楚。

因为我是查看了Sqlserver的事物日志文件内容后才发现它是这样处理的,日志中就没有Update语句的执行,所有执行Update语句的地方都换成了“Delete和Insert”。

weixin_42058629 2020-09-14
  • 打赏
  • 举报
回复
你好,请问找到解决办法了吗,我的SQL代理也开了,CDC的作业还是没有生成,这个和发布订阅有关系吗
扛枪蚂蚁 2020-06-12
  • 打赏
  • 举报
回复
^_^,还想问你答案的,五分钟后找到答案了,你应该是没有开启SqlServer引擎 开启方式如下:网上好多都说开CDC,关于引擎开启提都没提过 https://blog.csdn.net/u011511684/article/details/24475497
扛枪蚂蚁 2020-06-12
  • 打赏
  • 举报
回复
我也遇到过这个问题,有解决方案了么

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧