Triệu chứng
Giả định rằng bạn tạo một phiên xevent có các vị từ trong Microsoft SQL Server 2012. Khi bạn bắt đầu và dừng phiên XEvent liên tục, rò rỉ bộ nhớ xảy ra và bạn nhận thấy rằng bộ nhớ được phân bổ bởi ' MEMORYCLERK_XE ' tăng dần. Đây là phiên mẫu XEvent có minh họa hành vi:
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')))
Lưu ý Bạn có thể theo dõi rò rỉ bộ nhớ này bằng cách sử dụng truy vấn sau đây hoặc bằng cách thực hiện DBCC MEMORYSTATUS:
select [Memory Used KB] = page_size_in_bytes /1024 from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_XE'
Giải pháp
Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Bản Cập Nhật tích lũy 2 cho SQL Server 2012 SP2 /en-us/help/2983175
Bản Cập Nhật tích lũy 11 cho SQL Server 2012 SP1 /en-us/help/2975396
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".