为过程或函数 cdc.fn_cdc_get_all_changes_ 提供的参数数量不足

2024-03-21

看似有效的代码,用于查询表中最新跟踪的更改Fields:

DECLARE @Begin_LSN BINARY(10), @End_LSN BINARY(10)
SET @Begin_LSN = sys.fn_cdc_get_min_lsn('Fields')
SET @End_LSN = sys.fn_cdc_get_max_lsn()
SELECT * FROM cdc.fn_cdc_get_all_changes_ordering_Fields (@Begin_LSN, @End_LSN, N'all')
GO

生成以下错误消息:

Msg 313, Level 16, State 3, Line 5
An insufficient number of arguments were supplied for the procedure or function cdc.fn_cdc_get_all_changes_ ... .

但是,如果我检查实际值,它们似乎都是有效的(不为空),则查询

SELECT @Begin_LSN, @End_LSN, N'all';

returns

0x00000000000000000000  0x00002594000002130001  all

此错误消息有些误导,基本上暗示某些参数可能超出范围 http://technet.microsoft.com/en-us/library/bb510621%28v=sql.100%29.aspx。该消息未进一步定制因为限制 http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/71f7d26a-3946-4242-b7f1-24f710c49241表函数。

零值(0x00000000000000000000) 不是有效的。这sys.fn_cdc_get_min_lsn()如果找不到合适的值则返回该值捕获实例名称。该名称可能与实际的表名称有所不同。请参阅此问题了解更多详细信息

See 以下问题 https://stackoverflow.com/q/16298167/376692更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为过程或函数 cdc.fn_cdc_get_all_changes_ 提供的参数数量不足 的相关文章

随机推荐