Симптоми
Имайте предвид сценария, описан по-долу:
- Използвате онлайн обработка на транзакции в паметта (OLTP) в Microsoft SQL Server 2017, 2016 и 2014.
- Изпълнявате заявка в оптимизирана за паметта таблица, която съдържа голям индекс.
В този сценарий, ако използвате големия индекс по време на изпълнение на заявката, използването на процесора може рязко да нарасне до 100 процента много бързо. Ако имате повече от един логически процесор, само един от процесорите може бързо да достигне 100 процента.
Причина
Този проблем възниква, защото събирането на боклука в OLTP във вътрешната памет може да отнеме много време, ако при изпълнение на заявка се използва голям индекс.
Решение
Този проблем е решен в следните кумулативни актуализации за SQL Server:
Сборна актуализация 4 за SQL Server 2017
Сборна актуализация 7 за SQL Server 2016 SP1
Сборна актуализация 2 за SQL Server 2014 SP3
Забележка След като инсталирате тази актуализация, трябва да разрешите проследяване на флаг (TF) 9945, за да отстраните този проблем. За да разрешите TF 9945, вж. темата "Флагове за проследяване (Transact-SQL) " в Мрежата за разработчици на Microsoft (MSDN).
За кумулативните актуализации за SQL Server:
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
Последна сборна актуализация за SQL Server 2017
Последна сборна актуализация за SQL Server 2016
Последна сборна актуализация за SQL Server 2014
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.