Симптоми
Когато използвате или нов екземпляр на Microsoft SQL Server 2016 (или 2017), или екземпляр на SQL Server 2016 (или 2017), който е надстроен от по-стара версия на SQL Server, имате проблеми с производителността поради прекомерно натоварване на процесора. Освен това, ако направите заявка към таблицата sys.dm_os_spinlock_stats , ще забележите висока стойност в колоната със завои за редовете SECURITY_CACHE (кеш за защита) и CMED_HASH_SET (кеш за метаданни) (в сравнение с други редове в таблицата). Например ще забележите следните стойности:
Причина
Този проблем възниква поради силно състезание за заключване на центрофонажа в силно едновременна система. В тези операционни системи няколко нишки на процесора се конкурират за ресурси и се въртят за продължителен период от време, докато се изпълняват в цикъл периодично, за да определят дали ресурсът е наличен, вместо да отстъпят веднага. Когато няколко нишки на ЦП продължават да се въртят (в период от време ) за ресурс, вместо да отстъпват, това води до проблеми с високото използване на процесора и производителността.
Решение
Този проблем е коригиран в следните кумулативни актуализации за SQL Server:
Забележка След като приложите сборна актуализация 2 (CU2) SQL Server 2016 г., имената на SECURITY_CACHE и CMED_HASH_SET се променят съответно на LOCK_RW_SECURITY_CACHE и LOCK_RW_CMED_HASH_SET. След като се приложи CU2, стойностите се показват по следния начин.
За кумулативните актуализации за SQL Server
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
Последна сборна актуализация за SQL Server 2017
Последна сборна актуализация за SQL Server 2016
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.
Техническият документ "Диагностициране и разрешаване на състезанието за Spinlock" на SQL Server обсъжда подробно проблемите и решенията, които са свързани със състезанието за Spinlock.