Simptomi
Ja tajā pašā jaukšanas spainī ir pārāk daudz vienlaicīgu iespraudumu, vai ekspromta SQL Server plāna kešatmiņa sasniedz 160 036, tiek rādīts smags SOS_CACHESTORE spinlock saturs. Šādā gadījumā programmā Microsoft SQL Server tiek lietots augsts centrālā procesora lietojums.
Cēlonis
Problēma rodas, ja SQL Server plāns cache sasniedz tā ieejas ierobežojumu, un plāni, kuriem ir zemas izmaksas, ir jāizliek, lai ievietotu jaunus plānus. Tādējādi SOS_CACHESTORE spinlock, kas nodrošina, ka tiek sinhronizēts SQL Server plāna kešatmiņas jaukšanas tabulas masīvas.
Risinājums
Kumulatīvās atjaunināšanas informācija
Šī problēma pirmo reizi tika izlabota tālāk sniegtajā SQL Server kumulatīvajā atjauninājumā.
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Papildinformācija
Plāna kešatmiņai ir divi ierobežojumi: kopējais lielums un kopējais plānu kopskaits. Lieluma un ieraksta skaita ierobežojumi ir izskaidroti šajā Baltajā dokumentā:
Maksimālais ierakstu kešatmiņas skaits, ko var aizturēt, ir četras reizes lielāks par kausu skaitu. Šo informāciju varat pārbaudīt, izpildot tālāk norādītos vaicājumus.
select name, type, buckets_count
from sys.dm_os_memory_cache_hash_tables
where name IN ( 'SQL Plans' , 'Object Plans' , 'Bound Trees' )
select name, type, pages_kb, entries_count
from sys.dm_os_memory_cache_counters
where name IN ( 'SQL Plans' , 'Object Plans' , 'Bound Trees' )
Piemēram, 64 bitu sistēmās SQL Server plānojuma kešatmiņas spaiņu skaits ir 40 009. Tāpēc maksimālais ierakstu skaits, kas var ietilpt SQL Server plāna kešatmiņā, ir 160 036.
Ja jums ir noslogojums, kas izmanto dažādus ekspromta vaicājumus, šis ierobežojums var kļūt par traucējošu. Šajā labojumfailā veiktās izmaiņas novērš šo problēmu. Pēc tam, kad instalējat šo labojumfailu un iespējojat izmaiņas, izmantojot startēšanas izsekošanas karodziņu "-T 174," kausu skaits tiek palielināts līdz 160 001 64 bitu sistēmās. Plāns cache pēc tam var aizturēt ne vairāk kā 640 004 plānus.
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".