KB3005300 — LABOJUMS: augsts centrālā procesora patēriņš, ja izmantojat telpisko datu tipu un saistītās metodes SQL Server 2012 vai SQL Server 2014

Attiecas uz
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

Pazīmes

Lietojot telpisko datu tipu un saistītās metodes programmā Microsoft SQL Server 2012 vai Microsoft SQL Sever 2014, SQL Server operētājsistēmas (SQLOS) plānotāja kvantu mērķi tiek aizsargāti ar SQL Server CLR viesošanas slāni. Šī aizsardzība ietver preventīvu, SQLOS slēdži var palielināt CPU patēriņu. Preventīvās pārslēgšanās iemesls ir SQL plānotāja aizsardzība. Izsaukums uz SQL Server CLR balstītu ieviešanu var aizņemt nenoteiktu laiku, nepiekāpjoties SQLOS plānotājam vai mainot uzvedības un laiksakritības modeļus. Tāpēc telpisko datu tips ir paredzēts pārslēgties preventīvi katras izsaukšanas laikā.

Piezīme Telpisko datu tips ir balstīts uz SQL Server CLR, tas var saskarties ar dažādiem .NET atmiņas patēriņa līmeņiem un pavedienu pārslēgšanas uzvedību.

Iemesls

Telpisko datu tipu metožu izpilde parasti ir zem milisekundes, un tām var nebūt nepieciešams pilns SQL OS plānotājs un preventīvā aizsardzība. Pārslēgšanās uz un no preventīvā režīma pieskaitāmās izmaksas var būt daudz lielākas nekā pašas telpiskās metodes izpilde.

Risinājums

Šis labojums ievieš izsekošanas karodziņu 6531, lai SQL viesošanas slānim norādītu, ka telpisko datu tipam jāizvairās no preventīvas aizsardzības. Tas var samazināt centrālā procesora patēriņu un uzlabot vispārējo veiktspēju telpiskajām aktivitātēm. Izmantojiet šo izsekošanas karodziņu tikai tad, ja atsevišķas telpiskās metodes izsaukumi (vienai rindai un kolonnai) aizņem mazāk nekā ~4 ms. Ilgāki izsaukumi bez preventīvās aizsardzības var izraisīt plānotāja laiksakritības problēmas un kļūdu žurnālā reģistrētos SQLCLR soda ziņojumus.

Šī problēma pirmo reizi tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā.

SQL Server 2012 SP2 4. kumulatīvais atjauninājums /en-us/help/3007556

SQL Server 2014 5. kumulatīvais atjauninājums /en-us/help/3011055

Kumulatīvais atjauninājums 13 operētājsistēmai SQL Server 2012 SP1 /en-us/help/3002044

Par SQL Server kumulatīvajiem atjauninājumiem

Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos SQL Server kumulatīvos atjauninājumus:

      

Statuss

Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".