Príznaky
Predpokladajme, že vytvoríte reláciu XEvent, ktorá obsahuje predikáty v Microsoft SQL Server 2012. Keď opakovane spustíte a zastavíte reláciu XEvent, dôjde k pretečeniu pamäte a zistíte, že pamäť vyhradená na "MEMORYCLERK_XE" sa postupne zvyšuje. Tu je Ukážková relácia XEvent, ktorá demonštruje správanie:
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')))
Poznámka: Tento pretečenie pamäte môžete sledovať pomocou nasledujúceho dotazu alebo spustením príkazu DBCC MEMORYSTATUS:
select [Memory Used KB] = page_size_in_bytes /1024 from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_XE'
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia 2 pre SQL Server 2012 SP2 /en-us/help/2983175
Kumulatívna aktualizácia 11 pre SQL Server 2012 SP1 /en-us/help/2975396
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.