关于CDC功能的答疑

昨天在讲解SQL Server BI新特性的时候,提到了SQL Server 2008数据库引擎的一个增强,就是CDC(Change Data Capture):变更数据捕获。

看起来大家对这个功能都挺感兴趣,不少朋友提问。我整理一下有关的关键点

1. CDC的目的是什么?

CDC就是极大地方便了我们获取某个表数据更新情况的一个机制。它通过一个独立的进程,异步读取日志文件,而不是触发器的方式工作。而且它的数据是会持久化保存到一个系统表的。

image

2. CDC是不是SQL Server 2008特有的功能,对别的数据库或者早期版本是否起作用?

CDC是SQL Server 2008特有的功能,而且是企业版特有的功能。开发版也有该功能,但仅用于测试场合。

 

3. CDC读取日志,那么如何日志被截断了会怎么样?

如果某部分日志,CDC的进程还没有读取,那么在截断日志时就会忽略这个部分。

捕获进程是一个独立的,它随着代理服务启动而启动。两次扫描之间间隔5分钟。

 

4. 系统表中的数据是否会永久存在?

不会,它会被保留3天。会有一个清理的作业,每天晚上2点进行扫描。

 

最后,补充一点的是,CDC功能依赖Agent服务,因为它有两个操作都是通过作业来启动的。

posted @   陈希章  阅读(3342)  评论(3编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示