Symptomen
Wanneer u een nieuw exemplaar van Microsoft SQL Server 2016 (of 2017) gebruikt of een exemplaar van SQL Server 2016 (of 2017) dat is bijgewerkt vanaf een eerdere versie van SQL Server, ondervindt u prestatieproblemen vanwege een hoog CPU-gebruik. Als u bovendien een query uitvoert op de sys.dm_os_spinlock_stats tabel, ziet u een hoge waarde in de kolommen met draaiende gegevens voor de rijen SECURITY_CACHE (beveiligingscache) en CMED_HASH_SET (metagegevenscache) (vergeleken met de andere rijen in de tabel). U ziet bijvoorbeeld de volgende waarden.
Oorzaak
Dit probleem treedt op vanwege een hoge spin lock-conflict in een systeem dat veel gelijktijdig gebruikmaakt. In deze besturingssystemen strijden meerdere CPU-threads om bronnen en draaien ze voor een langere interval, terwijl ze periodiek in een lus worden uitgevoerd om te bepalen of de bron beschikbaar is in plaats van onmiddellijk op te geven. Wanneer meerdere CPU-threads blijven draaien (in een tijdje lus) voor een bron in plaats van toe te geven, veroorzaakt dit een hoog CPU-gebruik en prestatieproblemen.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Notitie Nadat u SQL Server 2016 cumulatieve update 2 (CU2) hebt toegepast, worden de namen 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.
Informatie over cumulatieve updates voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Meest recente cumulatieve update voor SQL Server 2017
Meest recente cumulatieve update voor SQL Server 2016
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.
In het technische document Spinlockconflicten op SQL Server diagnosticeren en oplossen worden problemen en oplossingen met betrekking tot spinlockconflicten in detail besproken.