Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verwenden die Datenbankspiegelung im asynchronen Hochleistungsmodus in Microsoft SQL Server 2012 R2.
-
Sie aktivieren die Änderungsnachverfolgung in der Prinzipaldatenbank.
-
Sie erstellen einen Datenbanksnapshot in der Spiegeldatenbank.
-
Sie verwenden CHANGE_TRACKING_CURRENT_VERSION ()- Funktion für den Datenbanksnapshot, um die Version zu überprüfen, die der letzten zugesicherten Transaktion zugeordnet ist.
In diesem Szenario ist der zurückgegebene Wert der Funktion CHANGE_TRACKING_CURRENT_VERSION () falsch. Sie ist entweder 0 oder niedriger als der Wert, der von der Prinzipaldatenbank zurückgegeben wird.
Ursache
Das Problem tritt auf, weil ein Fehler im Zusammenhang mit der Funktions Verarbeitung für einen Datenbanksnapshot aufgetreten ist. CHANGE_TRACKING_CURRENT_VERSION () -Funktion gibt falsche Werte für den Datenbanksnapshot zurück.
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben. Nachdem Sie den Hotfix angewendet haben, wird von SQL Server die Funktionslogik CHANGE_TRACKING_CURRENT_VERSION () geändert. Der zurückgegebene Wert CHANGE_TRACKING_CURRENT_VERSION () -Funktion für den Datenbanksnapshot ist richtig.
Kumulatives Update 11 für SQL Server 2008 R2 SP2 /en-us/help/2926028
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.