KB4316948 - ВИПРАВЛЕННЯ: порушення прав доступу під час компіляції запиту та поправки гістограми ввімкнено з оцінкою кількості кардинальностей за замовчуванням у SQL Server 2016 та 2017 роках

Застосовується до
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Ознаки

Нижче описано такий сценарій.

  • Ви намагаєтеся виконати запит із використанням стандартного оцінювання кількості рядів , коли гістограму ввімкнуто.
  • Запит включає вирази в стовпці, який використовується в одному з предикатів.

У цьому випадку відбувається порушення прав доступу. Крім того, з'являється таке повідомлення про помилку:

Примітка.

msg 596, рівень 21, стан 1, номер рядка
Неможливо продовжити виконання, оскільки сеанс перебуває в аварійному стані.
Повідомлення 0, рівень 20, область 0, номер _рядка
Сталася серйозна помилка для поточної команди.  Результати, якщо такі є, слід відкинути.

         Примітка Поправку гістограми можна ввімкнути за допомогою параметра запиту USE HINT('ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS') або позначки трасування 4139.

Спосіб усунення проблеми

Цю проблему вирішено в таких оновленнях для SQL Server:

Сукупний пакет оновлень 8 для SQL ServerSQL Server 2017

Сукупний пакет оновлень 5 для SQL Server 2016 із пакетом оновлень 2

Відомості про збірки SQL Server

Кожна нова збірка для SQL Server містить усі виправлення та виправлення системи безпеки, які були в попередній збірці. Рекомендуємо інсталювати останню збірку для вашої версії SQL ServerSQL Server:

Найновіша збірка для SQL Server 2017

Останнє сукупне оновлення для SQL ServerSQL Server 2016

Стан

Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".

Посилання

DBCC TRACEON – позначки трасування (Transact-SQL)

Дізнайтеся, яку стандартну термінологію використовує корпорація Майкрософт для опису оновлень програмного забезпечення.