תופעות
נניח שאתה יוצר הפעלת 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 המופיעים בסעיף "חל על".