title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | f1_keywords | helpviewer_keywords | dev_langs | monikerRange | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL) |
CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL) |
rwestMSFT |
randolphwest |
08/08/2016 |
sql |
system-objects |
reference |
|
|
|
=azuresqldb-current||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current |
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance]
Returns the minimum version on the client that is valid for use in obtaining change tracking information from the specified table, when you're using the CHANGETABLE function.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )
table_object_id
Is the object ID of the table. table_object_id is an int.
bigint
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 isn't enabled for the database.
-
The specified table object ID isn't valid for the current database.
-
Insufficient permission to the table specified by the object ID.
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 won't 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 ...)
Change Tracking Functions (Transact-SQL)
sys.change_tracking_tables (Transact-SQL)