Проблема
Логика оценки мощности, известная как оценщик количества (CE), была переработана в SQL Server 2014 (уровни совместимости 120) и SQL Server 2016 (уровни совместимости 130) для повышения качества планов запросов.
Однако при компиляции сложного запроса, содержащего множество соединений с помощью операторов DISTINCT или GROUP BY, компиляция может занять гораздо больше времени, чем ожидалось.
Решение
Это обновление, устраняющее эту проблему, включено в пакет обновления 1 для SQL Server 2016.
Примечание. После установки этого обновления необходимо установить флаг трассировки 4199, чтобы включить исправление. Сведения о том, как установить флаг трассировки 4199, см. в разделе "Флаги трассировки (Transact-SQL) " на сайте MSDN.
Сведения о сборках SQL Server 2016
Каждая новая сборка SQL Server 2016 содержит все исправления и исправления безопасности, которые были внесены в предыдущую сборку. Рекомендуется установить последнюю сборку SQL Server 2016.
Временное решение
Для временного решения этой проблемы используйте один из следующих способов:
- Используйте флаг трассировки 9481, чтобы установить для модели оценки кратности оптимизатора запросов SQL Server 2012 или более раннюю версию.
- Измените уровень совместимости базы данных на SQL Server 2012 (110) или более раннюю версию.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.