KB4077105 – POPRAVKA: Greška bez memorije kada virtuelni adresni prostor procesa SQL Server ima veoma malo SQL Server

Primenjuje se 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)

Simptomi

Pretpostavimo da 64-bitnu verziju sistema Microsoft SQL Server 2014, 2016 ili 2017 instalirate na računaru koji radi pod operativnim sistemom Windows Server 2012 ili starijom verzijom operativnog sistema Windows. Kada SQL Server koristi sav virtuelni adresni prostor u korisničkom režimu, možete da dobijete poruku o grešci bez memorije u evidenciji grešaka za SQL Server. Pored toga, upitima je potrebno mnogo vremena da se završe izvršavanje i dolazi do SOS_MEMORY_TOPLEVELBLOCKALLOCATOR čekanja.

Kada pregledate sledeće informativne tačke, videćete da je dostupan virtuelni adresni prostor vrlo malo:

  • DBCC MEMORYSTATUS - Odeljak "Prebrojavanja procesa/sistema" – Dostupna virtuelna memorija
  • DMV: sys.dm_os_process_memory – kolona virtual_address_space_available_kb

Te vrednosti počinju od oko 8 terabajta (TB) u x64 procesu i nastavljaju da se spuštaju i dostižu nekoliko gigabajta (GB).

Kada ste u fazi kada je dostupan virtuelni adresni prostor veoma nizak, upiti koji pokušavaju da izvrše dodelu memorije mogu takođe naići na CMEMTHREAD tip čekanja.

Sledeće tačke podataka će nastaviti da se povećavaju tokom vremena:

  • DMV: sys.dm_os_process_memory i sys.dm_os_memory_nodes – virtual_address_space_reserved_kb kolona
  • DBCC MEMORYSTATUS - Odeljak Memori Manager - VM rezervisan

Te vrednosti se obično povećavaju u umnožcima vrednosti "maksimalna memorija servera" do skoro 8 TB.

Napomena Srodni problem je takođe opisan u KB 3074434.

Rešenje

Ova ispravka je uključena u sledeće kumulativne ispravke za SQL Server:

Kumulativna ispravka 4 za SQL Server 2017

Kumulativna ispravka 8 za SQL Server 2016 SP1

Kumulativna ispravka 10 za SQL Server 2014 servisni paket 2

Osnovni podaci o kumulativnim ispravkama za SQL Server:

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:

Najnovija kumulativna ispravka za SQL Server 2017

Najnovija kumulativna ispravka za SQL Server 2016

Najnovija kumulativna ispravka za SQL Server 2014

Napomena Kada primenite ovu ispravku, morate da dodate zastavicu praćenja 8075 kao parametar pokretanja da biste omogućili ovu promenu.

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.