Symptomer
Lad os antage, at du opretter en session med udvidede hændelser eller en SQL Profiler-sporing, der registrerer rpc_starting eller rpc_completed hændelse i Microsoft SQL Server 2016, og at indsamlingssætningen eller datastreamen ikke er aktiveret (du har ikke angivet parameteren collect_statement eller collect_data_stream for Xevents-sessionen eller parameteren Tekstdata eller Binary Data for SQL-profiler). Hvis SQL Server-aktiviteten, der involverer tabelværdiparametre (TVP'er), registreres under sessionen, kan hukommelsesforbruget for SQL Server vokse meget mere end nødvendigt. Det kan medføre alvorlig hastighed og i ekstreme tilfælde opbruge SQL Server-hukommelse, og du modtager følgende meddelelse om hårde fejl 701 for igangværende handlinger:
Bemærk
Der er ikke tilstrækkelig systemhukommelse i ressourcepuljen 'standard' til at køre denne forespørgsel
Bemærk: Hvis du bruger DBCC MEMORYSTATUS eller forespørger sys.dm_os_memory_clerks, kan du opleve, at den OBJECTSTORE_LBSS hukommelsesassistent viser et stort hukommelsesforbrug.
Løsning
Det problem, hvor en udvidet hændelsessession eller en profileringssporing, der ikke er konfigureret til at indsamle sætninger eller datastream, stadig kræver store hukommelsesbuffere, fordi TVP-materialet er behandlet af denne rettelse.
Bemærk Hvis sessionen med udvidede hændelser eller SQL Profiler-sporing er konfigureret til at indsamle sætning eller data/binær stream, og den SQL Server-aktivitet, der er involveret i TVP'er, registreres under denne session, kan hukommelsesforbruget for SQL Server stadig vokse, selv med den aktuelle rettelse anvendt, da hukommelsesforbruget i dette tilfælde kræves for at håndtere TVP-streamen i sporet og forventes fuldt ud.
Vi anbefaler derfor, at du ikke kører permanente sessioner eller sporinger med de tidligere nævnte kombinationer af hændelser og datafelter på SQL Server-forekomster, der sandsynligvis vil modtage intensive (i antal eller størrelse) TVP-baserede aktiviteter.
Servicepakke til SQL Server:
Denne rettelse er inkluderet i Service Pack 2 til SQL Server 2016.
Bemærk: Hvis du vil have en anden rettelse, som begrænser antallet af sporede rækker i en TVP, skal du se KB-4468102.
Om SQL Server 2016-builds
Hvert nyt build til SQL Server 2016 indeholder alle de programrettelser og sikkerhedsrettelser, der var i det tidligere build. Vi anbefaler, at du installerer det nyeste build til SQL Server 2016.
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Referencer
Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.