CDC变更数据捕获

本文介绍SQL Server中变更数据捕获(CDC)的功能及其使用方法,包括如何启用CDC、配置跟踪表以及通过CDC进行数据变更记录和增量加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值