Symptomen
Stel dat u een Extended Events-sessie of een SQL Profiler-tracering maakt waarmee de rpc_starting of rpc_completed-gebeurtenis wordt vastgelegd in Microsoft SQL Server 2016, en dat de verzamelinstructie of gegevensstroom niet is ingeschakeld (u hebt de parameter collect_statement of collect_data_stream voor de Xevents-sessie niet ingesteld, of de parameter Text Data of Binary Data voor de SQL Profiler). Als de betrokken SQL Server-activiteit met TVP's (tabelwaardeparameters) wordt vastgelegd tijdens de sessie, kan het geheugengebruik van SQL Server veel meer toenemen dan nodig is. Dit kan leiden tot ernstige vertraging en in extreme gevallen tot uitputting van het geheugen van SQL Server. U ontvangt dan het volgende bericht met harde fouten 701 voor lopende bewerkingen:
Opmerking
Er is onvoldoende systeemgeheugen beschikbaar in de 'standaardinstelling' van de resourcegroep om deze query uit te voeren
Opmerking: Als u DBCC MEMORYSTATUS of query sys.dm_os_memory_clerks gebruikt, merkt u mogelijk dat de OBJECTSTORE_LBSS geheugenklerk een groot geheugengebruik vertoont.
Oplossing
Het probleem waarbij voor een sessie met uitgebreide gebeurtenissen of een profiler-tracering die niet is geconfigureerd voor het verzamelen van instructies of gegevensstromen, nog steeds grote geheugenbuffers nodig zijn, omdat het TVP-materiaal door deze oplossing wordt behandeld.
Notitie Als uw sessie met uitgebreide gebeurtenissen of SQL Profiler-tracering is geconfigureerd voor het verzamelen van instructies of gegevens-/binaire streams en de SQL Server activiteiten waarbij TVP's betrokken zijn, worden vastgelegd tijdens deze sessie, kan het geheugengebruik van SQL Server nog steeds toenemen, zelfs met de huidige oplossing toegepast, omdat in dit geval het geheugengebruik nodig is om de TVP-stream binnen de tracering te verwerken en volledig wordt verwacht.
Daarom raden we u aan geen permanente sessies of traces met de eerder genoemde combinaties van gebeurtenissen en gegevensvelden uit te voeren op SQL Server-exemplaren die waarschijnlijk intensieve TVP-activiteiten (in aantallen of omvang) zullen ontvangen.
Servicepack voor SQL Server:
Deze oplossing is opgenomen in Service Pack 2 voor SQL Server 2016.
Opmerking: Raadpleeg de KB-4468102 voor een andere oplossing die het aantal getraceerde rijen in een TVP beperkt.
Builds van SQL Server 2016
Elke nieuwe build voor SQL Server 2016 bevat alle hotfixes en beveiligingspatches uit de vorige build. U wordt aangeraden de nieuwste build voor SQL Server 2016 te installeren.
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.