Simptomi
Kada se u istoj kanti za miješanje pojavi previše istodobnih umetanja ili će predmemorija tarifa za ad hoc SQL Server dostići ograničenje od 160.036, dogodit će se teška tvrdnja o SOS_CACHESTORE Spinlock. U tom se slučaju u sustavu Microsoft SQL Server pojavljuje visoka upotreba procesora.
Uzrok
Problem se pojavljuje kada predmemorija za planiranje sustava SQL Server dosegne ograničenje unosa, a tarife koje imaju niske cijene moraju biti uklonjene radi umetanja novih tarifa. Time se izaziva teška tvrdnja za SOS_CACHESTORE Spinlock koja sadrži sinkronizaciju za kante s raspršenim tablicama u predmemoriji SQL Server tarifa.
Rješenje
Kumulativne informacije o ažuriranju
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Dodatne informacije
Predmemorija plana sadrži dva ograničenja: ukupnu veličinu i ukupan broj svih tarifa. Ograničenja veličine i broja unosa objašnjeni su u sljedećem bijelom papiru:
Planiranje interne predmemorije
Maksimalan broj stavki koje predmemorija plana može zadržati jest četiri puta veća od broja. Te informacije možete potvrditi pokretanjem sljedećih upita:
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' )
Na 64-bitnim sustavima, primjerice, broj ćelija za cache tarifu za SQL Server je 40.009. Dakle, maksimalan broj stavki koje mogu stati unutar predmemorije tarife za SQL Server jest 160.036.
Ako imate opterećenje koje koristi razne ad hoc upite, to ograničenje može postati usko grlo. Promjena koja je donesena ovim hitnim popravkom rješava ovu situaciju. Nakon instalacije tog hitnog popravka i omogućivanja promjene pomoću zastavice praćenja pokretanja "-T 174", broj kante povećan je na 160.001 u 64-bitnim sustavima. Predmemorija plana tada može zadržati najviše tarife za 640.004.
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".