SQL Server 2008 的CDC功能
2009-09-19 00:00:00 来源:WEB开发网核心提示: 有朋友可能会问到:CDC到底是怎么做到的呢? 下面这篇文章很详细地讲解到了该原理http://technet.microsoft.com/zh-cn/library/cc645937.aspx我总结几个重点1. 其实,它是有一个独立的进程的,SQL Server 2008 的CDC功能(3),它
有朋友可能会问到:CDC到底是怎么做到的呢?
下面这篇文章很详细地讲解到了该原理
http://technet.microsoft.com/zh-cn/library/cc645937.aspx
我总结几个重点
1. 其实,它是有一个独立的进程的。它是异步地读取日志文件。如果某部分更改没有被进程读到,那么此时日志截断也是没有效果的,很显然需要这样来保证。
2. net_changes是什么意思呢?说的是针对一行记录,如果有多个更改的话,那么以最后的一条为准。
3. 这个更改是不是会永远保存?不会的,它会定期清除的
捕获和清除作业都是使用默认参数创建的。将立即启动捕获作业。它连续运行,每个扫描周期最多可处理 1000 个事务,并在两个周期之间停顿 5 秒钟。清除作业在每天凌晨 2 点运行一次。它将更改表项保留三天(4320 分钟),可使用单个删除语句最多删除 5000 项。
图片看不清楚?请点击这里查看原图(大图)。
4. 如果启用了之后,修改了表的结构,会怎么样?
为适应固定列结构更改表,在为源表启用变更数据捕获后,负责填充更改表的捕获进程将忽略未指定进行捕获的任何新列。如果删除了某个跟踪的列,则会为在后续更改项中为该列提供 Null 值。但是,如果现有列更改了其数据类型,则会将更改传播到更改表,以确保捕获机制没有导致跟踪的列发生数据丢失。捕获进程还会将检测的跟踪表列结构的任何更改发送到 cdc.ddl_history 表。如果使用者希望得到下游应用程序中可能需要进行的调整的通知,请使用 sys.sp_cdc_get_ddl_history 存储过程。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接