Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) 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) SQL Server 2016 Service Pack 1

Проблемы

При выполнении запроса к представлению в Microsoft SQL Server 2014 или 2016 может потребоваться больше времени, если вы сравниваете его с выполнением в SQL Server 2008 R2. 

При выполнении запроса, в котором используется объединение ALL и цель строки (например, TOP N, FAST N или exist), вы можете заметить, что запрос выполняется медленнее в SQL Server 2014 или более поздних версиях, если вы сравниваете его с SQL Server 2008 R2.

Причина

В SQL Server 2008 R2 оптимизатор запросов изменяет порядок различных частей в разделе UNION ALL, если задана цель строки, чтобы она была первой. Это позволяет запросу завершить выполнение ранее, если более дешевые части выдают нужное количество строк, не пропуская выполнение более дорогостоящих частей. Такое изменение порядка не происходит в более поздних версиях SQL Server.

Решение

Эта проблема устранена в следующем накопительном обновлении SQL Server:

       Накопительное обновление 7 для SQL Server 2016 RTM

       Накопительное обновление 4 для SQL Server 2016 с пакетом обновления 1 (SP1)

       Накопительное обновление 6 для SQL Server 2014 с пакетом обновления 2 (SP2)

Примечание.  Для этой ошибки должна быть включена оптимизация запросов. 

Дополнительные сведения о оптимизаторе запросов и флагах трассировки можно найти по следующим ссылкам:

Исправление для оптимизатора запросов SQL Server TF 4199 модель обслуживания

Команды консоли DBCC и флаги трассировки

Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.

Последнее накопительное обновление для SQL Server 2016

Последнее накопительное обновление для SQL Server 2014

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Ссылки

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.