Simptomi
Kada previše istovremenih umetanja dođe u istu kontejner heš memoriju ili ad hoc SQL Server keš plana dostigne ograničenje unosa od 160.036, dolazi do ozbiljne konverzacije SOS_CACHESTORE okretanja. U ovoj situaciji dolazi do visoke iskorišćenost CPU-a u Microsoft SQL Server.
Izazvati
Do problema dolazi kada keš SQL Server plana dostiže svoje ulazno ograničenje, a planovi koji imaju nizak trošak moraju da se izbace da bi se umetnuli novi planovi. To dovodi do velike konkursnosti za SOS_CACHESTORE spinlock koji obezbeđuje sinhronizaciju za kontejnere heš tabela SQL Server plana.
Rešenje
Informacije o kumulativnom ažuriranju
Problem je prvi put rešen u sledećoj kumulativnom ažuriranju SQL Server.
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Više informacija
Keš plana ima dva ograničenja: Ukupna veličina i ukupan broj svih planova. Ograničenja broja veličina i unosa objašnjena su u sledećem belom papiru:
Maksimalan broj stavki koje keš plana može da zadrži je četiri puta veći broj kontejnera. Te informacije možete da proverite tako što ćete pokrenuti sledeće upite:
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 kontejnera za keš SQL Server plana je 40.009. Stoga je maksimalan broj stavki koje mogu da se uklope u keš SQL Server plana je 160.036.
Ako imate radno učitavanje koje koristi različite ad hoc upite, to ograničenje može postati usko grlo. Promena koju je izvršila ova hitna ispravka rešava ovu situaciju. Kada instalirate ovu hitnu ispravku i omogućite promenu pomoću zastavice za praćenje pri pokretanju "-T 174", broj kontejnera se povećava na 160.001 na 64-bitnim sistemima. Keš plana zatim može da sadrži najviše 640.004 planova.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".