我正在使用CDC函数fn_cdc_get_net_changes_ {InstanceName}并传递start_lsn,end_lsn的参数(二进制(10)和@row_filter_option的参数都是值'所有更新旧的'。
我需要这个的原因是,通常这样的函数只返回净结果,或者更新结果行的操作4而不是操作3结果行。
就我而言,出于审计目的,我需要操作3的结果。
返回的错误是: Msg 313,Level 16,State 3,Line 10 为过程或函数cdc.fn_cdc_get_net_changes_ ...提供的参数数量不足。
现在,如果我使用相同的开始和结束lsn值以及'全部'对于@row_filter_option,我得到每个操作4行的预期结果集。
Microsoft为此功能提供了以下材料:cdc.fn_cdc_get_all_changes_ (Transact-SQL)
我知道我必须遗漏一些明显的东西,但确定那是什么令我感到沮丧。有一段时间由另一位程序员打开了一张票,但MS可能提出的唯一答案是该人必须具有错误的开始/结束测试参数。我已经证明我的不是,所以给出了什么? 在研究如何改变SSIS组件CDC Source的行为时,我遇到了这个问题。
提前感谢您的任何帮助。