WEB开发网
开发学院数据库MSSQL Server SQL Server 2008 的CDC功能 阅读

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

我总结几个重点

SQL Server 2008 的CDC功能

1. 其实,它是有一个独立的进程的。它是异步地读取日志文件。如果某部分更改没有被进程读到,那么此时日志截断也是没有效果的,很显然需要这样来保证。

2. net_changes是什么意思呢?说的是针对一行记录,如果有多个更改的话,那么以最后的一条为准。

3. 这个更改是不是会永远保存?不会的,它会定期清除的

捕获和清除作业都是使用默认参数创建的。将立即启动捕获作业。它连续运行,每个扫描周期最多可处理 1000 个事务,并在两个周期之间停顿 5 秒钟。清除作业在每天凌晨 2 点运行一次。它将更改表项保留三天(4320 分钟),可使用单个删除语句最多删除 5000 项。

SQL Server 2008 的CDC功能

SQL Server 2008 的CDC功能

图片看不清楚?请点击这里查看原图(大图)。

4. 如果启用了之后,修改了表的结构,会怎么样?

为适应固定列结构更改表,在为源表启用变更数据捕获后,负责填充更改表的捕获进程将忽略未指定进行捕获的任何新列。如果删除了某个跟踪的列,则会为在后续更改项中为该列提供 Null 值。但是,如果现有列更改了其数据类型,则会将更改传播到更改表,以确保捕获机制没有导致跟踪的列发生数据丢失。捕获进程还会将检测的跟踪表列结构的任何更改发送到 cdc.ddl_history 表。如果使用者希望得到下游应用程序中可能需要进行的调整的通知,请使用 sys.sp_cdc_get_ddl_history 存储过程。

上一页  1 2 3 

Tags:SQL Server CDC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接