Проблемы
Предположим, что вы создали сеанс 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 с пакетом обновления 1 (SP1) /en-us/help/2975396
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".