sql-server - SQL CDC 中是否存在数据丢失的可能性?
问题描述
我在我的项目 SQL 数据库上启用了 CDC。是否存在 CDC 不起作用的情况。在这些情况下,是否有可能取回以前的跟踪数据?
解决方案
当然,他们应该在sys.dm_cdc_error DMV中记录前 32 个会话,这些会话可以在sys.dm_cdc_log_scan_sessions中找到
在某些情况下,您将无法获得不涉及CDC故障的跟踪数据:
- 该表未启用 CDC
- 更改数据后启用 CDC
- 您修剪更改表而不将它们存储在其他地方,例如审计服务器或存档它们(即每天运行的清理作业删除 > 4320 分钟前的条目)
- 您更改了在启用 CDC 时最初未标识为要捕获的源表(添加列)
- 您出现故障,无法备份尾日志。请注意,在捕获过程收集标记为要捕获的更改后,日志截断会进行。
- 更改表损坏
推荐阅读
- http - 关于 HSTS HTTP 标头语法
- amazon-web-services - AWS Codepipeline Github Webhook 未通过 cloudformation 注册
- r - 如何在ggplot2 R中绘制具有置信区间的几何平均值?
- c# - 如果我的 C# switch 表达式不是详尽的会发生什么?
- cypress - 我可以在一个“描述”中有多个“它”并使用 beforeEach
- prolog - prolog 如何使用回溯来寻找解决方案?
- xsl-fo - 数学。在下一个父项 XSLT 1.0 中从 anotehr 中减去一个子项
- c++ - 为什么我在编译模板类时遇到问题?
- powershell - 让结果不再显示GAC信息
- json - 将 XML 封装成 JSON 列表