Symptomen
Wanneer u een nieuw exemplaar van Microsoft SQL Server 2016 (of 2017) of een exemplaar van SQL Server 2016 (of 2017) gebruikt dat is bijgewerkt vanaf een eerdere versie van SQL Server, ondervindt u prestatieproblemen vanwege een hoog CPU-gebruik. Als u een query uitvoert op de sys.dm_os_spinlock_stats tabel, ziet u bovendien een hoge waarde in de kolom spins voor de rijen SECURITY_CACHE (Security Cache) en CMED_HASH_SET (Metagegevenscache) (vergeleken met andere rijen in de tabel). U ziet bijvoorbeeld de volgende waarden.
Oorzaak
Dit probleem treedt op vanwege een conflicterend hoog kringslot in een zeer gelijktijdig systeem. In deze besturingssystemen concurreren meerdere CPU-threads om resources en draaien ze gedurende een uitgebreid interval, terwijl ze periodiek in een lus worden uitgevoerd om te bepalen of de resource beschikbaar is in plaats van onmiddellijk op te leveren. Wanneer meerdere CPU-threads blijven draaien (in een while-lus ) voor een resource in plaats van op te leveren, veroorzaakt dit een hoog CPU-gebruik en prestatieproblemen.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Opmerking Nadat u SQL Server cumulatieve update 2 (CU2) van 2016 hebt toegepast, worden de namen van de SECURITY_CACHE en CMED_HASH_SET gewijzigd in respectievelijk LOCK_RW_SECURITY_CACHE en LOCK_RW_CMED_HASH_SET. Nadat CU2 is toegepast, worden de waarden als volgt weergegeven.
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingscorrecties die zijn opgenomen in de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.
In het witboek Diagnose en oplossing van spinlockconflicten op SQL Server worden problemen en oplossingen besproken die betrekking hebben op spinlockconflicten in detail.