Resumé
Miljøer, der kører en stor mængde databasetransaktioner på en Microsoft SQL Server 2019-forekomst, kan give alvorlige spinlock-konflikter. Påstanden observeres generelt på avancerede systemer, der bruger nyere generationer af processorer.
Følgende forhold kan observeres i forbindelse med alvorlig spinlock-konflikt:
- Almindeligvis observeret på moderne hardware, især Intel Skylake-processorer. Det kan også observeres på andre moderne processorer.
- Observeres normalt på systemer, der har mange processorer.
- Miljøer kan have mere samtidige brugere, f.eks. aktivitetskritiske arbejdsbelastninger med høj transaktionsaktivitet.
- Symptomerne omfatter uventet højt CPU-forbrug og mange spin- og backoff-hændelser for en bestemt spinlock-type og et højere antal spin pr. kollision.
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Løsning
Spinlock-forbedringen blev først gjort tilgængelig i Cumulative Update 2 til SQL Server 2019. Der er foretaget yderligere forbedringer i følgende kumulative opdateringer til SQL Server:
- Akkumuleret opdatering 8 til SQL Server 2019
- Samlet opdatering 14 til SQL Server 2019
- Samlet opdatering 16 til SQL Server 2019
Vi anbefaler, at du anvender den seneste kumulative opdatering på denne liste for at løse forskellige problemer med spinlock-konflikter.
Vigtigt! Hvis du vil kunne rette spinlock-problemet, skal sporingsflag 8101 være aktiveret, når du anvender en af CU'erne på denne liste.
Om kumulative opdateringer til SQL Server
Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
Fejlfinding
Hvis du vil foretage fejlfinding af spinlock-konflikter, kan du se følgende artikler for at få detaljerede oplysninger om, hvordan du identificerer og løser problemer, der er relateret til høj CPU- og spinlock-konflikt i SQL Server-programmer:
- Hvidbog: Diagnosticer og løs spinlock-konflikter på SQL Server | Microsoft Learn
- Fejlfinding af problemer med høj CPU-brug i SQL Server | Microsoft Learn
Referencer
Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.
sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn
DBCC TRACEON - Spor flag (Transact-SQL)
Ansvarsfraskrivelse for tredjepartsoplysninger
De tredjepartsprodukter, der er nævnt i denne artikel, er fremstillet af firmaer, der er uafhængige af Microsoft. Microsoft påtager sig intet ansvar, hverken underforstået eller på anden måde, for funktionaliteten eller pålideligheden af disse produkter.