ИСПРАВИТЬ: Недооценивается число строк для в предикате запроса, включает в себя скалярной определяемой пользователем функции в SQL Server 2014 г

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 3151176
Проблема
Рассмотрим следующий сценарий:

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

В этом случае при выполнении запроса, возникают низкой производительности запросов из-за неправильно Оценочное число строк для предикат, который включает в себя пользовательскую функцию в плане запроса.
Решение
Во-первых, эта проблема решена в следующее накопительное обновление для SQL Server:



После установки этот накопительный пакет обновления, необходимо включить флаг трассировки 4199. Чтобы сделать это, можно добавить -T4199 параметра запуска. Кроме того, можно использовать Инструкция DBCC traceon(4199) Инструкция для конкретного сеанса.

О накопительных пакетах обновления для SQL Server
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и все безопасности исправления, входившие в состав предыдущего накопительного обновления. Извлечь последние накопительные обновления для SQL Server:

Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".
Ссылки
Дополнительные сведения о Терминология Корпорация Майкрософт использует для описания обновлений программного обеспечения.
Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования.

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 3151176 — последний просмотр: 05/31/2016 09:53:00 — редакция: 2.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3151176 KbMtru
Отзывы и предложения