Share via


CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

Returns the minimum version on the client that is valid for use in obtaining change tracking information from the specified table, when you are using the CHANGETABLE function.

Topic link icon Transact-SQL Syntax Conventions

Syntax

CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )

Arguments

  • table_object_id
    Is the object ID of the table. table_object_id is an int.

Return Type

bigint

Remarks

Use this function to validate the value of the last_sync_version parameter for CHANGETABLE. If last_sync_version is less than the value that is reported by this function, the results that are returned from a later call to CHANGETABLE might not be valid.

CHANGE_TRACKING_MIN_VALID_VERSION uses the following information to determine the return value:

  • When the table was enabled for change tracking.

  • When the background cleanup task ran to remove change tracking information older than the retention period specified for the database.

  • If the table was truncated. This removes all change tracking information that is associated with the table.

The function returns NULL if any one of the following conditions is true:

  • Change tracking is not enabled for the database.

  • The specified table object ID is not valid for the current database.

  • Insufficient permission to the table specified by the object ID.

Examples

The following example determines whether a specified version is a valid version. The example obtains the minimum valid version of the dbo.Employees table, and then compares this to the value of the @last\_sync\_version variable. If the value of @last\_sync\_version is lower than the value of @min\_valid\_version, the list of changed rows will not be valid.

Note

You would usually obtain the value from a table or other location where you stored the last version number that was used to synchronize data.

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

See Also

Reference

sys.change_tracking_tables (Transact-SQL)

Concepts

Change Tracking Functions (Transact-SQL)