Проблемы
Рассмотрим следующий сценарий.
-
Вы включаете отслеживание изменений в базе данных в Microsoft SQL Server 2012.
-
Вы запускаете запрос, использующий функцию отслеживания изменений системы CHANGE_TRACKING_CURRENT_VERSION ().
-
SQL Server пытается выполнить запрос с помощью параллельного плана выполнения запроса.
В этом случае возникает нарушение прав доступа, и появляется следующее сообщение об ошибке:
Сообщение 0, уровень 11, состояние 0, строка 0A серьезная ошибка в текущей команде. Результаты, если таковые имеются, должны быть удалены.
Причина
Проблема возникает из-за того, что функция CHANGE_TRACKING_CURRENT_VERSION () не может быть правильно выполнена параллельно.
Решение
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 6 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2874879
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Обходное решение
Чтобы обойти эту ошибку, используйте подсказку Option (MAXDOP 1) в запросе.