Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Microsoft izplata Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) vai Microsoft SQL Server 2012 labojumi vienā lejupielādējamā failā. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības atjauninājumi, kas iekļauti iepriekšējā SQL Server 2008 R2 1. servisa pakotnē (SP1) vai SQL Server 2012 atjaunināšanas laidienā.

Simptomi

Apsveriet tālāk norādītos scenārijus. Vaicājumu izveidojat programmā Microsoft SQL Server 2008 R2 vai Microsoft SQL Server 2012, un vaicājuma optimizētājs ģenerē izpildes plānu, kurā atrodas augšējais operators. Šajā scenārijā vaicājuma izpildei var būt nepieciešams ilgs laiks. Piemēram, palaižot vaicājumu, kas līdzīgs šim:

SELECT TableA.Col1 FROM TableA JOIN TableB ON TableA.Col1 = TableB.Col1 WHERE TableA.Col2 = N'A' AND TableB.Col3 IN (SELECT Col1 FROM TableC )Šis vaicājums ietver divus savienojumus. Viens savienojums ir starp TableB un TableC. (To nosaka Predikāts IN IN.) Otrs savienojums ir no tabulas A līdz pirmajam savienojumam. Predikāts IN tiks parādīts patiess, ja vaicājumā tiek atrasta vismaz viena rinda, kas atbilst pirmajam predikātam Join. Tāpēc vaicājuma optimizētājs vaicājuma izpildes plānā pievieno augšējo operatoru. Šis vaicājums var atgriezīs tikai dažas rindas. Tomēr, iespējams, būs nepieciešams vairāk laika, lai izpildītu šo vaicājumu, nekā varētu gaidīt. Faktiskais vaicājuma izpildes plāns, aptuvenais rindu skaits būtiski atšķiras no faktiskā rindu skaita. Tas ietekmē vaicājuma optimizētāja iespējas, lai precīzi novērtētu izmaksas dažādām plānu izvēlēm. Problēma var rasties arī tad, ja izmantojat galveno operatoru tieši vai izmantojat kādu no tālāk norādītajiem operatoriem.

  • OPCIJA (FAST N)

  • PROGRAMMĀ

  • PASTĀV

Risinājums

Kumulatīvās atjaunināšanas informācija

SQL Server 2008 R2 2. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 R2 2. servisa pakotnei. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2720425 Kumulatīvās atjaunināšanas pakotne 1 SQL Server 2008 R2 2. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2730301 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 2. servisa pakotne

SQL Server 2008 R2 1. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 7 SQL Server 2008 R2 1. servisa pakotnei. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2703282 Kumulatīvās atjaunināšanas pakotne 7 SQL Server 2008 R2 1. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2567616 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 1. servisa pakotne

SQL Server 2012

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2012 kumulatīvajā atjauninājumā 2. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2703275 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2012Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2012 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2692828 SQL Server 2012 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2012 SQL Server 2012 labojumfails ir jālieto SQL Server 2012.

SQL Server 2008 R2

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

2679366 Kumulatīvās atjaunināšanas pakotne 13 SQL Server 2008 R2Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2Piezīmes Pēc kumulatīvā atjauninājuma instalēšanas ieslēdziet izsekošanas karodziņu 4199, lai iespējotu labojumu, kas ir sniegts šajā kumulatīvajā atjauninājumā, ja ir spēkā šādi nosacījumi:

  • Vaicājuma plānam ir AUGŠĒJais operators virs ligzdota cikla savienojuma operatora (1. savienojums) citas puses pielietošanas/savienošanas operatora labajā pusē (2. savienojums).

  • Savienojuma ārējai pusei 1 ir ārējā atsauce uz 2. savienojuma ārējo pusi.

  • Join 1 izmanto predikāta vienlīdzību, kas atrodas kreisajā pusē esošajā kolonnā, kas ir unikāla.

Šāda vaicājuma piemērs tiek rādīts sadaļā "Simptomi". (Tiek pieņemts, ka datu bāzē pastāv daži unikāli ierobežojumi.) Ja ir citi vaicājumi, kuros ir AUGŠPUSes, opcija (FAST N), IN, vai pastāv operatori un rada līdzīgus simptomus, bet neiederas šajā rakstā aprakstītajā modelī, ieslēdziet izsekošanas karodziņu 4138.Brīdinājums Ja iespējojat izsekošanas karodziņu 4138, veiktspēja var samazināties dažiem citiem vaicājumiem, kas satur augšējo, opciju (FAST N), vai pastāv operatori. Izsekošanas karodziņu 4138 var izmantot tikai tad, ja ir patiess tālāk norādītie nosacījumi.

  • Tā ietekme uz lēniem vaicājumiem, kas ietver šos operatorus, ir apstiprināts.

  • Nav citu noderīgu risinājumu.

  • Citos vaicājumos, kuros ir līdzīgi operatori, nav noteiktas regresijas.

Statusa

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

Risinājums

Lai novērstu šo problēmu, izmantojiet kreiso ārējo savienojumu operatoru vai kādu no vairākām OPTIMIZĒTajām atstarpēm.

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×