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)

  • 相关阅读:
    checkbox 实现单选效果(html)
    HDU-6850 Game
    牛客练习赛29----F 算式子
    牛客多校第二场 B Boundary
    D. Omkar and Circle
    【洛谷】P3306 [SDOI2013]---- 随机数生成器
    二次剩余
    【洛谷】--P2704 [NOI2001]炮兵阵地
    【洛谷】4310 绝世好题
    快速排序
  • 原文地址:https://www.cnblogs.com/lcword/p/5508383.html
Copyright © 2011-2022 走看看