KB3005300 - FIX: suur protsessoritarbimine ruumiandmetüübi ja seotud meetodite kasutamisel SQL Server 2012 või SQL Server 2014

Rakenduskoht
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Sümptomid

Kui kasutate Microsoft SQL Server 2012 või Microsoft SQL Sever 2014 ruumiandmetüüpi ja seotud meetodeid, kaitseb SQL Server operatsioonisüsteemi (SQLOS) ajasti kvantdiagrammi sihtmärke SQL Server CLR-i majutuskiht. See kaitse hõlmab ennetavat, SQLOS-i lülitid võivad protsessori tarbimist suurendada. Preemptiivse lüliti põhjus on SQLOS-i ajasti kaitsmine. Kutse SQL Server CLR-i põhisesse rakendusse võib võtta määramata aega ilma SQLOS-i ajasti andmata või käitumis- ja samaaegsusmustrite muutmiseta. Seetõttu on ruumiandmetüüp mõeldud iga kutsumise ajal eeliskorras vahetamiseks.

Märkus. Ruumilise andmetüübi aluseks on SQL Server CLR, võib see kokku puutuda .NET-i mälukasutuse ja lõime vahetamise käitumise erinevate tasemetega.

Põhjus

Ruumilise andmetüübi meetodite täitmised on tavaliselt ala millisekundites ja ei pruugi nõuda täielikku SQL OS-i ajasti ja ennetavat kaitset. Eelduslikule režiimile ülemineku ja sealt väljalülitamise üldkulud võivad olla palju suuremad kui ruumilise meetodi enda täitmine.

Lahendus

See parandus tutvustab jälituse lippu 6531, mis näitab SQLOS-i hostikihile, et ruumilise andme tüüp peaks vältima ennetavat kaitset. See võib vähendada protsessoritarbimist ja parandada ruumilise tegevuse üldist jõudlust. Kasutage seda jälituslippu ainult juhul, kui üksiku ruumilise meetodi kutsumised (rea ja veeru kohta) võtavad vähem kui ~4 ms. Pikemad kutsumised ilma ennetava kaitseta võivad põhjustada ajasti samaaegsuse probleeme ja tõrkelogisse logitud SQLCLR-i karistusteateid.

Probleem lahendati esmalt järgmises SQL Server koondvärskenduses.

SQL Server 2012 SP2 koondvärskendus 4 /en-us/help/3007556

SQL Server 2014 koondvärskendus 5 /en-us/help/3011055

SQL Server 2012 SP1 koondvärskendus 13 /en-us/help/3002044

Teave SQL Server koondvärskenduste kohta

Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Vaadake uusimaid SQL Server koondvärskendusi.

      

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.