Simptomi
Pieņemsim, ka izveidojat XEvent sesiju, kurā ir predikāti Microsoft SQL Server 2012. Kad jūs atkārtoti sākat un pārtraucat XEvent sesiju, parādās atmiņas noplūde, un jūs pamanīsit, ka "MEMORYCLERK_XE" piešķirtā atmiņa pakāpeniski pieaug. Šeit ir XEvent sesijas paraugs, kas demonstrē šo darbību:
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')))
Piezīme. Varat pārraudzīt šo atmiņas noplūdi, izmantojot šādu vaicājumu vai izpildot DBCC stāvoklis:
select [Memory Used KB] = page_size_in_bytes /1024 from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_XE'
Risinājums
Šī problēma pirmo reizi tika izlabota tālāk sniegtajā SQL Server kumulatīvajā atjauninājumā.
SQL Server 2012 SP2 kumulatīvais atjauninājums 2 /en-us/help/2983175
Kumulatīvais atjauninājums 11 SQL Server 2012 SP1 /en-us/help/2975396
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".