Udostępnij za pomocą


CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca minimalną wersję na kliencie, która jest ważna do uzyskiwania informacji o śledzeniu zmian z określonej tabeli, gdy używasz funkcji CHANGETABLE .

Transact-SQL konwencje składni

Składnia

  
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )  

Arguments

table_object_id
Jest identyfikatorem obiektu tabeli. table_object_id jest int.

Zwracany typ

bigint

Uwagi

Użyj tej funkcji do weryfikacji wartości parametru last_sync_version dla CHANGETABLE. Jeśli last_sync_version jest mniejsze niż wartość raportowana przez tę funkcję, wyniki zwrócone z późniejszego wywołania do CHANGETABLE mogą nie być poprawne.

CHANGE_TRACKING_MIN_VALID_VERSION wykorzystuje następujące informacje do określenia wartości zwrotnej:

  • Gdy tabela była włączona do śledzenia zmian.

  • Gdy zadanie czyszczenia tła zostało uruchomione, aby usunąć informacje o śledzeniu zmian starsze niż określony dla bazy danych.

  • Jeśli tabela została obcięta, usuwa to wszelkie informacje o śledzeniu zmian powiązane z tabelą.

Funkcja zwraca NULL, jeśli spełniony jest którykolwiek z następujących warunków:

  • Śledzenie zmian nie jest włączone w bazie danych.

  • Określony identyfikator obiektu tabeli nie jest ważny dla bieżącej bazy danych.

  • Niewystarczające uprawnienia do tabeli określonej przez identyfikator obiektu.

Przykłady

Poniższy przykład określa, czy określona wersja jest poprawna. Przykład uzyskuje minimalną poprawną wersję tabeli dbo.Employees , a następnie porównuje ją z wartością zmiennej @last_sync_version . Jeśli wartość jest @last_sync_version niższa niż wartość , @min_valid_versionlista zmienionych wierszy nie będzie ważna.

Uwaga / Notatka

Zazwyczaj otrzymywałeś tę wartość z tabeli lub innego miejsca, gdzie przechowywałeś ostatni numer wersji używany do synchronizacji danych.

-- The tracked change is tagged with the specified context   
DECLARE @min_valid_version bigint, @last_sync_version bigint;  
  
SET @min_valid_version =   
CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('dbo.Employees'));  
  
SET @last_sync_version = 11  
IF (@last_sync_version < @min_valid_version)  
-- Error � do not obtain changes  
ELSE  
-- Obtain changes using CHANGETABLE(CHANGES ...)  

Zobacz także

Funkcje śledzenia zmian (Transact-SQL)
sys.change_tracking_tables (Transact-SQL)