SQL SERVER 2008 异步捕获表数据修改

东那个升 2010-05-20 08:52:29
加精
SQL SERVER 2008 异步捕获表数据修改



写的不对的地方请各位指正,写的也比较乱。讲究这看吧。^ ^

/*

SQL SERVER 2008 异步捕获表数据修改





SQL server 2008为异步跟踪所有发生在用户表上的数据修改提供了内建的方法,

而不需要编写自定义的触发器或者查询,变更数据捕获拥有最小性能开销,可以

用于其它数据源的持续更新,例如,将OLTP数据库中的数据变更迁移到数据仓库

数据库.下面我们演示该功能.





*/





/*

1 建立测试数据库

*/

IF NOT EXISTS (SELECT NAME FROM SYS.databases WHERE name='CDC_TEST_DB')



BEGIN

CREATE DATABASE CDC_TEST_DB

END



/*

2 在把CDC增加到CDC_TEST_DB数据库的表中,首先应该验证数据库是否启用了数据

捕获

*/



--验证是否开启

SELECT IS_CDC_ENABLED FROM SYS.databases WHERE name='CDC_TEST_DB'

/*

IS_CDC_ENABLED

--------------

0



(1 行受影响)

*/



--启用数据变更,在CDC_TEST_DB数据库中执行SYS.SP_CDC_ENABLE_DB存储过程:



USE CDC_TEST_DB

GO



EXEC sys.SP_CDC_ENABLE_DB

GO



/*

CDC_TEST_DB开启数据捕获后,你将会在CDC_TEST_DB->安全性->架构下面看到新

建立了一个CDC架构.



同样在CDC_TEST_DB会建立一些CDC架构的下的系统表:

cdc.captured_columns

返回指定的跟踪列



cdc.change_tables

返回启用CDC的表.使用sys.sp_cdc_help_change_data_capture比直接查询好.



cdc.ddl_history

返回每个表再启用CDC后的DDL变更.可以使用sys.sp_cdc_get_ddl_history代替查询该表.



cdc.index_columns

返回启用CDC的表的相关索引列.同样用sys.sp_cdc_help_change_data_capure来获取比较好.



cdc.lsn_time_mapping

为每个在更改表中存在行的事务返回一行.该表用于在日志序列号(LSN) 提交值和提交事务的时间之间建立映射.

要避免直接查询该表,使用sys.fn_cdc_map_lsn_to_time和sys.fn_cdc_map_time_to_lsn函数.



*/



--下面再验证看看是否已经开启数据库开启

SELECT IS_CDC_ENABLED FROM SYS.databases WHERE name='CDC_TEST_DB'



/*

IS_CDC_ENABLED

--------------

1



(1 行受影响)

*/

......
内容比较多下面的地址阅读

博文地址:http://blog.csdn.net/ldslove/archive/2010/05/20/5612248.aspx

*/


...全文
1557 113 打赏 收藏 转发到动态 举报
写回复
用AI写文章
113 条回复
切换为时间正序
请发表友善的回复…
发表回复
zq32481097 2010-05-28
  • 打赏
  • 举报
回复
卡萨队将阿斯大量亏损境地
zhangpeng84 2010-05-27
  • 打赏
  • 举报
回复
guanmo +学习
smart_ljh 2010-05-27
  • 打赏
  • 举报
回复
看了,帮顶
shihunjiangjie 2010-05-26
  • 打赏
  • 举报
回复
学习下,多多交流
shihunjiangjie 2010-05-26
  • 打赏
  • 举报
回复
学习下,多多交流
ljsheng 2010-05-26
  • 打赏
  • 举报
回复
看不.//
cjwsln 2010-05-26
  • 打赏
  • 举报
回复
好好学习天天上
luxi0194 2010-05-26
  • 打赏
  • 举报
回复
学习了。、
happyeverydayzhh 2010-05-26
  • 打赏
  • 举报
回复
太好了,又可以学到新东西。哈哈
cmterry0215 2010-05-26
  • 打赏
  • 举报
回复
不错的帖子
linxikai 2010-05-25
  • 打赏
  • 举报
回复
嗯 我感觉很好呢
corey10 2010-05-25
  • 打赏
  • 举报
回复
看看...
东那个升 2010-05-25
  • 打赏
  • 举报
回复
自己翻页。。。。。。。。。。
神之泪花 2010-05-25
  • 打赏
  • 举报
回复
h_sn999 2010-05-25
  • 打赏
  • 举报
回复
学习 !!
yunigongwu 2010-05-25
  • 打赏
  • 举报
回复
长见识了!
zxg276779289 2010-05-25
  • 打赏
  • 举报
回复
学习了
netzhouxg 2010-05-25
  • 打赏
  • 举报
回复
我刚好需要
markcoko 2010-05-25
  • 打赏
  • 举报
回复
楼主很好很强大。
gaoxingqu 2010-05-24
  • 打赏
  • 举报
回复
好 不错 值得
加载更多回复(87)

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧