Příznaky
Vezměte v úvahu následující scénář:
- Máte nainstalovaný SQL Server 2016 a 2017.
- K trasování událostí RPC se používají rpc_starting, rpc_completed, RPC:Starting, RPC:Completed nebo Audit Schema Object Access SQL Server Extended Events or SQL Server Profiler.
- Použijete vzdálené volání procedury, které obsahuje parametry s hodnotami tabulky (TVP), které mají mnoho řádků.
V tomto scénáři může dojít k nadměrnému využití paměti a snížení výkonu serveru. Pokud se dotazujete na sys.dm_os_memory_clerks DMV, všimnete si, že úředník OBJECTSTORE_LBSS má mnoho přidělení paměti ve srovnání s tím, když neexistuje žádné probíhající shromažďování trasování RPC.
Řešení
Tento problém je opravený v následujících aktualizacích pro SQL Server:
Kumulativní aktualizace 13 pro SQL Server 2017
Kumulativní aktualizace 12 pro SQL Server 2017
Kumulativní aktualizace 4 pro SQL Server 2016 SP2
Poznámka:
- Po použití této aktualizace oprava omezí počet sledovaných řádků pro TVP v každé události. To znamená, že některá trasovaná událost nemusí obsahovat všechny řádky ve TVP.
- Další opravu, při které SQL Server problém s nedostatkem paměti při zachytávání TVP je opravený, najdete v článku KB 4051359.
O buildech systému SQL Server
Každý nový build pro SQL Server obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější build pro vaši verzi SQL Server:
Nejnovější kumulativní aktualizace 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
Přečtěte si informace o standardní terminologii , kterou společnost Microsoft používá k popisu aktualizací softwaru.