Symptomer
Anta at du har mange statistikk og tabeller og tabeller inneholder mange kolonner i en database i Microsoft SQL Server 2012 eller SQL Server-2014. Når du utfører mange ad hoc-spørringer til å hente data fra disse tabellene samtidig, kan du oppleve CMEMTHREAD venter under kjøring.
Oppløsning
Informasjon om kumulativ oppdatering
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Vi anbefaler at du laster ned og installerer de nyeste kumulative oppdateringene for SQL Server:
Hvis du vil ha mer informasjon
Når du kompilere eller kompilere en spørring i SQL Server 2012, må motoren hente inndata fra statistikk histogram. Vi trenger å utføre et tabellsøk systemet og deretter laste inn bestemt histogrammet av tabellene som er involvert i minnet eller hurtigbufferen. Tabellpostene system (for statistikk) er lagret i hurtigbufferen for systemtabellen (CACHESTORE_SYSTEMROWSET). Minneobjektet brukes til å opprette disse oppføringene i hurtigbufferen er ikke partisjonert og er globale.
Derfor, hvis du har samtidige minnetildelinger utført i løpet av denne operasjonen, vil det oppstå CMEMTHREAD venter på dette minneobjektet. Dette skjer vanligvis når du sender mange spørringer som krever kompilering eller kompileres på nytt.
Denne hurtigreparasjonen endrer objektet globalt minne som skal partisjoneres slik at samtidige minnetildelinger som bruker hurtigbufferen systemtabellen ikke vil oppstår kamp om ressursene og CMEMTHREAD venter.
Hvis du vil ha mer informasjon om lignende problem, se KB 3026082: Løs: SOS_CACHESTORE spinlock kamp om ressursene på tabellen Radsettet hurtigbufferen forårsaker høy CPU-bruk i SQL Server 2012 eller 2014.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".