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

FIX: Fout onvoldoende geheugen wanneer de virtuele adresruimte van de SQL Server-proces is zeer weinig geheugen beschikbaar

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: 3074434
Opmerking
Nadat u deze update hebt toegepast, u moet de trace toevoegen vlag - T8075 als een opstartparameter voor het inschakelen van deze wijziging.
Symptomen
Wanneer u een query in een 64-bits versie van Microsoft SQL Server-2014 of Microsoft SQL Server 2012 uitvoert, wordt een foutbericht-geheugen dat lijkt op het volgende in het foutenlogboek van SQL Server:

Kan niet toewijzen van pagina's: FAIL_PAGE_ALLOCATION, 513

Query's nemen veel tijd in uitvoering te voltooien en wacht SOS_MEMORY_TOPLEVELBLOCKALLOCATOR optreden.

Wanneer u de volgende punten van de gegevens bekijkt, vindt u dat er weinig beschikbare virtuele adresruimte is:

  • Het beschikbare virtuele geheugen DBCC MEMORYSTATUS - proces/systeem telt sectie-
  • DMV: sys.dm_os_process_memory - virtual_address_space_available_kb van de kolom
Deze waarden ongeveer 8 terabyte (TB) op een x 64 beginnen verwerken en verder naar beneden klimt en enkele gigabytes (GB) bereiken.

Wanneer u in het stadium waarin de ruimte beschikbaar virtueel adres bytes is zeer weinig, kunnen query's die u probeert uit te voeren van de toewijzing van geheugen een type wachten CMEMTHREAD ook tegenkomen.

Na verloop van tijd toenemen blijven de volgende gegevenspunten:
  • DMV: de sys.dm_os_process_memory en de sys.dm_os_memory_nodes - kolom virtual_address_space_reserved_kb
  • DBCC MEMORYSTATUS - sectie Memory Manager - VM gereserveerd

Deze waarden wordt meestal vergroot in veelvouden van de waarde 'maximale servergeheugen' tot bijna 8 TB.
Oorzaak
Wanneer de SQL Server-proces de toestand heeft bereikt indien het totale geheugen van de Server = geheugen van de doelserver = maximaal servergeheugen, zijn beleid in SQL Server geheugenbeheer waarmee nieuwe toewijzingen in meerdere KB voor 8 pagina's zijn tijdelijk aanvragen. Van herhaalde toewijzingspatroon onder deze voorwaarde kan veroorzaken fragmentatie van de geheugenblokken en het gebruik van virtuele adresruimte. Als dit proces wordt vaak herhaald, wordt de virtuele adresruimte van SQL Server worden uitgeput en zult u de symptomen die eerder zijn vermeld.
Oplossing

Informatie over de hotfix

Installeer de hotfix uit dit probleem op te lossen FIX: Fout bij uw opgeslagen procedure roept de opgeslagen procedure op gekoppelde server in SQL Server-2014.

Vereisten

U moet hebben. Cumulatieve Update 3 voor SQL Server 2014 Service Pack 1 geïnstalleerd om deze hotfix te kunnen.

Cumulatieve update-informatie

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

Aanbeveling: Installeer de meest recente cumulatieve update voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingscorrecties die zijn opgenomen in de vorige cumulatieve update. Het is raadzaam dat u downloadt en installeert de meest recente cumulatieve updates voor SQL Server:


Deze hotfix voorkomt dat zowel de onvoldoende geheugen en een voortdurende vermindering van de beschikbare virtuele adresruimte die kan optreden.
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.
Meer informatie
  • Windows 2012 R2 kunnen virtuele adresruimte te laten groeien zo groot is als 128 TB. Daarom niet mogelijk dit probleem in Windows 2012 R2-omgevingen. Zie het volgende onderwerp in de Dev Center van Windows voor meer informatie:

    Geheugenlimieten voor versies van Windows en Windows Server
  • Als er voortdurend stijgende virtuele adresruimte zelfs nadat u de correctie hebt toegepast, kunt u bepalen welke query's of bewerkingen grote delen van het geheugen aanvraagt met behulp van de Page_allocated uitgebreide gebeurtenis. Een voorbeeldscript ziet er zo uit:

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO
    Dit zijn meestal-ups en index onderhoudsbewerkingen, die vaak voorkomen.

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 3074434 - Laatst bijgewerkt: 01/27/2016 01:52:00 - Revisie: 8.0

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

  • kbqfe kbsurveynew kbexpertiseadvanced kbfix kbmt KB3074434 KbMtnl
Feedback