zoukankan      html  css  js  c++  java
  • CDC变更数据捕获

    CDC变更数据捕获

    (2013-03-20 15:25:52)
      分类: SQL

    SQL Server中记录数据变更的四个方法:触发器、Output子句、变更数据捕获(Change Data Capture )功能、同步更改跟踪。

    这里记录下cdc:
    变更数据捕获可记录应用于 SQL Server 表的插入、更新和删除活动。
    对数据库中的某张表启用变更数据捕获,例子:
    CREATE DATABASE test1
     
    USE test1
    CREATE TABLE [dbo].[WSTtestTBL](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [name] [nvarchar](20) NULL
    ) ON [PRIMARY]
     
    sp_cdc_enable_db --对当前数据库启用变更数据捕获
    SELECT is_cdc_enabled FROM sys.databases WHERE name='test1' -- 对数据库启用变更数据捕获成功
     
    sp_cdc_enable_table @source_schema='dbo', @source_name = 'WSTtestTBL', @role_name = 'cdc_role'--源表标识为跟踪的表(条件:启动SQLServerAgent服务)
     
    --EXECUTE sys.sp_cdc_help_change_data_capture --指定表的变更数据捕获配置信息
    --    @source_schema = N'dbo', 
    --    @source_name = N'WSTtestTBL';
    --GO
     
    insert into WSTtestTBL values('jiayiw')
    delete from WSTtestTBL WHERE name ='jiayiw'
    insert into WSTtestTBL values('wangshuting')
    UPDATE WSTtestTBL SET name='zhangjie' WHERE NAME='wangshuting'
    --SELECT * FROM WSTtestTBL
    select * from cdc.dbo_WSTtestTBL_CT 
     
    --__$operation=2的情况,表示新增
    --__$operation=3或者4,表示更新,3表示旧值,4表示新值
    --__$operation=1的情况,表示删除
     

    另外,还可以用cdc实现增量加载(SSIS)

  • 相关阅读:
    tomcat部署https
    Java程序内存的简单分析
    接口设计原则
    英语常用口语
    洛谷 P3956 棋盘
    洛谷 P1101 单词方阵
    二分查找模板(准确找定值)
    洛谷 P1892 [BOI2003]团伙
    浅谈二分的边界问题
    deque简单解析
  • 原文地址:https://www.cnblogs.com/lcword/p/5508383.html
Copyright © 2011-2022 走看看