Symptome
Angenommen, Sie installieren die 64-Bit-Version von Microsoft SQL Server 2014, 2016 oder 2017 auf einem Computer unter Windows Server 2012 oder einer früheren Version des Windows-Betriebssystems. Wenn SQL Server den gesamten virtuellen Adressraum im Benutzermodus verbraucht, wird im SQL Server-Fehlerprotokoll möglicherweise eine Fehlermeldung zu unzureichendem Arbeitsspeicher angezeigt. Darüber hinaus dauert es lange, bis die Ausführung von Abfragen abgeschlossen ist, und die SOS_MEMORY_TOPLEVELBLOCKALLOCATOR Wartezeit tritt auf.
Bei der Untersuchung der folgenden Informationspunkte werden Sie feststellen, dass nur sehr wenig virtueller Adressraum zur Verfügung steht:
- DBCC MEMORYSTATUS – Abschnitt "Prozess-/Systemanzahl" – Verfügbarer virtueller Speicher
- DMV: sys.dm_os_process_memory – Spalte virtual_address_space_available_kb
Diese Werte beginnen bei etwa 8 Terabyte (TB) bei einem x64-Prozess und steigen weiter nach unten und erreichen einige Gigabyte (GB).
Wenn Sie sich in einer Phase befinden, in der der verfügbare virtuelle Adressraum sehr niedrig ist, kann bei Abfragen, die versuchen, eine Speicherzuweisung durchzuführen, auch der Wartetyp CMEMTHREAD auftreten.
Die folgenden Datenpunkte werden im Laufe 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 "Speicherverwaltung" – VM reserviert
Diese Werte steigen in der Regel um ein Vielfaches des Werts für "maximaler Serverspeicher" auf bis zu fast 8 TB.
Hinweis Ein damit verbundenes Problem wird auch in 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 CU 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 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 kumulative Update für SQL Server 2016
Neuestes kumulative 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.