当前位置: 首页 > news >正文

SQL Server开启变更数据捕获(CDC)

一、CDC简介

变更数据捕获(Change Data Capture ,简称 CDC):记录 SQL Server 表的插入、更新和删除操作。开启cdc的源表在插入、更新和删除操作时会插入数据到日志表中。cdc通过捕获进程将变更数据捕获到变更表中,通过cdc提供的查询函数,可以捕获这部分数据。

二、开启CDC的必要条件

1、sqlserver 2008 以上版本

2、需要开启sql代理服务

3、磁盘要有足够的空间,保存日志文件

4、表必须要有主键或者是唯一索引

三、开启数据库CDC步骤

step1 开启数据库代理

SQL Server工具里启动代理:

服务里开启自动启动:

step2 开启数据库CDC脚本

IF EXISTS (  SELECT 1 FROM master.dbo.sysprocesses WHERE program_name = N'SQLAgent - Generic Refresher')
BEGINSELECT @@SERVERNAME AS 'InstanceName', 1 AS 'SQLServerAgentRunning'
END
ELSE 
BEGINSELECT @@SERVERNAME AS 'InstanceName', 0 AS 'SQLServerAgentRunning'
END-- 查看数据库CDC开启状态
SELECT name, is_cdc_enabled FROM sys.databases WHERE is_cdc_enabled = 1;-- 开启数据库CDC
USE BAFY;
EXECUTE sys.sp_cdc_enable_db;-- 开启表CDCEXEC sys.sp_cdc_enable_table  @source_schema = 'bzk',  @source_name = 'YLZL_BZFY_GYHSDC',  @role_name = null; EXEC sys.sp_cdc_enable_table  @source_schema = 'bzk',  @source_name = 'YLZL_BZFY_JCXLNJZL',  @role_name = null; EXEC sys.sp_cdc_enable_table  @source_schema = 'bzk',  @source_name = 'YLZL_BZFY_JXYXY',  @role_name = null; EXEC sys.sp_cdc_enable_table  @source_schema = 'bzk',  @source_name = 'YLZL_BZFY_SXHDCX',  @role_name = null; EXEC sys.sp_cdc_enable_table  @source_schema = 'bzk',  @source_name = 'YLZL_BZFY_YZXCB',  @role_name = null; -- 查看表cdc开启状态
SELECT name, is_tracked_by_cdc FROM sys.tables WHERE name like 'YLZL_%';

http://www.lryc.cn/news/149419.html

相关文章:

  • 八、性能测试
  • 景芯SoC 芯片全流程培训
  • 目标检测后的图像上绘制边界框和标签
  • Leetcode: 1. 两数之和 【题解超详细】
  • PHP 通过 Redis 解决并发请求的操作问题
  • 浅谈信息论和信息编码
  • 【测试】笔试02
  • 公司内部网段多管控乱,该如何规范跨网文件传输交换?
  • Ceph入门到精通-OSD waring 设置建议
  • 软件测试工程师如何快速理解业务?
  • 【教程】部署apprtc服务中安装google-cloud-cli组件的问题及解决
  • C++——shared_ptr:make_shared的用处,与shared_ptr直接构造的区别
  • 【网络安全带你练爬虫-100练】第17练:分割字符串
  • Unity 之ToolTip的用法
  • xsschallenge通关(11-15)
  • Kubernetes技术--k8s核心技术集群的安全机制RBAC
  • 【JavaSE】String类
  • DBMS Scheduler设置重复间隔
  • windows的redis配置sentinel
  • NetMarvel机器学习促广告收益最大化,加速获客
  • Spring-5.0.x源码下载及本地环境搭建
  • go中的切片
  • C++笔记之单例通过GetInstance传递参数
  • 1688API技术解析,实现获得1688商品详情
  • 【Java 动态数据统计图】动态X轴二级数据统计图思路Demo(动态,排序,动态数组(重点推荐:难)九(131)
  • C#将text文本中的单双行分开单独保存
  • 深入理解 Go 语言中的 iota
  • 【力扣】55、跳跃游戏
  • 个人与公司合作,怎么代开发票?有哪些优惠政策?
  • 什么是计算机视觉,计算机视觉的主要任务及应用