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)

时间: 2024-07-30 10:37:48

CDC变更数据捕获的相关文章

CDC 变更数据捕获技术的问题及局限

现在的cdc功能仍然还是会让你失望的. 优点就不说了,就是联机丛书里面写的那些.缺点如下:1.目前为止cdc无法与日志文件关联,更多有用的信息,仍需要进行前后数据比对获取.(一般仍会使用触发器进行替代记录)2.目前为止cdc可以记录DDl的相关处理,但是更多的信息,如记录IP等用户信息仍然需要另外的代码支持. select * into PT_CUSTOMER_INFO_BAK from PT_CUSTOMER_INFO 类似oracle的create table as select * fro

SqlServer 变更数据捕获(CDC)

变更数据捕获(Change Data Capture ,简称 CDC)记录 SQL Server 表的插入.更新和删除活动.使用变更数据捕获可以更有效跟踪表对象DML历史操作,对 ETL 等数据转移也非常有用. 变更数据捕获适用版本: SQL Server 2008 以上的 Enterprise Edition.Developer Edition 和 Evaluation Edition 变更数据捕获原理: 变更数据捕获的更改数据源为 SQL Server 事务日志.当对表启用变更数据捕获时,系

SQL Server 变更数据捕获(CDC)

原文:SQL Server 变更数据捕获(CDC) 标签:SQL SERVER/MSSQL SERVER/数据库/DBA/字段/对象更改 概述 变更数据捕获用于捕获应用到 SQL Server 表中的插入.更新和删除活动,并以易于使用的关系格式提供这些变更的详细信息.变更数据捕获所使用的更改表中包含镜像所跟踪源表列结构的列,同时还包含了解所发生的变更所需的元数据. 对表开启了变更捕获之后,对该表的所有DML和DDL操作都会被记录,有助于跟踪表的变化. 测试环境: SQL SERVER 2008

SQL Server 2008新增的变更数据捕获和更改跟踪

本文主要介绍SQL Server中记录数据变更的四个方法:触发器.Output子句.SQL Server 2008中新增的变更数据捕获(Change Data Capture 即CDC)功能.同步更改跟踪.其中后两个为SQL Server 2008所新增. 一.触发器 在SQL Server的早期版本中,如果要记录某个表或视图的Insert/Update/Delete操作,我们可以借助触发器(Trigger)(http://msdn.microsoft.com/zh-cn/library/ms1

在SSIS 2012中使用CDC(数据变更捕获)

最新项目稍有空隙,开始研究SQL Server 2012和2014的一些BI特性,参照(Matt)的一个示例,我们开始体验SSIS中的CDC(Change Data Capture,变更数据捕获). 注:如果需要了解关于SQL Server 2008中的CDC,请看这里http://www.cnblogs.com/downmoon/archive/2012/04/10/2439462.html),本文假定读者对CDC的工作方式已有所了解.^_^. 我们分三步完成实例: 1.准备基础数据: 2.设

SQL Server 之 - 变更数据跟踪 1

某些应用程序(比如数据仓库系统)十分依赖于源系统的变更数据识别功能,它们期望源系统能够提供一种高效低识别变更数据的能力.在SQLServer 2008之前并没有原生态的解决方案,开发人员不得不通过使用触发器.时间戳以及额外的表来实现该功能,在SQL Server2008之后,数据库提供了两种原生态的特性:Change Tracking(变更追踪)及Change Data Capture(变更数据捕获). 功能对比 简单来讲,所谓变更可以简化为两个问题:①变更有没有发生以及变更的类型:②数据从什么

CDC-更改数据捕获存储过程 (Transact-SQL)-学习

背景: 在SQLServer2008之前,对数据变更的捕获通常使用触发器.时间戳等低效高成本的功能来实现,所以很多系统都没有做数据变更或者仅仅对核心表做监控. 适用环境: 仅在SQLServer2008(含)以后的企业版.开发版和评估版中可用. 官方介绍: 更改数据捕获存储过程 (Transact-SQL) 变更数据捕获使得在启用表上发生的数据操纵语言 (DML) 活动的历史记录能够以方便的关系格式提供.使用以下存储过程可以配置变更数据捕获.管理变更数据捕获代理作业和为更改数据使用者提供当前元数

ODI利用goldengate实现增量数据捕获

ODI利用goldengate实现增量数据捕获 上个月,Oracle发布了ODI的最新版本10.1.3.6_02,其中增加了针对采用goldengate获取源数据库增量变化的知识模块,这样当系统需要实时数据仓库时,我们从源数据库抽取增量数据,就完全可以利用goldengate从数据库的日志中抽取,避免了对源数据库系统的影响,以前采用streams或者logminer抽取增量时,需要在源数据库部署stream,需要DBA权限,很多管理员都有抵触情绪,怕影响生产系统,goldengate在源数据库中

PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获--补充

荒废了一个多月了,重新捡起来,手生了不少.发现在<4.1下>的文章里没有 提到pcap库,实在是不应该. 在网络数据分析的工具中,tcpdump绝对是大名鼎鼎,tcpdump底层是libpcap库,由C语言编写. Pcapy模块则是基于libpcap的Python接口.pcapy在github上的项目地址为: https://github.com/CoreSecurity/pcapy. 下面我们来看看如何使用pcapy实现数据包的捕获. #!/usr/bin/python import pca