Symptomy
Rozpatrzmy następujący scenariusz:
-
W przypadku asynchronicznego trybu wysokiej wydajności w programie Microsoft SQL Server 2012 R2 jest używana funkcja dublowania bazy danych.
-
Możesz włączyć oledzenie zmian w głównej bazie danych.
-
Utwórz migawkę bazy danych w lustrzanej bazie danych.
-
Aby sprawdzić wersję skojarzoną z ostatnią zatwierdzoną transakcją, należy użyć funkcji CHANGE_TRACKING_CURRENT_VERSION () w migawce bazy danych.
W tym scenariuszu zwracana wartość funkcji CHANGE_TRACKING_CURRENT_VERSION () jest niepoprawna. Jest równa 0 lub niższa od wartości zwróconej przez główną bazę danych.
Przyczyna
Ten problem występuje z powodu wady związanej z przetwarzaniem funkcji w migawce bazy danych. Funkcja CHANGE_TRACKING_CURRENT_VERSION () zwraca niepoprawne wartości w migawce bazy danych.
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server. Po zastosowaniu poprawki program SQL Server zmieni logikę funkcji CHANGE_TRACKING_CURRENT_VERSION () . Zwrócona wartość funkcji CHANGE_TRACKING_CURRENT_VERSION () w migawce bazy danych będzie poprawna.
Zbiorcza aktualizacja 11 dla programu SQL Server 2008 R2 z dodatkiem SP2 /en-us/help/2926028
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".