Problembeschreibung
Es wird davon ausgegangen, dass Sie eine XEvent-Sitzung mit Prädikaten in Microsoft SQL Server 2012 erstellen. Wenn Sie die XEvent-Sitzung wiederholt starten und beenden, tritt ein Speicherverlust auf, und Sie stellen fest, dass der von "MEMORYCLERK_XE" zugewiesene Speicher schrittweise zunimmt. Im folgenden finden Sie eine Beispiel-XEvent-Sitzung, die das Verhalten veranschaulicht:
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')))
Hinweis Sie können diesen Speicherverlust überwachen, indem Sie die folgende Abfrage verwenden oder DBCC MEMORYSTATUS ausführen:
select [Memory Used KB] = page_size_in_bytes /1024 from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_XE'
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 2 für SQL Server 2012 SP2 /en-us/help/2983175
Kumulatives Update 11 für SQL Server 2012 SP1 /en-us/help/2975396
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.