我正在尝试使用 cdc,并且我正在按照这些步骤操作。
EXEC sys.sp_cdc_enable_db
-- 启用数据库EXEC sys.sp_cdc_enable_table @source_schema = N'DW', @source_name = N'APIprocess', @role_name = NULL, @supports_net_changes = 0
--启用表在引用的表中插入和更新
DECLARE @Begin_LSN BINARY(10), @End_LSN BINARY(10) SET @Begin_LSN =sys.fn_cdc_get_min_lsn('DW_APIprocess') SET @End_LSN = sys.fn_cdc_get_max_lsn() SELECT @Begin_LSN, @End_LSN, N'all'; SELECT * FROM cdc.fn_cdc_get_all_changes_DW_APIprocess( @Begin_LSN , @End_LSN , 'all')
-- 尝试得到改变
当我执行第四步时抛出这个错误:
为过程或函数 cdc.fn_cdc_get_all_changes_ 提供的参数数量不足
然后我搜索了一个答案,我找到了一些答案,但没有产生任何问题,因为函数 sys.fn_cdc_get_max_lsn() 返回 null,这就是我的问题。总之,我需要知道为什么该函数返回 null 而不是二进制文件。谢谢。