Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Zwraca kolejny numer sekwencji logarytmu (LSN) w sekwencji na podstawie podanego LSN.
Transact-SQL konwencje składni
Syntax
sys.fn_cdc_increment_lsn ( lsn_value )
Arguments
lsn_value
Wartość LSN. lsn_value jest binarny(10).
Zwracany typ
binary(10)
Remarks
Wartość LSN zwracana przez funkcję jest zawsze większa niż określona wartość i nie istnieją wartości LSN pomiędzy tymi dwoma wartościami.
Aby systematycznie zapytać strumień danych o zmianach w czasie, można powtarzać wywołanie funkcji zapytania okresowo, za każdym razem określając nowy przedział zapytań, który ograniczy zmiany zwracane w zapytaniu. Aby zapobiec utracie danych, górna granica dla poprzedniego zapytania jest często używana do wygenerowania dolnej granicy dla kolejnego zapytania. Ponieważ przedział zapytania jest przedziałem zamkniętym, nowa dolna granica musi być większa niż poprzednia górna granica, ale na tyle mała, aby żadne zmiany nie miały wartości LSN pomiędzy tą wartością a starą górną granicą. Funkcja sys.fn_cdc_increment_lsn ta służy do uzyskania tej wartości.
Permissions
Wymaga członkostwa w roli bazy danych publicznej.
Examples
Poniższy przykład służy sys.fn_cdc_increment_lsn do generowania nowej dolnej granicy dla zapytania o przechwycenie danych zmian na podstawie górnej granicy zapisanej z poprzedniego zapytania i zapisanej w zmiennej @save_to_lsn.
USE AdventureWorks2022;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10), @save_to_lsn binary(10);
SET @save_to_lsn = <previous_upper_bound_value>;
SET @from_lsn = sys.fn_cdc_increment_lsn(@save_to_lsn);
SET @to_lsn = sys.fn_cdc_get_max_lsn();
SELECT * from cdc.fn_cdc_get_all_changes_HumanResources_Employee( @from_lsn, @to_lsn, 'all' );
GO
Note
Błąd 313 jest oczekiwany, jeśli podany zakres LSN nie jest odpowiedni podczas wywoływania cdc.fn_cdc_get_all_changes_<capture_instance> lub cdc.fn_cdc_get_net_changes_<capture_instance>. Jeśli lsn_value parametr jest poza czasem najniższego lub najwyższego LSN, wykonanie tych funkcji zwróci błąd 313: Msg 313, Level 16, State 3, Line 1 An insufficient number of arguments were supplied for the procedure or function. Ten błąd powinien być obsługiwany przez dewelopera.