Change Date Capture 常用操作和问题

--数据库上启用CDC
exec sp_cdc_enable_db

--CDCTest表上关闭CDC
exec sp_cdc_disable_table 'dbo','CDCTest',@capture_instance='all'

--CDCTest表上启用CDC
EXEC sp_cdc_enable_table 'dbo', 'CDCTest', @role_name = NULL, @supports_net_changes =1


--查询变更记录
declare @begin_lsn binary(10),@end_lsn binary(10)
select @begin_lsn=sys.fn_cdc_get_min_lsn('dbo_CDCTest')
select @end_lsn=sys.fn_cdc_get_max_lsn()
select * from cdc.fn_cdc_get_net_changes_dbo_CDCTest(@begin_lsn,@end_lsn,'all');
select * from MyTest.cdc.fn_cdc_get_all_changes_dbo_CDCTest(@begin_lsn,@end_lsn,'all');

--DDL变更查询
Select OBJECT_NAME(Source_Object_ID) As [Table Name],
            OBJECT_NAME(Object_ID) As [CDC Table Name],
                DDL_Command As [DDL Command],
            DDL_LSN As [Log Sequence Number],
            DDL_Time As [DateModified]
From CDC.ddl_history

几个问题:

--1.Enable后的所有列的值变更后 立刻能查到
--2.更改DDL,增加列后无法捕捉到
--3.使用Disable命令后,原有的跟踪信息被清除,同时可以记录下新的改动


求解:DDL变更后,如何能不禁用CDC而获得新增列的变更信息?


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值