Симптоми
Приемете, че създавате сесия на XEvent, която има предикати в Microsoft SQL Server 2012. Когато стартирате и спирате XEvent сесия многократно, възниква изтичане на памет и забелязвате, че паметта, разпределена с "MEMORYCLERK_XE", се увеличава постепенно. Ето примерна сесия на XEvent, която демонстрира поведението:
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')))
Забележка Можете да следите това изтичане на памет с помощта на следната заявка или като изпълните DBCC MEMORYSTATUS:
select [Memory Used KB] = page_size_in_bytes /1024 from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_XE'
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Кумулативна актуализация 2 за SQL Server 2012 SP2 /en-us/help/2983175
Кумулативна актуализация 11 за SQL Server 2012 SP1 /en-us/help/2975396
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".