Freigeben über


CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

Gibt die Mindestversion des Clients zurück, die für die Verwendung beim Abrufen von Änderungsnachverfolgungsinformationen aus der angegebenen Tabelle gültig ist, wenn Sie die CHANGETABLE-Funktion verwenden.

Transact-SQL-Syntaxkonventionen

Syntax

  
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )  

Argumente

table_object_id
Ist die Objekt-ID der Tabelle. table_object_id ist ein Int.

Rückgabetyp

bigint

Hinweise

Verwenden Sie diese Funktion, um den Wert des last_sync_version-Parameters für CHANGETABLE zu überprüfen. Wenn last_sync_version kleiner als der von dieser Funktion gemeldete Wert ist, sind die Ergebnisse, die von einem späteren Aufruf von CHANGETABLE zurückgegeben werden, möglicherweise ungültig.

CHANGE_TRACKING_MIN_VALID_VERSION verwendet die folgenden Informationen, um den Rückgabewert zu bestimmen:

  • Wenn für die Tabelle die Änderungsnachverfolgung aktiviert ist.

  • Wenn der Cleanuptask im Hintergrund ausgeführt wurde, um Änderungsnachverfolgungsinformationen zu entfernen, die älter als die für die Datenbank angegebene Beibehaltungsdauer sind.

  • Wenn die Tabelle abgeschnitten wurde, werden alle Änderungsnachverfolgungsinformationen entfernt, die der Tabelle zugeordnet sind.

Die Funktion gibt einen NULL-Fehler zurück, wenn eine der folgenden Bedingungen zutrifft:

  • Die Änderungsnachverfolgung ist für die Datenbank nicht aktiviert.

  • Die angegebene Tabellenobjekt-ID ist für die aktuelle Datenbank ungültig.

  • Es sind keine ausreichenden Berechtigungen für die von der Objekt-ID angegebene Tabelle vorhanden.

Beispiele

Im folgenden Beispiel wird ermittelt, ob eine angegebene Version eine gültige Version ist. In diesem Beispiel wird die minimal gültige Version für die Tabelle dbo.Employees abgerufen, und dieser Wert wird mit dem Wert der Variable @last_sync_version verglichen. Wenn der Wert niedriger als der Wert @last_sync_version von @min_valid_versionist, ist die Liste der geänderten Zeilen ungültig.

Hinweis

Normalerweise wird der Wert aus einer Tabelle oder aus einem anderen Speicherort abgerufen, in der bzw. in dem die letzte Versionsnummer gespeichert wurde, die zum Synchronisieren von Daten verwendet wurde.

-- 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 ...)  

Siehe auch

Änderungsnachverfolgungs-Funktionen (Transact-SQL)
sys.change_tracking_tables (Transact-SQL)