【问题标题】:Is there any chances of data loss in SQL CDC?SQL CDC 中是否存在数据丢失的可能性?
【发布时间】:2018-07-24 13:05:07
【问题描述】:

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

【问题讨论】:

标签: sql-server database database-administration


【解决方案1】:

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

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

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

【讨论】:

  • 如果 CDC 不起作用,是否有办法检索审计数据?
  • 如何对其进行审核?您是否为此在您的实例上设置了审核?您的问题的一个广泛答案是在更改之前将备份恢复到另一个实例,并将有问题的表与生产进行比较。当然,这不会包含与 CDC 关联的所有元数据。
  • 我的意思是,自从 CDC 遇到任何错误后,我们能否获得过去的任何更改跟踪数据?
  • 也许,这取决于我的回答中的#2 和#3,以及错误是什么。
猜你喜欢
  • 1970-01-01
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多