KB4077105 – OPRAVA: Chyba nedostatku pamäte, keď je virtuálny priestor SQL Server procesu veľmi nízky v SQL Server

Vzťahuje sa na
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)

Príznaky

Predpokladajme, že 64-bitovú verziu Microsoft SQL Server 2014, 2016 alebo 2017 inštalujete do počítača s Windows Server 2012 alebo staršou verziou operačného systému Windows. Keď SQL Server využije všetok priestor virtuálnej adresy v používateľskom režime, môže sa zobraziť chybové hlásenie o nedostatku pamäte v denníku chýb SQL Server. Okrem toho dokončenie dotazov trvá dlho, kým sa dokončí, a nastáva SOS_MEMORY_TOPLEVELBLOCKALLOCATOR čakania.

Po preskúmaní nasledujúcich informačných bodov zistíte, že virtuálneho miesta adries je veľmi málo:

  • DBCC MEMORYSTATUS – časť Počty procesov/systémov – Dostupná virtuálna pamäť
  • DMV: sys.dm_os_process_memory – stĺpec virtual_address_space_available_kb

Tieto hodnoty začínajú okolo 8 terabajtov (TB) v procese x64 a naďalej klesajú a dosahujú niekoľko gigabajtov (GB).

Keď sa nachádzate v štádiu, keď je dostupný virtuálny priestor veľmi nízky, dotazy, ktoré sa pokúšajú vykonať vyhradenie pamäte, sa tiež môžu stretnúť s typom čakania CMEMTHREAD.

Počet nasledujúcich údajových bodov sa bude postupne zväčšovať:

  • DMV: sys.dm_os_process_memory a sys.dm_os_memory_nodes – stĺpec virtual_address_space_reserved_kb
  • DBCC MEMORYSTATUS - sekcia Správca pamäte - VM vyhradené

Tieto hodnoty sa zvyčajne v násobkoch hodnoty "maximálna pamäť servera" zvýšia až na takmer 8 TB.

Poznámka Súvisiaci problém je popísaný aj v článku KB 3074434.

Riešenie

Táto aktualizácia je zahrnutá v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:

Kumulatívna aktualizácia 4 pre SQL Server 2017

Kumulatívna aktualizácia 8 pre SQL Server 2016 SP1

Kumulatívna aktualizácia 10 pre balík Service Pack 2 pre SQL Server 2014

Informácie o kumulatívnych aktualizáciách pre SQL Server:

Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcej kumulatívnej aktualizácii. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:

Najnovšia kumulatívna aktualizácia pre SQL Server 2017

Najnovšia kumulatívna aktualizácia pre SQL Server 2016

Najnovšia kumulatívna aktualizácia pre SQL Server 2014

Poznámka Ak chcete povoliť túto zmenu, po použití tejto aktualizácie je potrebné pridať príznak trasovania 8075 ako počiatočný parameter.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Odkazy

Získajte informácie o terminológii, ktorú Microsoft používa na popis aktualizácií softvéru.