KB4051359 – RJEŠENJE: SQL Server ponestaje memorije kada se u sesijama proširenih događaja u programu SQL Server 2016 zabilježe parametri s vrijednostima tablice, čak i ako nije omogućeno prikupljanje naredbi ili toka podataka

Primjenjuje se na
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)

Simptomi

Pretpostavimo da ste stvorili sesiju proširenih događaja ili praćenje programa SQL profiler koje bilježi rpc_starting ili rpc_completed događaj u programu Microsoft SQL Server 2016, a naredba za prikupljanje ili niz podataka nisu omogućeni (niste postavili parametar collect_statement ili collect_data_stream za sesiju Xevents ni parametar Text Data ili Binary Data za SQL profiler). Ako se aktivnost SQL Server koja je uključivala parametre vrijednosti tablice (TVP) zabilježi tijekom sesije, korištenje memorije SQL Server može narasti mnogo više nego što je potrebno. To može uzrokovati ozbiljno usporavanje i, u ekstremnim slučajevima, iscrpiti memoriju sustava SQL Server te primiti sljedeću poruku o ozbiljnim pogreškama 701 za tekuće operacije:

Napomena

Nema dovoljno sistemske memorije u skupu resursa "zadano" za pokretanje ovog upita

Napomena: Ako koristite DBCC MEMORYSTATUS ili sys.dm_os_memory_clerks za upite, možda ćete primijetiti da alat za provjeru memorije OBJECTSTORE_LBSS pokazuje veliku potrošnju memorije.

Rješenje

Problem kod kojeg sesija proširenih događaja ili praćenje profilera koji nije konfiguriran za prikupljanje naredbe ili toka podataka i dalje zahtijeva velike memorijske međuspremnike jer je TVP materijal riješen tim popravkom.

Napomena Ako je vaša sesija proširenih događaja ili praćenje SQL profilera konfigurirana za prikupljanje naredbi ili podataka/binarnih strujanja, a aktivnost SQL Server uključena u TVP zabilježi se tijekom ove sesije, korištenje memorije SQL Server može i dalje rasti čak i uz primijenjen trenutni popravak, jer je u ovom slučaju potrošnja memorije potrebna za rukovanje TVP strujanjem unutar praćenja i u potpunosti je očekivana.

Stoga preporučujemo da ne pokrećete trajne sesije ni praćenja s prethodno navedenim kombinacijama događaja i podatkovnih polja na instancama sustava SQL Server za koje je vjerojatno da će primati intenzivne aktivnosti (u broju ili veličini) temeljene na TVP-u.

Servisni paket za SQL Server:

Taj je popravak obuhvaćen servisnim paketom Service Pack 2 za SQL Server 2016.

Napomena: Još jedno rješenje koje ograničava broj praćenih redaka u TVP-u potražite u 4468102 iz baze znanja.

O međuverzijama sustava SQL Server 2016

Svaka nova međuverzija za SQL Server 2016 sadrži sve hitne popravke i sigurnosne popravke koji su postojali u prethodnoj međuverziji. Preporučujemo da instalirate najnoviju međuverziju za SQL Server 2016.

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Reference

Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.