Проблемы
Рассмотрим следующий сценарий.
-
В асинхронном высокопроизводительном режиме в Microsoft SQL Server 2012 R2 используется зеркальное отображение базы данных.
-
Вы включаете отслеживание изменений в основной базе данных.
-
Вы создаете моментальный снимок базы данных в зеркальной базе данных.
-
Для проверки версии, связанной с последней зафиксированной транзакцией, используется функция CHANGE_TRACKING_CURRENT_VERSION () в снимке базы данных.
В этом случае возвращаемое значение функции CHANGE_TRACKING_CURRENT_VERSION () является неверным. Это значение равно 0 или меньше значения, возвращаемого основной базой данных.
Причина
Эта проблема возникает из-за ошибки, связанной с обработкой функции на снимке базы данных. Функция CHANGE_TRACKING_CURRENT_VERSION () возвращает неверные значения в снимке базы данных.
Решение
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server. После применения исправления SQL Server изменит логику функции CHANGE_TRACKING_CURRENT_VERSION () . Возвращенное значение функции CHANGE_TRACKING_CURRENT_VERSION () для моментального снимка базы данных будет правильным.
Накопительное обновление 11 для SQL Server 2008 R2 с пакетом обновления 2 (SP2) /en-us/help/2926028
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".