KB4077105 – BEHEBUNG: Fehler aufgrund von unzureichendem Arbeitsspeicher, wenn der virtuelle Adressraum des SQL Server Prozesses in SQL Server

Gilt für
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Symptome

Angenommen, Sie installieren die 64-Bit-Version von Microsoft SQL Server 2014, 2016 oder 2017 auf einem Computer, auf dem Windows Server 2012 oder eine frühere Version des Windows-Betriebssystems ausgeführt wird. Wenn SQL Server den gesamten virtuellen Adressraum im Benutzermodus belegt, erhalten Sie möglicherweise eine Fehlermeldung nicht genügend Arbeitsspeicher im SQL Server Fehlerprotokoll. Darüber hinaus dauert es lange, bis abfragen die Ausführung abgeschlossen sind, und die SOS_MEMORY_TOPLEVELBLOCKALLOCATOR Wartezeit tritt auf.

Wenn Sie die folgenden Informationspunkte untersuchen, werden Sie feststellen, dass der virtuelle Adressraum sehr gering ist:

  • DBCC MEMORYSTATUS – Abschnitt "Prozess-/Systemanzahl" – Verfügbarer virtueller Speicher
  • DMV: sys.dm_os_process_memory – spaltenbasierte virtual_address_space_available_kb

Diese Werte beginnen bei einem x64-Prozess bei etwa 8 Terabyte (TB) und steigen weiter nach unten und erreichen einige Gigabyte (GB).

Wenn Sie sich in der Phase befinden, in der der verfügbare virtuelle Adressraum sehr gering ist, können Abfragen, die versuchen, eine Speicherbelegung durchzuführen, auch auf den Wartetyp CMEMTHREAD stoßen.

Die folgenden Datenpunkte werden im Laufe der Zeit weiter zunehmen:

  • DMV: sys.dm_os_process_memory und sys.dm_os_memory_nodes – spaltenbasierte virtual_address_space_reserved_kb
  • DBCC MEMORYSTATUS – Abschnitt "Speicher-Manager" – RESERVIERTE VM

Diese Werte erhöhen sich in der Regel um ein Vielfaches des "maximalen Serverarbeitsspeichers" auf fast 8 TB.

Hinweis Das zugehörige Problem wird auch unter KB-3074434 beschrieben.

Lösung

Dieses Update ist in den folgenden kumulativen Updates für SQL Server enthalten:

Kumulatives Update 4 für SQL Server 2017

Kumulatives Update 8 für SQL Server 2016 SP1

Kumulatives Update 10 für SQL Server 2014 Service Pack 2

Informationen zu kumulativen Updates für SQL Server:

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

Neuestes kumulative Update für SQL Server 2017

Neuestes kumulatives Update für SQL Server 2016

Neuestes kumulatives Update für SQL Server 2014

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

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.