Simptomi
Pretpostavimo da imate mnogo statističkih podataka i tablica, a tablice sadrže mnogo stupaca u bazi podataka sustava Microsoft SQL Server 2012 ili SQL Server 2014. Kada istodobno izvršavate mnogo ad hoc upita za dohvaćanje podataka iz tih tablica, može doći do CMEMTHREAD čekanja tijekom izvršavanja.
Rješenje
Informacije o kumulativnom ažuriranju
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.
- Kumulativno ažuriranje 2 za SQL Server 2014 SP1
- Kumulativno ažuriranje 9 za SQL Server 2014
- Kumulativno ažuriranje 7 za SQL Server 2012 SP2
Preporuka: instalirajte najnovije kumulativno ažuriranje za SQL Server
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Preporučujemo da preuzmete i instalirate najnovija kumulativna ažuriranja za SQL Server:
- Najnovije kumulativno ažuriranje za SQL Server 2014 SP1
- Najnovije kumulativno ažuriranje za SQL Server 2014
- Najnovije kumulativno ažuriranje za SQL Server 2012 SP2
Dodatne informacije
Kada sastavljate ili rekompilirate upit u sustavu SQL Server 2012, modul mora dohvatiti ulazne podatke iz histograma statistike. Moramo izvršiti pregled tablice sustava, a zatim učitati određeni histogram uključenih tablica u memoriju ili predmemoriju. Ti unosi u tablice sustava (za statistiku) pohranjuju se u predmemoriju tablice sustava (CACHESTORE_SYSTEMROWSET). Memorijski objekt koji se koristi za stvaranje tih unosa u predmemoriji nije particioniran i globalan je.
Stoga, ako imate istodobne dodjele memorije izvršene tijekom ove operacije, naići ćete na CMEMTHREAD čekanje na ovom memorijskom objektu. To se obično događa kada pošaljete mnogo upita koje je potrebno sastaviti ili ponovno kompilirati.
Ovaj hitni popravak mijenja objekt globalne memorije koji će biti particioniran tako da istodobne dodjele memorije koje koriste predmemoriju tablice sustava neće naići na nadmetanje i CMEMTHREAD čekati.
Dodatne informacije o sličnom problemu potražite u članku KB 3026082: RJEŠENJE: SOS_CACHESTORE Spinlock sukob u predmemoriji skupa redaka sistemske tablice uzrokuje visoku potrošnju CPU-a u SQL Server 2012 ili 2014.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.