Symptomy
Załóżmy, że zainstalowano 64-bitową wersję programu Microsoft SQL Server 2014, 2016 lub 2017 na komputerze z systemem Windows Server 2012 lub starszą wersją systemu operacyjnego Windows. Jeśli program SQL Server używa całej wirtualnej przestrzeni adresowej trybu użytkownika, w dzienniku błędów programu SQL Server może zostać wyświetlony komunikat o błędzie informujący o braku pamięci. Ponadto wykonywanie zapytań trwa długo i kończy się, a SOS_MEMORY_TOPLEVELBLOCKALLOCATOR czekać.
Po zbadaniu poniższych punktów informacyjnych znajdziesz bardzo małą dostępną wirtualną przestrzeń adresową:
-
DBCC MEMORYSTATUS-liczba procesów/systemowych w sekcji — dostępna pamięć wirtualna
-
DMV: sys.dm_os_process_memory-Column virtual_address_space_available_kb
Te wartości rozpoczynają się około 8 terabajtów (TB) w procesie x64 i kontynuują poruszanie się po kilku gigabajtach (GB).
Gdy znajdujesz się na etapie, w którym dostępna wirtualna przestrzeń adresowa jest bardzo niska, zapytania, które próbują wykonać przydział pamięci, mogą także napotkać typ oczekiwania CMEMTHREAD.
Następujące punkty danych będą stale wzrastać:
-
DMV: sys.dm_os_process_memory i sys.dm_os_memory_nodes-Column virtual_address_space_reserved_kb
-
DBCC MEMORYSTATUS — sekcja Memory Manager — zarezerwowana maszyna wirtualna
Wartości te zwykle zwiększają się wielokrotności wartości "Max Server Memory" do niemal 8 TB.
Uwaga : problem dotyczy także opisany w KB 3074434.
Rozwiązanie
Ta aktualizacja jest uwzględniona w następujących zbiorczych aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 4 dla programu SQL Server 2017
Zbiorcza aktualizacja 8 dla programu SQL Server 2016 z dodatkiem SP1
Zbiorcza aktualizacja 10 dla programu SQL Server 2014 z dodatkiem Service Pack 2
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2017
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2014
Uwaga Po zastosowaniu tej aktualizacji należy dodać flagę śledzenia 8075 jako parametr uruchamiania, aby włączyć tę zmianę.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje o terminologiiużywanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.