Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Проблемы

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

  • В Microsoft SQL Server 2016 используется база данных с уровнем совместимости 130.

  • Вы выполняете запрос, который обращается к индексу хранилища столбцов и индексу хранилища строк или куче и включает предикат фильтра (предложение WHERE).

В этом сценарии SQL Server не сможет отправить предикат фильтра ближе к оператору источника данных (сканирование таблиц или индексов или поиск). Это может привести к неоптимальной производительности запросов.


Кроме того, если запрос использует выражение (например, преобразование типа), где его правильность зависит от отфильтрованных данных (например, столбец таблицы char преобразуется в int, но только подмножество значений содержит допустимое представление int, и это подмножество определяется предикатом фильтра), запрос может завершиться ошибкой преобразования данных, которая выглядит следующим образом:

Ошибка msg 245, level 16, State 1, Line 20
Conversion при преобразовании значения varchar "0.5" в тип данных int.

Msg 8114, Level 16, State 5, Line 34
Error converting data type varchar to bigint.

Решение

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

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

Примечание. Чтобы это исправление войти в силу, необходимо включить исправления оптимизатора запросов.

Вы можете включить исправления оптимизатора запросов, используя один из следующих параметров: флаг трассировки 4199, параметр конфигурации области базы данных QUERY_OPTIMIZER_HOTFIXES=ON (доступно в SQL Server 2016 и более поздних версиях) или USE_HINT параметр запроса "ENABLE_QUERY_OPTIMIZER_HOTFIXES" (доступен в SQL Server 2016 с пакетом обновления 1 (SP1) и более поздних версий.

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

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

Статус

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

Ссылки

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

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

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

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

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

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×