Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL SSIS fn_cdc_get_net_changes_u{instancename}返回错误:参数数量不足_Sql Server_Ssis_Cdc - Fatal编程技术网

Sql server SQL SSIS fn_cdc_get_net_changes_u{instancename}返回错误:参数数量不足

Sql server SQL SSIS fn_cdc_get_net_changes_u{instancename}返回错误:参数数量不足,sql-server,ssis,cdc,Sql Server,Ssis,Cdc,我正在使用CDC函数fn_CDC_get_net_changes_{InstanceName},并传递start_lsn、end_lsn(都是二进制(10)以及@row_filter_选项的参数值'all update old' 我之所以需要这样做,是因为通常这样的函数只返回净结果,或者返回更新结果行的操作4,而不是操作3结果行 在我的情况下,出于审计目的,我需要操作3的结果 返回的错误为: Msg 313,16级,状态3,第10行 为过程或函数cdc.fn\u cdc\u get\u net\

我正在使用CDC函数fn_CDC_get_net_changes_{InstanceName},并传递start_lsn、end_lsn(都是二进制(10)以及@row_filter_选项的参数值'all update old'

我之所以需要这样做,是因为通常这样的函数只返回净结果,或者返回更新结果行的操作4,而不是操作3结果行

在我的情况下,出于审计目的,我需要操作3的结果

返回的错误为: Msg 313,16级,状态3,第10行 为过程或函数cdc.fn\u cdc\u get\u net\u changes提供的参数数量不足

现在,如果我对@row\u filter\u选项使用相同的start和end lsn值以及'All'值,我将得到每个操作4行的预期结果集

Microsoft为此功能提供了以下材料:

我知道我必须错过一些明显的东西,但确定这是什么让我感到沮丧。有一段时间以前,另一个程序员为此开了一张罚单,但MS能想到的唯一答案是,此人必须具有开始/结束lasn参数不正确。我已经证明我的参数不正确,那么给出了什么? 我在研究如何改变SSIS组件CDC源的行为时遇到了这个问题


提前感谢您的帮助。

我应该补充(考虑到我提到的净变化),这与cdc的行为相同。fn_cdc_get_all_changes{InstanceName}同样。在这种情况下,我通常会尝试简化。您是否尝试过用硬编码的LSN值在SSM中重现您的问题?阅读您对问题的描述时,我的第一反应是“这是LSN的问题”,因此,确认您怀疑的问题确实存在是一个很好的第一步。Ben,是的,LSN很好,因为使用“All”的参数提供了这些LSN的返回行。决定是否引发错误的只是最后的参数值。我今天正在测试一些进一步的项目,这可能会在了解产生错误的位置,因为此函数似乎在其下方嵌套函数。我想我必须退出,因为每次我看到该错误时,它都是LSN问题(例如,最小>最大,其中一个为null,等等).不过,我很想看看你发现了什么!本,感谢你的回复和背后的想法。谢谢。