Применяется к
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблемы

Рассмотрим следующий сценарий.

  • У вас есть запрос, содержащий предикат, включающий параметризованную скалярную функцию, определяемую пользователем.

  • Существует несколько сочетаний значений входных параметров, которые могут приводить к одному результату, определяемому пользовательской функцией.

  • SQL Server использует новую оценку количества элементов, в которой для режима совместимости базы данных установлено значение 120.

В этом сценарии при выполнении запроса вы снижаете производительность запроса из-за неправильного предполагаемого количества строк для предиката, включающего определенную пользователем функцию в плане запроса.

Решение

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

Накопительное обновление 6 для SQL Server 2014 с пакетом обновления 1 (SP1)Установив этот накопительный пакет обновления, необходимо включить флаг трассировки 4199. Для этого вы можете добавить параметр запуска -T4199 . Кроме того, вы можете использовать инструкцию DBCC TRACEON (4199) для определенного сеанса.

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

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

Статус

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

Ссылки

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

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

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

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