Symptomen
Wanneer u meerdere grote query's tegelijk probeert uit te voeren in Microsoft SQL Server 2014, kunnen sommige query's wachten op RESOURCE_SEMAPHORE_QUERY_COMPILE. Slechts één query waarvoor meer geheugen is vereist dan de drempelwaarde voor grote gateway (zoals opgegeven door de uitvoer van de DBCC-MEMORYSTATUS opdracht) om te kunnen worden gecompileerd, zelfs als de server voldoende geheugen beschikbaar heeft.Opmerking Dit is een verwacht gedrag. In grote batch systemen, zoals een Data-magazijn, kon dit echter de prestaties vertraagsen tijdens het gelijktijdig uitvoeren van veel query's.
Oplossing
Cumulatieve update gegevens
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. U wordt aangeraden de nieuwste cumulatieve updates voor SQL Server te downloaden en te installeren:
Deze hotfix introduceert een nieuwe traceringsvlag-T 6498. Met deze traceringsvlag kan meer dan één grote query compilatie toegang krijgen tot de grote gateway wanneer er voldoende geheugen beschikbaar is. De waarde is gebaseerd op het 80-percentage van de SQL Server-doel geheugen en biedt ondersteuning voor één grote query compilatie per 25 gigabyte (GB) geheugen. Dit biedt bijvoorbeeld ondersteuning voor twee grote query compilaties op een 64 GB-doel geheugen computer. Wanneer u deze hotfix toepast, moet u de traceringsvlag-T 6498 inschakelen om het nieuwe gedrag in te schakelen. Opmerking Als u de traceringsvlag inschakelt met de opdracht DBCC TRACEON , hoeft u de server niet opnieuw op te starten om de traceringsvlag te laten ingaan. Dit duurt wel 10 seconden voor de nieuwe, grote gatewayconfiguratie. Er is een ondersteunde hotfix beschikbaar bij Microsoft. Deze hotfix is echter bedoeld om alleen het probleem op te lossen dat wordt beschreven in dit artikel. Installeer deze hotfix alleen voor systemen waarop dit specifieke probleem optreedt. Als de hotfix beschikbaar is om te worden gedownload, is er een sectie ' hotfix Download Available ' bovenaan dit Knowledge Base-artikel. Als deze sectie niet wordt weergegeven, dient u een aanvraag in te dienen bij de klanten service en ondersteuning van Microsoft om de hotfix te verkrijgen. Opmerking Als er andere problemen zijn of als er een probleem is vereist, moet u mogelijk een afzonderlijke serviceaanvraag aanmaken. De gebruikelijke ondersteuningskosten zijn van toepassing op extra ondersteuningsvragen en problemen die niet in aanmerking komen voor deze specifieke hotfix. Ga naar de volgende Microsoft-website voor een volledige lijst van Microsoft Customer service en telefoonnummers voor ondersteuning of voor het maken van een afzonderlijke service aanvraag:
http://support.microsoft.com/contactus/?ws=support Opmerking Het formulier ' hotfix downloaden beschikbaar ' toont de talen waarvoor de hotfix beschikbaar is. Als u uw taal niet ziet, komt dit doordat een hotfix niet beschikbaar is voor de desbetreffende taal.
Meer informatie
OorzaakSQL Server gebruikt de compilatie gateways om compilaties te beperken. Met de gateway architectuur kan SQL Server het geheugengebruik voor de compilatie van binnenkomende query's onder besturingselement bijhouden. Er zijn drie gateways: kleine, middelgrote en grote. Zie KB 907877: de DBCC MEMORYSTATUS-opdracht gebruiken om het geheugengebruik te controleren op SQL Server 2005voor meer informatie over het gebruik van de DBCC-MEMORYSTATUS -opdracht om het geheugengebruik te controleren.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.