Pazīmes
Pieņemsim, ka jums ir daudz statistikas un tabulu un tabulās ir daudz kolonnu Microsoft SQL Server 2012 vai SQL Server 2014 datu bāzē. Vienlaikus izpildot daudzus ekspromta vaicājumus, lai izgūtu datus no šīm tabulām, izpildes laikā var rasties CMEMTHREAD gaidīšana.
Risinājums
Kumulatīvā atjauninājuma informācija
Šī problēma pirmo reizi tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā.
- SQL Server 2014 SP1 2. kumulatīvais atjauninājums
- SQL Server 2014 9. kumulatīvais atjauninājums
- SQL Server 2012 SP2 7. kumulatīvais atjauninājums
Ieteikums: instalējiet jaunāko kumulatīvo atjauninājumu serverim SQL Server
Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Ieteicams lejupielādēt un instalēt jaunākos kumulatīvos SQL Server atjauninājumus:
- Jaunākais kumulatīvais atjauninājums SQL Server 2014 SP1
- Jaunākais kumulatīvais atjauninājums SQL Server 2014
- Jaunākais kumulatīvais atjauninājums SQL Server 2012 SP2
Papildinformācija
Kad kompilējat vai pārkompilējat vaicājumu programmā SQL Server 2012, programmai ir jāiegūst ievade no statistikas histogrammas. Mums ir jāveic sistēmas tabulas skenēšana un pēc tam jāielādē konkrētā tabulu histogramma, kas ir iesaistītas atmiņā vai kešatmiņā. Šīs sistēmas tabulas ievadnes (statistikai) tiek glabātas sistēmas tabulas kešatmiņā (CACHESTORE_SYSTEMROWSET). Atmiņas objekts, kas tiek izmantots, lai izveidotu šos ierakstus kešatmiņā, nav nodalīts un ir globāls.
Tāpēc, ja šīs operācijas laikā jums ir vienlaicīgi veikta atmiņas piešķiršana, jūs saskarsieties ar CMEMTHREAD gaida šajā atmiņas objektā. Tas parasti notiek, ja iesniedzat daudz vaicājumu, kurus nepieciešams apkopot vai pārkompilēt.
Šis labojumfails maina globālās atmiņas objektu, lai tas tiktu sadalīts tā, lai vienlaicīgi atmiņas piešķiršanai, kas izmanto sistēmas tabulas kešatmiņu, nerastos strīdi un CMEMTHREAD gaidītu.
Papildinformāciju par līdzīgu problēmu skatiet KB 3026082: LABOJUMS: SOS_CACHESTORE spinlock strīds sistēmas tabulas rindu kešatmiņā izraisa lielu centrālā procesora lietojumu SQL Server 2012 vai 2014.
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".