博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据仓库之启用cdc
阅读量:6307 次
发布时间:2019-06-22

本文共 1485 字,大约阅读时间需要 4 分钟。

 

准备工作: 先将sqlservere 代理服务启动

 

USE [MyDB];GOEXECUTE sys.sp_cdc_enable_db; --启用数据库对CDC的支持GO -- 设置别名 @capture_instance = N'qy_zzqk', 生成你的cdc捕获表为 cdc.qy_zzqk_CT , 如果不设置@capture_instance,表名为 cdc.opr__tab_qy_zzqk_CTEXEC sys.sp_cdc_enable_table 'opr_', 'tab_qy_zzqk', @role_name = NULL,@capture_instance = N'qy_zzqk', @supports_net_changes =0; --启用某个表对CDC的支持GO

 

 

关闭 某个 cdc捕获 

EXEC sys.sp_cdc_disable_table 'opr_', 'tab_zbb_xmbjxx','All'

 

 

 如果只只捕获一部分字段

EXEC sys.sp_cdc_enable_table 'opr_', 'tab_zbb_xmbjxx', @role_name = NULL, @supports_net_changes =0,@capture_instance = N'zbb_xmbjxx',  @captured_column_list ='bjbh,bjrq,timeflag,wcbjsj'  --启用某个表对CDC的支持 GO

 

 

对整个库进行cdc关闭

EXEC sys.sp_cdc_disable_db

 

 

2.cdc启用以后,可以在系统表中看到有一个对应表 [cdc].[zbb_xmbjxx_CT]

编写指定的时间查询, 以查询对应时间段的数据

 

create PROC GetCDCResult(@begin_time DATETIME,@end_time DATETIME,@cdcTableName varchar(100))ASDECLARE @from_lsn binary(10), @to_lsn binary(10);SELECT @from_lsn = sys.fn_cdc_map_time_to_lsn('smallest greater than or equal', @begin_time);SELECT @to_lsn = sys.fn_cdc_map_time_to_lsn('largest less than or equal', @end_time);declare @sqlStr nvarchar(2000)set @sqlStr = N'SELECT * FROM [cdc].['+@cdcTableName+'] WHERE __$start_lsn BETWEEN @from_lsn AND @to_lsn';exec sp_executesql @sqlStr,N'@from_lsn binary(10),@to_lsn binary(10)',@from_lsn,@to_lsn ;go

 

 

--调用该存储过程EXEC GetCDCResult '2001-01-1','2020-01-01','zbb_xmbjxx_CT'

 

关于 operation  1删除; 2新增; 3修改之前;4修改之后

 

cdc的信息是从数据库日志里面读取的, 获取的数据稍微延迟了一下.

 

转载于:https://www.cnblogs.com/mjxxsc/p/5546479.html

你可能感兴趣的文章
走红日本 阿里云如何能够赢得海外荣耀
查看>>
在市场营销中使用敏捷方法:过程、团队与成功案例
查看>>
新书问答:Agile Management
查看>>
苹果将iOS应用带入macOS
查看>>
react入门
查看>>
VUE高仿饿了么app
查看>>
针对Kubernetes软件栈有状态服务设计的思考
查看>>
你的可用性达标了吗?云端业务性能高可用的深度实践
查看>>
linux yum清缓存脚本
查看>>
基于epoll封装的事件回调miniserver
查看>>
天猫高管全面解读大快消2018新零售打法
查看>>
idea springboot热部署无效问题
查看>>
第八章 进程间通信
查看>>
HttpSession接口中的方法(Jsp中的session类的用法)
查看>>
「镁客早报」AI可预测心脏病人死亡时间;机器人开始在美国送外卖
查看>>
MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
查看>>
物联网全面升级,十年内推动工业进入智能化新阶段
查看>>
spring-通过ListFactory注入List
查看>>
一种基于SDR实现的被动GSM嗅探
查看>>
阿里云ECS每天一件事D1:配置SSH
查看>>