看似有效的代码,用于查询表中最新跟踪的更改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(使用前将#替换为@)