Symptom

När du använder en ny instans av Microsoft SQL Server 2016 (eller 2017) eller en instans av SQL Server 2016 (eller 2017) som uppgraderas från en tidigare version av SQL Server får du prestanda problem på grund av hög CPU-användning. Om du sedan frågar sys.dm_os_spinlock_stats tabell kan du lägga till ett högt värde i kolumnen rotationer för SECURITY_CACHE (säkerhetscachen) och CMED_HASH_SET (metadatacache) rader (jämfört med andra rader i tabellen). Du kan till exempel Observera följande värden: error

Orsak

Det här problemet beror på att det finns hög rotations lås i ett högsamtidigt system. I dessa operativ system konkurrerar flera CPU-trådar för resurser och spinner under en längre tid när de kör en loop med jämna mellanrum för att avgöra om resursen är tillgänglig i stället för att omedelbart lämna. När flera CPU-trådar kan snurra (i en while -slinga) för en resurs i stället för att bli, orsakar detta problem med hög CPU-användning och prestanda.

Lösning

Det här problemet har åtgärd ATS i följande kumulativa uppdateringar för SQL Server:

Obs! När du har tillämpat SQL Server 2016 Cumulative Update 2 (CU2) ändras SECURITY_CACHE och CMED_HASH_SET namnen till LOCK_RW_SECURITY_CACHE respektive LOCK_RW_CMED_HASH_SET. När CU2 har installerats ser värdena ut så här. Updated

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:

Senaste kumulativa uppdateringen för SQL Server 2017

Senaste kumulativa uppdateringen för SQL Server 2016

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Hur nöjd är du med översättningskvaliteten?
Vad påverkade din upplevelse?

Tack för din feedback!

×