Проблема
Рассмотрим следующий сценарий.
- Вы пытаетесь выполнить запрос, используя оценку количества по умолчанию, когда включена поправка гистограммы.
- Запрос содержит выражения для столбца, который используется в одном из предикатов.
В этом случае происходит нарушение прав доступа. Кроме того, появляется следующее сообщение об ошибке:
Примечание
MSG 596, уровень 21, состояние 1, номер строки
Невозможно продолжить выполнение, так как сеанс находится в состоянии "Убито".
MSG 0, уровень 20, состояние 0, номер строки
Возникла серьезная ошибка текущей команды. Результаты, если таковые имеются, должны быть отброшены.
Примечание Изменение гистограммы можно включить с помощью параметра запроса USE HINT('ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS') или флага трассировки 4139.
Решение
Эта проблема устранена в следующих обновлениях для SQL Server:
Накопительный пакет обновления 8 для SQL Server 2017
Накопительный пакет обновления 5 для SQL Server 2016 с пакетом обновления 2 (SP2)
Сведения о сборках SQL Server
Каждая новая сборка для SQL Server содержит все исправления и исправления безопасности, которые были в предыдущей сборке. Рекомендуется установить последнюю сборку для вашей версии SQL Server.
Последняя сборка SQL Server 2017
Последний накопительный пакет обновления для SQL Server 2016
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Ссылки
DBCC TRACEON — флаги трассировки (Transact-SQL)
Узнайте о стандартной терминологии , используемой корпорацией Майкрософт для описания обновлений программного обеспечения.