Simptome
Să presupunem că creați o sesiune XEvent care are predicatele în Microsoft SQL Server 2012. Atunci când porniți și opriți în mod repetat sesiunea XEvent, se produce pierderi de memorie și observați că memoria alocată de "MEMORYCLERK_XE" crește treptat. Iată o sesiune XEvent eșantion care demonstrează comportamentul:
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')))
Notă Puteți monitoriza această scurgere de memorie utilizând următoarea interogare sau executând DBCC MEMORYSTATUS:
select [Memory Used KB] = page_size_in_bytes /1024 from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_XE'
Rezolvare
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 2 pentru SQL Server 2012 SP2 /en-us/help/2983175
Actualizarea cumulativă 11 pentru SQL Server 2012 SP1 /en-us/help/2975396
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.