Simptomi
Kada se u istoj heš kofi pojavi previše uporednih umetanja ili ako keš Ad hoc SQL Server plana dostigne ograničenje unosa od 160.036, dolazi do ozbiljne sporne stavke na SOS_CACHESTORE se pojavi spinlock. U ovoj situaciji dolazi do velike upotrebe CPU-a u sistemu Microsoft SQL Server.
Uzrok
Do problema dolazi kada keš SQL Server plana dostigne ograničenje unosa, a planovi koji imaju nisku cenu moraju biti izbačeni da bi se umetnuli novi planovi. Ovo dovodi do velike sporne SOS_CACHESTORE za spinlock koji obezbeđuje sinhronizaciju za kofe heš tabele keša SQL Server plana.
Rešenje
Kumulativne informacije o ažuriranju
Problem je prvi put otklonjen u sledećoj kumulativnoj ispravki sistema SQL Server.
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Više informacija
Keš plana ima dva ograničenja: ukupnu veličinu i ukupan broj svih planova. Ograničenja veličine i broja stavki su objašnjena u sledećem belom papiru:
Maksimalan broj stavki koje keširanje plana može da drži je četiri puta veći od broja kofa. Ove informacije možete da proverite pokretanjem sledeć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 primer, na 64-bitnim sistemima, broj kofa za keš sql Server plana je 40.009. Zbog toga je maksimalan broj stavki koje mogu da stanu u keš SQL Server plana 160.036.
Ako imate opterećenje koje koristi različite ad hoc upite, ovo ograničenje može postati usko grlo. Promena koju je napravila ova hitna ispravka odnosi se na ovu situaciju. Kada instalirate ovu hitnu ispravku i omogućite promenu pomoću zastavice za praćenje pokretanja "-T 174", broj kofa se povećava na 160.001 na 64-bitne sisteme. Keš plana je potom u stanju da održi maksimalno 640.004 planova.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".