Sümptomid
Kasutate Microsoft SQL Server 2012, 2014 või 2016 ja loote kasutaja määratletud tüübi (UDT), kasutades SQL Server levinud keele käitusaja (SQL CLR) integreerimist.
Kui kasutate UDT-d salvestatud protseduuriparameetrina, edastatakse parameeter serverisse kaugprotseduurikutse (RPC) mehhanismi kaudu. See mehhanism proovib sisemiselt laadida assemblerit, mis majutab UDT-d mälus.
Sellisel juhul võib salvestatud protseduuri käitamise jõudlus väheneda. See juhtub ebaefektiivsuse tõttu, mis on põhjustatud siis, kui RPC laadib ja laadib sqlCLR-i assembleri tarbetult maha.
See probleem ilmneb pikkade CLR_AUTO_EVENT ja CMEMTHREAD-tüüpide ooteaegadena. See kehtib eriti siis, kui samaaegseid kasutajaid käitab sama salvestatud protseduuri.
Lahendus
SQL Server hoolduspaketi teave
See värskendus on lahendatud järgmistes SQL Server hoolduspakettides:
Hoolduspakett 2 SQL Server 2016 jaoks
Hoolduspakett Service Pack 3 for SQL Server 2014
Hoolduspakett 4 SQL Server 2012 jaoks
Teave SQL Server hoolduspakettide kohta.
Hoolduspaketid on kumulatiivsed. Iga uus hoolduspakett sisaldab kõiki varasemates hoolduspakettides sisalduvaid parandusi koos uute parandustega. Meie soovitus on rakendada selle hoolduspaketi jaoks uusim hoolduspakett ja uusim koondvärskendus. Te ei pea enne uusima hoolduspaketi installimist installima eelmist hoolduspaketti. Uusima hoolduspaketi ja uusima koondvärskenduse kohta lisateabe saamiseks kasutage järgmises artiklis toodud tabelit 1.
SQL Server ja selle komponentide versiooni, väljaande ja värskenduse taseme määratlemine
Olek
Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.
Viited
Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta.