SqlServer Change Data Capture CDC使用手册

1、CDC介绍

官网文档:什么是变更数据捕获 (CDC)? - SQL Server | Microsoft Learn

变更数据捕获(Change Data Capture ,简称 CDC)记录 SQL Server 表的插入、更新和删除活动。使用变更数据捕获可以更有效跟踪表对象DML历史操作,对 ETL 等数据转移也非常有用。

变更数据捕获适用版本:

SQL Server 2008 以上的 Enterprise Edition、Developer Edition 和 Evaluation Edition

变更数据捕获原理:

变更数据捕获的更改数据源为 SQL Server 事务日志。当对表启用变更数据捕获时,系统将生成一个与该表结构类似的副本。当对源表进行插入、更新和删除 时,在事务日志会记录相关操作信息。变更数据捕获代理使用异步进程读取事务日志,将相关操作结果应用到副本表(捕获实例表)中,这样就完成了对源表操作的记录跟踪。

其他用途:

CDC不单单用于同步数据,在数据记录上也有很大的作用,增删改查,修改时候会记录修改前修改后的值

2、开启CDC步骤

2.1、第一步: 数据库开启CDC功能

确保你的 SQL Server 版本支持 CDCCDC 在不同版本的 SQL Server 中可用性可能有所不同,因此请确保你正在使用支持 CDC 功能的版本。

官网文档:sys.sp_cdc_enable_db (Transact-SQL) - SQL Server | Microsoft Learn

在目标数据库上启用 CDC。你可以使用下面的 T-SQL 语句来启用 CDC

USE [Libby];

EXEC sys.sp_cdc_enable_db;

EXEC sys.sp_cdc_enable_db 是启用 SQL Server CDCChange Data Capture)功能的存储过程,执行该存储过程会在数据库中创建以下表格(表格在系统表中查看)

  1. cdc.captured_columns:保存启用 CDC 功能的表的列信息,包括列名、数据类型和是否为标识列等。
  2. cdc.change_tables:保存启用 CDC 功能的表的元数据信息,包括表名、模式名、CDC 表的名称和 CDC 表的架构等。
  3. cdc.ddl_history:保存对启用 CDC 功能的表所做的所有 DDL 更改的历史记录,包括更改类型、更改时间、更改用户和更改语句等。
  4. cdc.lsn_time_mapping:保存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值