您的位置:首页 > 其它

CDC变更数据捕获

2016-05-19 13:43 302 查看

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: