首页 > 解决方案 > SQL CDC 中是否存在数据丢失的可能性?

问题描述

我在我的项目 SQL 数据库上启用了 CDC。是否存在 CDC 不起作用的情况。在这些情况下,是否有可能取回以前的跟踪数据?

标签: sql-serverdatabasedatabase-administration

解决方案


当然,他们应该在sys.dm_cdc_error DMV中记录前 32 个会话,这些会话可以在sys.dm_cdc_log_scan_sessions中找到

在某些情况下,您将无法获得不涉及CDC故障的跟踪数据:

  1. 该表未启用 CDC
  2. 更改数据后启用 CDC
  3. 您修剪更改表而不将它们存储在其他地方,例如审计服务器或存档它们(即每天运行的清理作业删除 > 4320 分钟前的条目)
  4. 您更改了在启用 CDC 时最初未标识为要捕获的源表(添加列)
  5. 您出现故障,无法备份尾日志。请注意,在捕获过程收集标记为要捕获的更改后,日志截断会进行。
  6. 更改表损坏

推荐阅读