Проблемы
Рассмотрим следующий сценарий.
-
В памяти используется оперативная обработка транзакций (OLTP) Microsoft SQL Server 2017, 2016 и 2014 годах.
-
Выполняется запрос к оптимизированной для памяти таблице, содержащую большой индекс.
В этом сценарии при использовании большого индекса во время выполнения запроса загрузка ЦП может очень быстро повыситься до 100 %. Если у вас несколько логических процессоров, использование только одного процессора может быстро возрастать до 100 процентов.
Причина
Эта проблема возникает из-за того, что сборка мусора в выполняющейся в памяти OLTP может занять много времени, если при выполнении запроса используется большой индекс.
Решение
Эта проблема устранена в следующих накопительных обновлениях для SQL Server:
Накопительный пакет обновления 4 SQL Server 2017
Накопительный пакет обновления 7 для SQL Server 2016 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 2 для SQL Server 2014 с пакетом обновления 3 (SP3)
Примечание.После установки этого обновления необходимо включить флаг трассировки (TF) 9945, чтобы устранить эту проблему. Сведения о включении TF 9945 см. в разделе флагов трассировки (Transact-SQL) в microsoft Developer Network (MSDN).
Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
Последнее накопительное обновление для SQL Server 2017
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Сведения о терминологии, используемойкорпорацией Майкрософт для описания обновлений программного обеспечения.