Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Nachdem Sie dieses Update angewendet haben, müssen Sie das Ablaufverfolgungsflag-T8075 als Startparameter hinzufügen, um diese Änderung zu aktivieren.

Problembeschreibung

Wenn Sie eine Abfrage in einer 64-Bit-Version von Microsoft SQL Server 2012 ausführen, erhalten Sie eine Fehlermeldung aus dem Arbeitsspeicher, die im SQL Server-Fehlerprotokoll wie folgt aussieht:

Fehler beim Zuweisen von Seiten: FAIL_PAGE_ALLOCATION 513

Abfragen nehmen lange Zeit in Anspruch, um die Ausführung abzuschließen, und SOS_MEMORY_TOPLEVELBLOCKALLOCATOR wartet. Wenn Sie die folgenden Informationspunkte überprüfen, werden Sie feststellen, dass es einen sehr geringen verfügbaren virtuellen Adressraum gibt:

  • DBCC MEMORYSTATUS-Process/System Counts section – verfügbarer virtueller Speicher

  • DMV: sys.dm_os_process_memory Spalte virtual_address_space_available_kb

Diese Werte beginnen bei einem x64-Prozess mit etwa 8 Terabyte (TB) und werden weiterhin Herunterklettern und einige Gigabyte (GB) erreichen.  Wenn Sie sich in der Phase befinden, in der der verfügbare virtuelle Adressraum sehr gering ist, können Abfragen, die versuchen, eine Speicherzuweisung durchzuführen, auch auf einen Wait-Typ von CMEMTHREAD stoßen. Die folgenden Datenpunkte werden mit der Zeit weiter zunehmen:

  • DMV: sys.dm_os_process_memory und sys.dm_os_memory_nodes Spalte virtual_address_space_reserved_kb

  • DBCC MEMORYSTATUS – Abschnitt "Speicher-Manager" – reserviert für VM

Diese Werte werden in der Regel in Vielfachen des Werts "max Server Memory" auf fast 8 TB ansteigen.

Ursache

Wenn der SQL Server-Prozess den Zustand erreicht hat, in dem Gesamt Server Speicher = Zielserverspeicher = max Server Speicher, gibt es Richtlinien in SQL Server Memory Manager, damit neue Zuweisungen mehrere 8-KB-Seiten anfordern können, um vorübergehend erfolgreich zu sein. Wiederholtes Zuordnungsmuster unter einer solchen Bedingung kann zu einer Fragmentierung der Speicherblöcke und zum Verbrauch des virtuellen Adressraums führen. Wenn dieser Vorgang oft wiederholt wird, wird der virtuelle SQL Server-Adressraum erschöpft sein, und Sie werden die Symptome bemerken, die zuvor erwähnt wurden.

Fehlerbehebung

Informationen zum kumulativen Update

Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.

 

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Wir empfehlen, die neuesten kumulativen Updates für SQL Server herunterzuladen und zu installieren:

Dieser Hotfix verhindert sowohl den Arbeitsspeicher als auch die kontinuierliche Reduzierung des verfügbaren virtuellen Adressraums, den Sie möglicherweise erleben.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen

  • Windows 2012 R2 ermöglicht den virtuellen Adressraum, so groß wie 128 TB zu wachsen. In Windows 2012 R2-Umgebungen fällt dieses Problem daher möglicherweise nicht auf. Weitere Informationen finden Sie im folgenden Thema im Windows dev Center:Speichergrenzwerte für Windows-und Windows Server-Versionen

  • Wenn das kontinuierliche Wachstum im virtuellen Adressraum auch nach dem Anwenden des Fixes angezeigt wird, können Sie mithilfe des Page_allocated Extended-Ereignisses ermitteln, welche Abfragen oder Vorgänge große Speicherabschnitte anfordern. Ein Beispielskript sieht wie folgt 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

    In der Regel handelt es sich um Protokollsicherungen und Index Wartungsvorgänge, die häufig vorkommen.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×