KB4051359 - OPRAVA: SQL Server dojde k nedostatku paměti, když jsou parametry s hodnotami tabulky zachyceny v relacích rozšířených událostí v SQL Server 2016, i když není povoleno shromažďování výpisu nebo datového proudu

Platí pro
SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Příznaky

Předpokládejme, že vytvoříte relaci rozšířených událostí nebo trasování profileru SQL, které zachytí rpc_starting nebo rpc_completed událost v Microsoft SQL Server 2016, a příkaz shromažďování nebo datový proud nejsou povolené (nenastavili jste parametr collect_statement nebo collect_data_stream pro relaci Xevents ani parametr Text Data nebo Binary Data pro SQL Profiler). Pokud se aktivita SQL Server týkající se parametrů hodnot tabulky (TVP) zaznamená během relace, může využití paměti SQL Server růst mnohem víc, než je nutné. To může způsobit výrazné zpomalení a v extrémních případech vyčerpat paměť serveru SQL Server. U probíhajících operací se zobrazí následující závažná chyba 701:

Poznámka

Ve výchozím nastavení fondu prostředků není k dispozici dostatek systémové paměti pro spuštění tohoto dotazu

Poznámka: Použijete-li příkaz DBCC MEMORYSTATUS nebo dotaz sys.dm_os_memory_clerks, můžete si všimnout, že OBJECTSTORE_LBSS paměťový úředník vykazuje velkou spotřebu paměti.

Řešení

Problém, při kterém relace rozšířených událostí nebo trasování profileru, které není nakonfigurované ke shromažďování příkazu nebo datového proudu, stále vyžaduje velké vyrovnávací paměti paměti, protože materiál TVP řeší tato oprava.

Poznámka Pokud je relace rozšířených událostí nebo trasování SQL Profileru nakonfigurované tak, aby shromažďovaly příkazy nebo datové/binární datové proudy, a aktivita SQL Server zahrnutá do TVP se zaznamená během této relace, může využití paměti SQL Server stále růst i při použití aktuální opravy, protože v tomto případě je spotřeba paměti nutná ke zpracování streamu TVP v trasování a je plně očekávána.

Proto doporučujeme nespouštět trvalé relace nebo trasování s výše uvedenými kombinacemi událostí a datových polí v instancích SQL Server, u kterých je pravděpodobné, že budou vystaveny intenzivním aktivitám založeným na TVP (co do počtu nebo co do velikosti).

Aktualizace Service Pack pro SQL Server:

Tato oprava je součástí aktualizace Service Pack 2 pro SQL Server 2016.

Poznámka: Další opravu, která omezuje počet sledovaných řádků ve TVP, najdete v 4468102 KB.

Informace o buildech SQL Server 2016

Každý nový build pro SQL Server 2016 obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější build pro SQL Server 2016.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.