KB3074425 – RJEŠENJE: CMEMTHREAD čekanja se pojavljuje kada izvršavate mnogo ad hoc upita u SQL Server 2012 ili SQL Server 2014

Primjenjuje se na
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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.

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:

      

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“.