Ознаки
Припустімо, що ви створюєте сеанс 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:
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, перелічених у розділі "застосовується до".