CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

Gibt die minimale Version zurück, die zum Abrufen von Änderungsnachverfolgungsinformationen aus einer bestimmten Tabelle gültig ist, wenn die CHANGETABLE-Funktion verwendet wird.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )

Argumente

  • table_object_id
    Die Objekt-ID der Tabelle. table_object_id ist vom Datentyp int.

Rückgabetyp

bigint

Hinweise

Verwenden Sie diese Funktion, um den Wert des last_sync_version-Parameters für CHANGETABLE zu überprüfen. Wenn der Wert für last_sync_version niedriger ist als der von dieser Funktion zurückgegebene Wert, sind die Ergebnisse, die beim einem späteren Aufruf von CHANGETABLE zurückgegeben werden, möglicherweise nicht gü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. Dadurch 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 Tabellen-Objekt-ID ist für die aktuelle Datenbank nicht gü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 von @last_sync_version kleiner als der Wert von @min_valid_version ist, dann ist die Liste der geänderten Zeilen nicht gültig.

HinweisHinweis

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