อาการ
สมมติว่าคุณสร้างเซสชัน XEvent ที่มีเพรดิเคตใน Microsoft SQL Server ๒๐๑๒ เมื่อคุณเริ่มต้นและหยุดเซสชัน 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')))
หมายเหตุ คุณสามารถตรวจสอบการรั่วไหลของหน่วยความจำนี้โดยใช้แบบสอบถามต่อไปนี้หรือโดยการดำเนินการ MEMORYSTATUS 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 ๒๐๑๒ SP2 /en-us/help/2983175
การอัปเดตที่สะสม11สำหรับ SQL Server ๒๐๑๒ SP1 /en-us/help/2975396
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"