Sümptomid
Kui sama räsi ämbris esineb liiga palju samaaegseid sisestusi või kui ad hoc SQL serveri lepingu vahemälu jõuab 160 036, siis esineb SOS_CACHESTORE spinlock rasket sisu. Selles olukorras esineb suur CPU kasutus Microsoft SQL serveris.
Põhjus
See probleem ilmneb siis, kui SQL serveri lepingu vahemälu jõuab selle piirini ja lepingud, millel on madalad kulud, tuleb uute lepingute lisamiseks välja tõsta. See põhjustab rasket sisu SOS_CACHESTORE spinlock, mis pakub SQL serveri lepingu vahemälu hash tabeli ämbrid sünkroonimist.
Lahendus
Kumulatiivse värskenduse teave
Probleem parandati esmakordselt SQL serveri järgmises koondvärskenduses.
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.
Lisateave
Plaani vahemälu on kaks limiiti: kõigi lepingute kogumaht ja koguarv. Suuruse ja kirjete arvu piirmäärad on selgitatud järgmisel valgel paberil.
Vahemälu sisemiste plaanide kavandamine
Plaani vahemälu mahuga kirjete maksimumarv on neli korda suurem kui Ämbrite arv. Selle teabe kinnitamiseks tuleb teha järgmised päringud.
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' )
Näiteks 64-bitistes süsteemides on SQL serveri lepingu vahemälu Ämbrite arv 40 009. Seetõttu on SQL serveri lepingu vahemälu sees mahtuvate kirjete maksimumarv 160 036.
Kui teil on töökoormus, mis kasutab erinevaid ad hoc päringuid, võib see piirang muutuda kitsaskohtadeks. Selle käigultparanduse tehtud muudatus lahendab selle olukorra. Kui olete selle käigultparanduse installinud ja lubate muudatuse käivitamise jälituslipp "-T 174 abil, suurendatakse nende arvu 64-bitiste süsteemide 160 001. Lepingu vahemälu saab talletada kuni 640 004 lepingu.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.