sys.fn_cdc_increment_lsn (Transact-SQL)

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.