KB4013128 – OPRAVA: Nižší výkon a dlhé čakania na CLR_AUTO_EVENT a CMEMTHREAD pri použití SQLCLR UDT ako parametra uloženej procedúry pre volanie SQL RPC

Vzťahuje sa na
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Príznaky

Používate Microsoft SQL Server 2012, 2014 alebo 2016 a pomocou integrácie SQL Server common language runtime (SQL CLR) vytvoríte typ definovaný používateľom (UDT).

Ak používate UDT ako parameter uloženej procedúry, parameter sa odovzdá na server prostredníctvom mechanizmu vzdialeného volania procedúr (RPC). Tento mechanizmus sa interne pokúsi načítať zostavu, ktorá hosťuje UDT v pamäti.

V tomto prípade môže dôjsť k zníženiu výkonu vykonávania uloženej procedúry. Dochádza k tomu z dôvodu neefektívnosti, ktorá je spôsobená, keď RPC zbytočne načítava a uvoľňuje zostavu SQLCHR.

Tento problém sa prejavuje ako dlhé čakacie doby pre typy CLR_AUTO_EVENT a CMEMTHREAD . Platí to najmä v prípade, ak rovnakú uloženú procedúru spúšťa viacero súbežných používateľov.

Riešenie

Informácie o balíku Service Pack pre SQL Server

Táto aktualizácia je opravená v nasledujúcich balíkoch Service Pack pre SQL Server:

Balík Service Pack 2 pre SQL Server 2016

Balík Service Pack 3 pre SQL Server 2014

Balík Service Pack 4 pre SQL Server 2012

Informácie o balíkoch Service Pack pre SQL Server:

Balíky Service Pack sú kumulatívne. Každý nový balík Service Pack obsahuje všetky opravy, ktoré sa nachádzajú v predchádzajúcich balíkoch Service Pack, spolu so všetkými novými opravami. Odporúčame použiť najnovší balík Service Pack a najnovšiu kumulatívnu aktualizáciu pre daný balík Service Pack. Pred inštaláciou najnovšieho balíka Service Pack nemusíte inštalovať predchádzajúci balík Service Pack. Ak chcete vyhľadať ďalšie informácie o najnovšom balíku Service Pack a najnovšej kumulatívnej aktualizácii, použite tabuľku č. 1 v nasledujúcom článku.

Ako určiť verziu, vydanie a úroveň aktualizácie SQL Server a jeho súčastí

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Odkazy

Získajte informácie o terminológii, ktorú Microsoft používa na popis aktualizácií softvéru.