首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CDC错误“为过程或函数cdc.fn_cdc_get_net_changes_提供的参数数量不足.”

CDC错误“为过程或函数cdc.fn_cdc_get_net_changes_提供的参数数量不足.”
EN

Stack Overflow用户
提问于 2016-09-14 07:37:14
回答 1查看 3.3K关注 0票数 0

我正在使用MS 2014。一些表已经启用了CDC的its。有一个问题:当我使用函数fn_cdc_get_net_changes_。使用参数'all‘-查询工作没有任何问题。但是,如果我使用参数'all update old‘(在更改前后获取数据),则会得到错误:

为过程或函数cdc.fn_cdc_get_net_changes_提供的参数数量不足.“。

我阅读了许多资料,发现当LSN无效时,会出现这样的错误。但就我而言,情况并非如此!

代码语言:javascript
复制
select sys.fn_cdc_get_min_lsn('dbo_Lager03'), sys.fn_cdc_get_max_lsn()
-- 0x0016961C0002E34F0008   0x0016961C0002F8B90001

-- All OK
select * from cdc.[fn_cdc_get_net_changes_dbo_Lager03](sys.fn_cdc_get_min_lsn('dbo_Lager03'), sys.fn_cdc_get_max_lsn(), 'all')
-- table with rows

-- An insufficient number of arguments were supplied for the procedure or function cdc.fn_cdc_get_net_changes_ ... .
select * from cdc.[fn_cdc_get_net_changes_dbo_Lager03](sys.fn_cdc_get_min_lsn('dbo_Lager03'), sys.fn_cdc_get_max_lsn(), 'all update old')
-- empty table and error message in 'Messages' window

如何使函数与参数“all update all”一起工作?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-09-14 09:52:44

多亏了Damien_The_Unbeliever

对于参数“所有更新旧的”正确的是cdc.fn_cdc_get_all_changes_dbo_Lager03,而不是cdc.fn_cdc_get_net_changes_dbo_Lager03

代码语言:javascript
复制
select sys.fn_cdc_get_min_lsn('dbo_Lager03'), sys.fn_cdc_get_max_lsn()
-- 0x0016961C0002E34F0008   0x0016961C0002F8B90001

-- All OK
select * from cdc.[fn_cdc_get_net_changes_dbo_Lager03](sys.fn_cdc_get_min_lsn('dbo_Lager03'), sys.fn_cdc_get_max_lsn(), 'all')
-- table with rows

function cdc.fn_cdc_get_net_changes_ ... .
select * from cdc.[fn_cdc_get_all_changes_dbo_Lager03](sys.fn_cdc_get_min_lsn('dbo_Lager03'), sys.fn_cdc_get_max_lsn(), 'all update old')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39484923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档