Korriger: SOS_CACHESTORE spinlock kamp om ressursene i ad-hoc hurtigbufferen for SQL Server-plan forårsaker høy CPU-bruk i SQL Server 2012 eller 2014

VIKTIG: Denne artikkelen ble oversatt med maskinoversettelsesprogramvare fra Microsoft og muligens redigert av Microsoft Community via CTF-teknologi i stedet for av en oversetter. Microsoft tilbyr både menneskelig oversatte og maskinoversatte/Community-redigerte artikler, slik at du får tilgang til alle artiklene i vår Knowledge Base på ditt eget språk. En maskinoversatt eller Community-redigert artikkel er imidlertid ikke alltid perfekt. Den kan inneholde feil i vokabular, syntaks eller grammatikk, mye likt en fremmedspråklig som forsøker å snakke språket ditt. Microsoft har ikke ansvar for unøyaktige opplysninger, feil eller skade forårsaket av feilaktig oversettelse av innholdet eller kundenes bruk av informasjonen. Microsoft oppdaterer jevnlig maskinoversettelsesprogramvaren og -verktøyene for å forbedre redigering av maskinoversatte tekster.

Den engelske versjonen av denne artikkelen er den følgende: 3026083
Symptom
Når du setter inn for mange samtidige forekommer i samme hash-minneområde eller i ad-hoc SQL Server plan hurtigbuffertreff posten grensen for 160,036, oppstår alvorlige kamp om ressursene på SOS_CACHESTORE spinlock. I denne situasjonen oppstår en høy CPU-bruk i Microsoft SQL Server 2012 eller SQL Server-2014.
Årsak
Dette problemet oppstår fordi når den SQL Server plan hurtigbuffertreff grensen oppføring planer med lave kostnader må være kastet ut for å sette inn nye planer. Dette fører til stor kamp om ressursene for SOS_CACHESTORE-spinlock som gir synkronisering for Nummertabellfilsamlinger av hurtigbufferen for SQL Server-planen.
Løsning

Informasjon om kumulativ oppdatering

Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.

Om kumulative oppdateringer for SQL Server

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:
Mer informasjon
Hurtigbufferen for planen har to grenser, den totale størrelsen og summen av alle planer. Størrelse og posten antall grensene er forklart i den tekniske beskrivelsen Planlegge internt buffer. Maksimalt antall oppføringer som kan inneholde en plan-hurtigbuffer er fire ganger av bøtter opptellingen. Du kan kontrollere denne informasjonen ved hjelp av de følgende spørringene:
select name, type, buckets_count from sys.dm_os_memory_cache_hash_tableswhere name IN ( 'SQL Plans' , 'Object Plans' , 'Bound Trees' ) select name, type, pages_kb, entries_count from sys.dm_os_memory_cache_counterswhere name IN ( 'SQL Plans' , 'Object Plans' ,  'Bound Trees' )
På 64-biters systemer er for eksempel bøtter for hurtigbufferen for SQL Server-plan for 40,009. Derfor er det maksimale antallet poster som får plass i hurtigbufferen for SQL Server-plan for 160,036. Når du har en arbeidsmengde som bruker ulike ad hoc-spørringer, kan denne grensen, blir en flaskehals. I slike tilfeller kan du bruke endringen i denne hurtigreparasjonen. Når du installerer denne hurtigreparasjonen, og aktivere endringen ved hjelp av oppstart sporingen flagg -T 174, bucket opptellingen er økt til 160,001 på 64-biters systemer. Derfor kan planen hurtigbufferen nå inneholde maksimalt antall 640,004 planer.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Advarsel: Denne artikkelen er autooversatt

Egenskaper

Artikkel-ID: 3026083 – Forrige gjennomgang: 06/24/2015 07:11:00 – Revisjon: 3.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3026083 KbMtno
Tilbakemelding