Udostępnij za pośrednictwem


sys.fn_cdc_get_min_lsn (języka Transact-SQL)

Zwraca start_lsnwartośćkolumna przechwytywania określone wystąpienie z cdc.change_tablestabela systemowa. Wartość ta reprezentuje niskie końcowy okres ważności przechwytywania wystąpienie.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sys.fn_cdc_get_min_lsn ( 'capture_instance_name' )

Argumenty

  • 'capture_instance_name'
    Jest nazwą wystąpienieprzechwytywania.capture_instance_nameis sysname.

Zwracane typy

binary(10)

Uwagi

Zwraca 0x00000000000000000000 podczas przechwytywania wystąpienie nie istnieje lub wywołujący nie jest upoważniony do dostępu do danych zmiana skojarzonego z przechwytywania wystąpienie.

Ta funkcja jest używanych zwykle do identyfikacji niskie końcowy skojarzone z przechwytywania wystąpienieosi zmiany danych przechwytywania czasu.Za pomocą tej funkcja do sprawdzania poprawności punkty końcowe kwerendy zakres wchodzą przed zażądaniem Zmień dane w osi czasu wystąpienie przechwytywania.Jest ważne do przeprowadzenia takich kontroli, ponieważ niskie końcowy przechwytywania wystąpienie zmienia się podczas oczyszczania jest wykonywana na tabele zmiany.czas między żądaniami zmiana danych jest istotna, nawet punkt końcowy niski, który jest zestaw wysoki końcowy poprzednich żądanie zmiany w danych może znajdować się poza bieżącą osią czasu.Aby uzyskać więcej informacji dotyczących zmiany przechwytywania danych z osi czasu, zobacz Konfigurowanie zmiana przechwytywanie danych.

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera lub db_owner rola bazy danychstałej.Dla innych użytkowników wymaga uprawnienie SELECT wszystkich przechwyconych kolumn wtabela źródłoi, jeśli zdefiniowano bramkowania roli przechwytywania wystąpienie członkostwo w tej rola bazy danych.

Przykłady

A.Zwracanie minimalna wartość LSN przechwytywania określone wystąpienie

Poniższy przykład zwraca minimalną wartość LSN przechwytywania wystąpienie HumanResources_Employee w AdventureWorks2008R2 bazy danych.

USE AdventureWorks2008R2;
GO
SELECT sys.fn_cdc_get_min_lsn ('HumanResources_Employee')AS min_lsn;

B.Weryfikowanie niskie końcowy kwerendy zakres

W poniższym przykładzie użyto minimalną wartość LSN zwrócony przez sys.fn_cdc_get_min_lsn do Sprawdź, czy proponowane końcowy niski dla kwerendy danych zmiany dla bieżącej osi czasu przechwytywania wystąpienie HumanResources_Employee.W tym przykładzie założono, że poprzednie końcowy wysokiej LSN przechwytywania wystąpienie został zapisany i jest dostępny zestaw @save_to_lsn zmienną.Dla potrzeb tego przykładu @save_to_lsn jest zestaw na 0x000000000000000000 życie sekcji Obsługa błędów do uruchomienia.

USE AdventureWorks2008R2;
GO
DECLARE @min_lsn binary(10), @from_lsn binary(10),@save_to_lsn binary(10), @to_lsn binary(10);
-- Sets @save_to_lsn to the previous high endpoint saved from the last change data request.
SET @save_to_lsn = 0x000000000000000000;
-- Sets the upper endpoint for the query range to the current maximum LSN.
SET @to_lsn = sys.fn_cdc_get_max_lsn();
-- Sets the @min_lsn parameter to the current minimum LSN for the capture instance.
SET @min_lsn = sys.fn_cdc_get_min_lsn ('HumanResources_Employee');
-- Sets the low endpoint for the query range to the LSN that follows the previous high endpoint.
SET @from_lsn = sys.fn_cdc_increment_lsn(@save_to_lsn);
-- Tests to verify the low endpoint is valid for the current capture instance.
IF (@from_lsn < @min_lsn)
    BEGIN
        RAISERROR('Low endpoint of the request interval is invalid.', 16, -1);
    END
ELSE
-- Return the changes occurring within the query range.
    SELECT * FROM cdc.fn_cdc_get_all_changes_HumanResources_Employee(@from_lsn, @to_lsn, 'all');
GO