Symptoms
Consider the following scenario:
-
You use database mirroring in Asynchronous high-performance mode in Microsoft SQL Server 2012 R2.
-
You enable Change Tracking on the Principal database.
-
You create a database snapshot on the Mirror database.
-
You use CHANGE_TRACKING_CURRENT_VERSION() function on the database snapshot to check the version that is associated with the last committed transaction.
In this scenario, the returned value of CHANGE_TRACKING_CURRENT_VERSION() function is incorrect. It is either 0 or lower than the value returned from the Principal database.
Cause
The issue occurs because of a defect related with function processing on a database snapshot. CHANGE_TRACKING_CURRENT_VERSION() function returns incorrect values on the database snapshot.
Resolution
The issue was first fixed in the following cumulative update of SQL Server.
After you apply the hotfix, SQL Server will change the CHANGE_TRACKING_CURRENT_VERSION() function logic. The returned value of CHANGE_TRACKING_CURRENT_VERSION() function on the database snapshot will be correct.Cumulative Update 11 for SQL Server 2008 R2 SP2 /en-us/help/2926028
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.