Применяется к
SQL 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 Service Pack 1 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 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Проблемы

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

  • У вас есть хранимая процедура, создающая временную таблицу в Microsoft SQL Server.

  • Вы запускаете запрос, на котором выводится хранимая процедура, и запрос отвечает указанным ниже условиям.

    • Запрос ссылается на временную таблицу, созданную хранимой процедурой.

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

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

  • В этой ситуации при отмене запроса, ожидающего сохраненной процедуры, может возникнуть ошибка нарушения прав доступа.

Решение

Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.

      Накопительное обновление 2 для SQL Server 2017

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

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

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

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

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

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

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

Обходное решение

Чтобы устранить эту проблему, необходимо включить флаг трассировки (TF) 2392 , который будет подавлять сбор отсутствующих индексов.

Дополнительная информация

Чтобы получить дополнительные сведения о функции отсутствующих индексов, обратитесь к следующей ссылке:

Функция "отсутствующие индексы"

Статус

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

Ссылки

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

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

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

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