Я использую SQL Server 2014 (SP2).
Я включил CD C для таблицы. Затем я хочу просмотреть все, что произошло за последние 24 часа, поэтому я использую следующее:
DECLARE @begin_time DATETIME, @end_time DATETIME, @begin_lsn BINARY(10), @end_lsn BINARY(10);
SELECT @begin_time = GETDATE()-1, @end_time = GETDATE();
SELECT @begin_lsn = sys.fn_cdc_map_time_to_lsn('smallest greater than', @begin_time);
SELECT @end_lsn = sys.fn_cdc_map_time_to_lsn('largest less than or equal', @end_time);
SELECT *
FROM [MyDatabase].cdc.fn_cdc_get_all_changes_dbo_MyTable(@begin_lsn,@end_lsn,'all')
GO
Но я продолжаю получать следующее сообщение об ошибке:
An insufficient number of arguments were supplied for the procedure or function cdc.fn_cdc_get_all_changes_ ... .
Однако, вышеупомянутая функция генерируется системой, когда я включил CD C и содержит только 3 параметра:
ALTER function [cdc].[fn_cdc_get_all_changes_dbo_MyTable]
( @from_lsn binary(10),
@to_lsn binary(10),
@row_filter_option nvarchar(30)
)
Почему функция не работает?