日期:2014-05-18  浏览次数:20597 次

SQL SERVER 2008 异步捕获表数据修改
SQL code
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

         */




------解决方案--------------------
SF.UP
------解决方案--------------------
up~~~~~~~~~~~~~
------解决方案--------------------

------解决方案--------------------
这个要收藏。
------解决方案--------------------
楼主很好很强大。
------解决方案--------------------
东升哥比较牛!!!!!!!!
------解决方案--------------------
学习学习.顶.
------解决方案--------------------
膜拜一下东升哥
------解决方案--------------------
膜拜一下东升哥again
------解决方案--------------------
顶一个
------解决方案--------------------
才放60分
------解决方案--------------------
csdn这blog太烂了,连T-sql加亮都没有。。