Symptomen
Stel dat u een XEvent-sessie maakt met predikaten in Microsoft SQL Server 2012. Wanneer u de XEvent-sessie herhaaldelijk start en stopt, wordt er een geheugenlek opgetreden en u merkt dat het geheugen dat is toegewezen door ' MEMORYCLERK_XE ' geleidelijk stijgt. Hier ziet u een voorbeeld van een XEvent-sessie met het gedrag:
CREATE EVENT SESSION[MyDiagnosticSession]ON SERVERADD EVENT sqlserver.module_end( ACTION (sqlserver.client_app_name,sqlserver.plan_handle,sqlserver.session_id,sqlserver.sql_text) WHERE ([package0].[Greater_than_equal_unicode_string]([sqlserver].[client_app_name],'MyApplication1') AND[package0].[Less_than_equal_unicode_string]([sqlserver].[client_app_name],'Myapplication2')))
Opmerking U kunt deze geheugenlekkage controleren door de volgende query uit te voeren of door DBCC MEMORYSTATUS te gebruiken:
select [Memory Used KB] = page_size_in_bytes /1024 from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_XE'
Oplossing
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve update 2 voor SQL Server 2012 SP2 /en-us/help/2983175
Cumulatieve update 11 voor SQL Server 2012 SP1 /en-us/help/2975396
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.