Symptomer
Når du bruker en ny forekomst av Microsoft SQL Server-2016 eller en forekomst av SQL Server-2016 som er oppgradert fra en tidligere versjon av SQL Server, kan du oppleve ytelsesproblemer på grunn av lite tilgjengelig Prosessorkapasitet. Hvis du spør sys.dm_os_spinlock_stats -tabellen, kan du også se en høy verdi for roterer kolonnen (sammenlignet med andre rader i tabellen) som tilsvarer SECURITY_CACHE (Security-Cache) og CMED_HASH_SET (hurtigbuffer for Metadata). For eksempel kan du se følgende verdier.
Årsak
Dette problemet oppstår på grunn av høy spin låsekonflikt i et svært samtidige system. I disse operativsystemene, flere CPU-tråder konkurrerer om ressurser og Spinner for et lengre intervall mens de kjører i en sløyfe med jevne mellomrom for å finne ut om ressursen er tilgjengelig i stedet for gir umiddelbart. Når flere CPU-tråder holde Spinner (i mens loop) for en ressurs i stedet for gir, forårsaker dette høy CPU-bruk som kan forårsake ytelsesproblemer.
Oppløsning
Dette problemet ble løst i følgende kumulative oppdateringer for SQL Server:
Obs! Når du har installert SQL Server 2016 kumulativ oppdatering 2 (CU2), endret navn på SECURITY_CACHE og CMED_HASH_SET til LOCK_RW_SECURITY_CACHE og LOCK_RW_CMED_HASH_SET, henholdsvis. Når CU2 er brukt, vises verdiene som følger.
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Referanser
Lær mer om terminologien som Microsoft bruker til å beskrive oppdateringer av programvare.
Hvitboken diagnostisere og løse Spinlock kamp om ressursene på SQL Server beskriver problemer og løsninger som er knyttet til spinlock kamp om ressursene i detalj.