Symptomen
Stel dat u veel statistieken en tabellen hebt en dat de tabellen veel kolommen bevatten in een database van Microsoft SQL Server 2012 of SQL Server 2014. Wanneer u tegelijkertijd veel ad-hocquery's uitvoert om gegevens uit die tabellen op te halen, kan het zijn dat CMEMTHREAD-wachttijden tijdens de uitvoering worden ervaren.
Oplossing
Informatie over cumulatieve update
Het probleem werd voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
- Cumulatieve update 2 voor SQL Server 2014 SP1
- Cumulatieve update 9 voor SQL Server 2014
- Cumulatieve update 7 voor SQL Server 2012 SP2
Aanbeveling: Installeer de meest recente cumulatieve update voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. We raden u aan de meest recente cumulatieve updates voor SQL Server te downloaden en te installeren:
- Meest recente cumulatieve update voor SQL Server 2014 SP1
- Meest recente cumulatieve update voor SQL Server 2014
- Laatste cumulatieve update voor SQL Server 2012 SP2
Meer informatie
Wanneer u een query (opnieuw) compileert in SQL Server Server 2012, moet de engine invoer krijgen van statistische histogrammen. We moeten een systeemtabelscan uitvoeren en vervolgens het specifieke histogram van de betrokken tabellen laden in het geheugen of de cache. Deze systeemtabelgegevens (voor de statistieken) worden opgeslagen in de systeemtabelcache (CACHESTORE_SYSTEMROWSET). Het geheugenobject dat wordt gebruikt om deze vermeldingen in de cache te maken, is niet gepartitioneerd en is globaal.
Als er daarom gelijktijdig geheugen wordt toegewezen tijdens deze bewerking, zult u CMEMTHREAD-wachttijden tegenkomen voor dit geheugenobject. Dit gebeurt meestal wanneer u veel query's verzendt die moeten worden gecompileerd of gecompileerd.
Deze hotfix wijzigt het globale geheugenobject dat moet worden gepartitioneerd, zodat gelijktijdige geheugentoewijzingen die gebruikmaken van de systeemtabelcache geen conflicten tegenkomen en de CMEMTHREAD wacht.
Zie KB 3026082 voor meer informatie over hetzelfde probleem: FIX: SOS_CACHESTORE spinlockconflict in de rowsetcache van systeemtabellen veroorzaakt hoog CPU-gebruik in SQL Server 2012 of 2014.
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.