Remediere: SOS_CACHESTORE spinlock probleme privind împărțirea ad-hoc SQL Server plan memoria cache provoacă înalt de utilizare CPU în SQL Server 2012 sau 2014

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 3026083
Simptome
Când prea multe inserări simultane se produce în același bucket hash sau memoria cache de plan de SQL Server ad-hoc atinge limita de intrare de 160,036, se produce probleme privind împărțirea severe pe SOS_CACHESTORE spinlock. În această situație, un grad mare de utilizare CPU apare în Microsoft SQL Server 2012 sau SQL Server 2014.
Cauză
Această problemă apare deoarece, când memoria cache de plan de SQL Server atinge limita de intrare, planuri cu cost redus trebuie să fi eliminat pentru a insera noi planuri. Acest lucru duce la probleme privind împărțirea greu pentru spinlock SOS_CACHESTORE furnizate de sincronizare pentru compartimente tabel hash din memoria cache de plan de SQL Server.
Rezoluţie

Informații de actualizare cumulativă

Problema a fost rezolvată mai întâi în următoarea actualizare cumulativă de SQL Server.

Despre actualizările cumulative pentru SQL Server

Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Examinați cele mai recente actualizări cumulative pentru SQL Server:
Informaţii suplimentare
Memoria cache plan are două limite, dimensiunea și numărul total de planuri de toate. Limitele dimensiunii și intrare ai sunt explicate în cartea albă Plan de Cache interne. Numărul maxim de intrări care poate stoca un plan de cache este de patru ori de numărul de compartimente. Se poate verifica aceste informații utilizând următoarele întrebări:
select name, type, buckets_count from sys.dm_os_memory_cache_hash_tableswhere name IN ( 'SQL Plans' , 'Object Plans' , 'Bound Trees' ) select name, type, pages_kb, entries_count from sys.dm_os_memory_cache_counterswhere name IN ( 'SQL Plans' , 'Object Plans' ,  'Bound Trees' )
De exemplu, pe sistemele pe 64 de biți, compartimente pentru memoria cache de plan de SQL Server este 40,009. De aceea, numărul maxim de intrări care pot încăpea în memoria cache de plan de SQL Server este 160,036. Atunci când aveți un volum de lucru care utilizează diferite interogări ad-hoc, această limită poate deveni o problemă. În aceste cazuri, puteţi utiliza modificarea în această remediere rapidă. După ce instalați această remediere rapidă și permite modificarea utilizând în urma pornire semnalizează -T 174, numărul de bucket este mărită la 160,001 pe sistemele pe 64 biți. De aceea, memoria cache plan acum poate stoca un număr maxim de 640,004 planuri.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secţiunea "Se aplică la".

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 3026083 - Ultima examinare: 06/24/2015 06:41:00 - Revizie: 4.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3026083 KbMtro
Feedback