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