Update: Wegen unzureichenden Arbeitsspeichers wird der virtuelle Adressraum des Prozesses SQL Server sehr wenig Arbeitsspeicher

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 3074434
Hinweis
Nach Installation dieses Updates müssen Sie Hinzufügen der Trace flag - T8075 als Startparameter um diese Änderung zu aktivieren.
Problembeschreibung
Beim Ausführen einer Abfrage in einer 64-Bit-Version von Microsoft SQL Server 2014 oder Microsoft SQL Server 2012 erhalten Sie eine Fehlermeldung Out of Memory, die in der SQL Server-Fehlerprotokoll die folgenden ähnelt:

Fehler beim Reservieren Seiten: FAIL_PAGE_ALLOCATION 513

Abfragen dauern lange die Ausführung beenden und SOS_MEMORY_TOPLEVELBLOCKALLOCATOR wartet.

Bei den folgenden Informationen: finden Sie sehr verfügbaren virtuellen Adressraum niedrig ist:

  • DBCC MEMORYSTATUS - Abschnitt Process-Systems zählt - verfügbarer virtueller Speicher
  • DMV: sys.dm_os_process_memory - Spalte virtual_address_space_available_kb
Diese Werte beginnen ca. 8 Terabyte (TB) auf ein X64 verarbeiten und weiter unten und ein paar Gigabyte (GB).

Unterwegs auf der Bühne ist der verfügbaren virtuellen Adressraums sehr niedrig, versuchen Abfragen, die, Zuweisung auch Wartetyp CMEMTHREAD auftreten Speicher durchzuführen.

Die folgenden Datenpunkte weiterhin zunimmt:
  • DMV: sys.dm_os_process_memory und sys.dm_os_memory_nodes - Spalte virtual_address_space_reserved_kb
  • DBCC MEMORYSTATUS - Speichermanager Abschnitt - VM reserviert

Diese Werte werden normalerweise als Vielfaches der Wert "max Server Memory" bis fast 8 TB erhöhen.
Ursache
Wenn der SQL Server-Prozess erreicht den Zustand bei insgesamt Serverspeicher = Ziel Serverspeicher = max Server Memory Richtlinien gibt es in SQL Server-Speicher-Manager neue Umlagen mehrere 8 KB-Seiten vorübergehend erfolgreich anfordern können. Unter dieser Bedingung wiederholt Zuweisungsmuster verursachen Fragmentierung Speicherblöcke und Verbrauch von virtuellem Adressraum. Dieser Vorgang wiederholt sich oft, virtuellen Adressraum SQL Server erschöpft und die zuvor beschriebenen Symptome bemerken.
Lösung

Hotfix-Informationen

Um dieses Problem zu beheben, installieren Sie den Hotfix aus Update: Fehler, wenn die gespeicherte Prozedur eine andere ruft gespeicherte Prozedur auf Verbindungsserver SQL Server 2014.

Voraussetzungen

Sie müssen Kumulative Update 3 für SQL Server 2014 SP1 installiert, um diesen Hotfix anwenden.

Hinweis

Nach Installation dieses Updates müssen Sie Hinzufügen der Trace flag - T8075 als Startparameter um diese Änderung zu aktivieren.

Kumulative Update-Informationen

Das Problem wurde erstmals in folgenden kumulativen Update von SQL Server behoben.

Empfehlung: Installieren Sie das neueste kumulative Update für SQL Server
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheits-Updates, die im vorherigen kumulativen Update enthalten waren. Wir empfehlen, downloaden und installieren Sie den neuesten kumulativen Updates für SQL Server:


Dieser Hotfix verhindert, dass nicht genügend Arbeitsspeicher und kontinuierlichen Verringerung des verfügbaren virtuellen Adressraums, auftreten können.
Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt "Eigenschaften" aufgeführt sind.
Weitere Informationen
  • Windows 2012 R2 können virtuelle Adressraum als als 128 TB groß. Daher bemerken Sie dieses Problem in Windows 2012 R2-Umgebung nicht. Weitere Informationen finden Sie unter dem folgenden Thema in der Windows-Entwicklungscenter:

    Speichergrenzen für Windows und Windows Server-Versionen
  • Wenn Sie Wachstum im virtuellen Adressraum finden auch nach Installation des Updates können Sie ermitteln, welche Abfragen oder Operationen große Teile des Arbeitsspeichers mit Anfordern der Page_allocated Erweiterte Ereignis. Ein Beispielskript sieht folgendermaßen aus:

    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
    Normalerweise sind Sicherungskopien und Index Wartung, die häufig auftreten.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 3074434 – Letzte Überarbeitung: 10/10/2016 02:27:00 – Revision: 9.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 KbMtde
Feedback