KB2520808 — LABOJUMS: neienesīga plānotāja kļūda, ja palaižat vaicājumu, kas izmanto TVP versijā SQL Server 2008 vai SQL Server 2008 R2, ja tiek izmantots SQL Profiler vai SQL Server Extended notikumi

Attiecas uz
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard

Microsoft izplata Microsoft SQL Server 2008 R2 labojumus kā vienu lejupielādējamu failu. Tā kā labojumi ir kumulatīvi, katrs jaunais laidiens ietver visus labojumfailus un drošības labojumus, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labojuma laidienā.

Pazīmes

Apsveriet šādu scenāriju:

  • Datorā, kurā darbojas Microsoft SQL Server 2008 vai Microsoft SQL Server 2008 R2, tiek izmantots tabulas vērtības parametrs (TVP), kas satur daudz rindu.
  • Serverī izmantojat SQL Profiler vai SQL Server paplašinātos notikumus.
  • Vaicājums tiek izpildīts kopā, izmantojot TVP.

Šādā gadījumā rodas neienesīga plānotāja kļūda un vaicājumi, kas jau darbojas tajā pašā plānotājā, tiek izpildīti lēni. Turklāt SQL Server žurnālmapē tiek ģenerēts mini izmetes fails.

Iemesls

Šo problēmu rada kļūda SQL Server datu bāzes programmā. Teksta kolonnas TVP tiek ieviestas kā ievietošanas virknes vai buferi, un rindu skaita palielināšanās palielina buferu skaitu. Tomēr buferu atbrīvošanas process ir laikietilpīgs. Tāpēc, veicot atlaišanas un samazināšanas darbības, tiek ģenerēta neienesīga plānotāja kļūda.

Risinājums

Lai šo problēmu atrisinātu SQL SQL Server 2008 R2, izmantojiet kādu no šīm metodēm:

  • Instalējiet SQL Server 2008 R2 7. kumulatīvā atjauninājuma pakotni.
  • Instalējiet šo labojumfailu pakotni.

Lai atrisinātu šo problēmu versijā SQL Server 2008 R2 vai SQL Server 2008, skatiet sadaļu Risinājums.

Kumulatīvā atjauninājuma informācija

SQL Server 2008 R2

                
Šīs problēmas labojums pirmo reizi tika izlaists 7. kumulatīvajā atjauninājumā. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvā atjauninājuma pakotni operētājsistēmai SQL Server 2008 R2, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

2507770 SQL Server 2008 R2 7. kumulatīvā atjauninājuma pakotne Tā kā būvējumi ir kumulatīvi, katrs jaunais labojumu laidiens ietver visus labojumfailus un drošības labojumus, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labojumu laidienā. Iesakām apsvērt tā labojumfaila lietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz tālāk norādītā raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc SQL Server 2008 R2 izlaišanas

Informācija par labojumfailu

            
 Atbalstīts labojumfails ir pieejams no Microsoft. Tomēr šis labojumfails ir paredzēts, lai novērstu tikai šajā rakstā aprakstīto problēmu. Lietojiet šo labojumfailu tikai tām sistēmām, kurās radušās šajā rakstā aprakstītās problēmas. Šim labojumfailam var tikt veikta papildu testēšana. Tāpēc, ja šī problēma jūs nopietni neietekmē, ieteicams gaidīt nākamo programmatūras atjauninājumu, kurā ir iekļauts šis labojumfails.

Ja labojumfails ir pieejams lejupielādei, šī zināšanu bāzes raksta augšdaļā ir sadaļa "Labojumfaila lejupielāde pieejama". Ja šī sadaļa netiek parādīta, sazinieties ar Microsoft klientu apkalpošanas un atbalsta dienestu, lai iegūtu labojumfailu.

Piezīme. Ja rodas papildu problēmas vai nepieciešama problēmu novēršana, iespējams, jums būs jāizveido atsevišķs pakalpojuma pieprasījums. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar šo konkrēto labojumfailu. Lai skatītu pilnu Microsoft klientu apkalpošanas un atbalsta tālruņa numuru sarakstu vai izveidotu atsevišķu pakalpojuma pieprasījumu, apmeklējiet šo Microsoft vietni:

/contactus/?ws=support Piezīme Veidlapā "Pieejama labojumfailu lejupielāde" tiek parādītas valodas, kurām labojumfails ir pieejams. Ja neredzat savu valodu, labojumfails šai valodai nav pieejams.

Priekšnosacījumi

Lai lietotu šo labojumfailu, jābūt instalētai programmai Microsoft SQL Server 2008 R2.

Restartēšanas prasības

Pēc šī labojumfaila lietošanas nav jārestartē dators.

Informācija par labojumfailu aizstāšanu

Šis labojumfails neaizstāj iepriekš izlaistu labojumfailu.

Informācija par failiem

Šīs versijas faila atribūti (vai vēlāki faila atribūti), kas norādīti tālāk esošajā tabulā. Šo failu datums un laiks ir norādīts atbilstoši universālajam koordinētajam laikam (UTC). Kad skatāt faila informāciju, tā tiek pārvērsta par vietējo laiku. Lai uzzinātu atšķirību starp UTC un vietējo laiku, izmantojiet cilni Laika josla vadības paneļa vienumā Datums un laiks.

Visām atbalstītajām SQL Server 2008 R2 x86 versijām

Faila nosaukums Faila versija Faila lielums Datums Laiks Platforma
Sqlservr.exe 2009.100.1769.0 42,919,776 2011. gada 22. marts 19:37 x86

Visām atbalstītajām SQL Server 2008 R2 x64 versijām

Faila nosaukums Faila versija Faila lielums Datums Laiks Platforma
Sqlservr.exe 2009.100.1769.0 61,974,880 2011. gada 22. marts 18:46 x64

Visām atbalstītajām SQL Server 2008 R2 IA-64 versijām

Faila nosaukums Faila versija Faila lielums Datums Laiks Platforma
Sqlservr.exe 2009.100.1769.0 121,813,856 2011. gada 22. marts 18:14 IA-64

              

              

Risinājums

Lai šo problēmu atrisinātu, izmantojiet kādu no šīm metodēm:

  • Neizmantojiet SQL Profiler vai SQL Server paplašinātos notikumus.
  • Noklikšķiniet, lai izsekošanas definīcijā notīrītu izvēles rūtiņas RPC:Beginning un RPC:Completed .

Statuss

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

Papildinformācija

Lai iegūtu papildinformāciju par TVP, apmeklējiet šo MSDN tīmekļa vietni:

Vispārīga informācija par TVP Lai iegūtu papildinformāciju par SQL Profiler, apmeklējiet šo MSDN tīmekļa vietni:

Vispārīga informācija par SQL Profiler