Je bent nu offline; er wordt gewacht tot er weer een internetverbinding is

FIX: SOS_CACHESTORE spinlock bronconflicten op ad hoc-Server SQL plan cache veroorzaakt hoog CPU-gebruik in SQL Server 2012 of 2014

BELANGRIJK: Dit artikel is vertaald door middel van automatische vertalingssoftware van Microsoft en is mogelijk nabewerkt door de Microsoft Community via CTF-technologie (Community Translation Framework) of door een menselijke vertaler. Microsoft biedt zowel automatisch vertaalde, door mensen vertaalde en door de community nabewerkte artikelen aan, zodat er in meerdere talen toegang is tot alle artikelen in onze Knowledge Base. Een vertaald of bewerkt artikel kan fouten bevatten in vocabulaire, syntaxis of grammatica.. Microsoft is niet verantwoordelijk voor eventuele onjuistheden, fouten of schade ten gevolge van een foute vertaling van de inhoud van een bericht of het gebruik van deze vertaalde berichten door onze klanten.

De Engelstalige versie van dit artikel is de volgende: 3026083
Symptomen
Te veel gelijktijdige voegt optreden in de dezelfde hash-emmer of de ad-hoc SQL plan cache raakt de limiet van de post van 160,036, ernstige conflicten op SOS_CACHESTORE spinlock treedt op. In dit geval komt een hoog CPU-gebruik in 2012 voor Microsoft SQL Server of SQL Server-2014.
Oorzaak
Het probleem doet zich voor omdat wanneer de SQL Server plan het aantal treffers in de limiet van de post, plannen met goedkope moet worden verwijderd als u wilt invoegen van nieuwe plannen. Dit leidt tot zware bronconflicten voor de spinlock SOS_CACHESTORE waarmee u de synchronisatie voor de hash-tabel-buckets van de Server SQL plan cache.
Oplossing

Cumulatieve Update-informatie

Het probleem is in eerste instantie opgelost in de volgende cumulatieve update van SQL Server.

Over cumulatieve updates voor SQL Server

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingscorrecties die zijn opgenomen in de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Meer informatie
De cache plan heeft twee beperkingen, de totale grootte en het totale aantal van alle plannen. De grootte en de post telling grenzen worden toegelicht in het witboek Interne Cache plannen. Het maximum aantal vermeldingen dat een cache plan kan bevatten is vier keer van de telling van de buckets. U kunt controleren of deze gegevens met behulp van de volgende query's:
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' )
Op 64-bits systemen, bijvoorbeeld, is de buckets voor de Server SQL plan cache 40,009. Daarom is het maximum aantal items dat in de SQL Server-plan cache past 160,036. Wanneer er een werklast die door verschillende ad hoc-query's wordt gebruikt, kan deze limiet een knelpunt geworden. In deze gevallen kunt u de wijziging in deze hotfix. Nadat u deze hotfix hebt geïnstalleerd en schakelen met behulp van de tracering starten vlag -T-174, de bucket-aantal wordt verhoogd tot 160,001 op 64-bits systemen. Daarom kan de cache plan nu bevatten een maximum aantal 640,004 plannen.
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 3026083 - Laatst bijgewerkt: 06/24/2015 07:11:00 - Revisie: 3.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 KbMtnl
Feedback