KB2803065-FIX: Pretečenie pamäte pri spustení dotazov na dočasnú tabuľku v vnorenej uloženej procedúre v SQL Server 2012

Príznaky

Zoberme si nasledujúcu situáciu:

  • Máte uloženú procedúru, ktorá obsahuje podriadenú uloženú procedúru v Microsoft SQL Server 2012.

  • Podradený postup uložený používa tabuľku ako parameter.

  • Vytvoríte dočasnú tabuľku a potom ju prepustíte do podriadenej uloženej procedúry ako parameter.

  • Podradený postup sa spustí s niektorými dotazmi v porovnaní s dočasnou tabuľkou pomocou kurzorov.

V tomto scenári sa vyskytuje pretečenie pamäte, ktorá znižuje výkonnosť SQL servera 2012.

Riešenie

Kumulatívna aktualizácia informácií

Kumulatívna aktualizácia 3 pre SQL Server 2012 Service Pack 1 (SP1)

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 3. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2012 SP 1 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2812412 Kumulatívna aktualizácia balíka 3 pre SQL Server 2012 Service Pack 1Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2012 SP 1 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

2772858 Zostavy SQL servera 2012, ktoré boli vydané po vydaní SQL servera 2012 Service Pack 1

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.

Ďalšie informácie

Nasledujúca tabuľka obsahuje ďalšie informácie o produktoch alebo nástrojoch, ktoré automaticky vyhľadajú podmienky popísané v časti príznaky v inštancii programu SQL Server a vo verziách servera SQL Server, na základe ktorých sa vyhodnotí pravidlo:

Pravidlá softvéru

Názov pravidla

Popis pravidla

Verzie produktov, na základe ktorých sa vyhodnotí pravidlo

Poradca pre System Center

Pretečenie pamäte SQL servera pri spustení dotazov na dočasnú tabuľku v vnorenej uloženej procedúre v SQL Server 2012

V tejto inštancii SQL Server readvisor zistil prítomnosť SQL servera stavať nižšie ako fixná zostava problému pretečenie pamäte. Môže sa to stať, keď máte uloženú procedúru, ktorá obsahuje uloženú procedúru s dieťaťom, ktorá používa dočasné tabuľky, ktoré ďalej používajú kurzory. Môžete si všimnúť, MEMORYCLERK_SQLOPTIMIZER sys.dm_os_memory_clerks a MEMOBJ_EXECCOMPILETEMP z sys.dm_os_memory_objects bude veľmi vysoká. Ďalšie podrobnosti nájdete v článku vedomostnej databázy KB.

SQL Server 2012

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Považujete poskytnuté informácie za užitočné?

Ďakujem za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×