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 2005 vai Microsoft SQL Server 2008 vai SQL 2008 R2 labojumus kā vienu lejupielādējamo failu. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā Microsoft SQL Server 2005 vai Microsoft SQL Server 2008 vai SQL 2008 R2 labošanas laidienā

Simptomi

Pieņemiet, ka izpildāt vaicājumu Microsoft SQL Server 2005 vai Microsoft SQL Server 2008 vai Microsoft SQL Server 2008 R2, kas atbilst šādiem nosacījumiem:

  • Vaicājumā ir relāciju operators. Piemēram, operatoru mazāks nekā (<).

  • Relāciju operatora operandā ir DATEDIFF funkcija.

Šajā gadījumā SQL Server var atlasīt neoptimālu vaicājuma plānu, lai izpildītu šo vaicājumu. Tāpēc vaicājums var darboties lēni.

Cēlonis

Šī problēma rodas tāpēc, ka SQL Server optimizētājs nenovērtē rindu skaitu, kas tiks atgriezti, kad lietosit funkciju DATEDIFF .

Risinājums

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

SQL Server 2005 3. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 15 SQL Server 2005 3. servisa pakotnei. 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:

2507766 Kumulatīvās atjaunināšanas pakotne 15 SQL Server 2005 3. 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 2005 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:

960598 SQL Server 2005 būvējumi, kas tika izlaisti pēc SQL Server 2005 3. servisa pakotnes izlaišanas Microsoft SQL Server 2005 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2005 Service Pack 3 labojumfails ir jālieto SQL Server 2005 3. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.

SQL Server 2005 4. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2005 4. servisa pakotnes 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:

2489409 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2005 4. 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 2005 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:

2485757 SQL Server 2005 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2005 4. servisa pakotne Microsoft SQL Server 2005 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2005 4. servisa pakotnes labojumfails ir jālieto SQL Server 2005 4. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.

SQL Server 2008 1. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 13 SQL Server 2008 1. servisa pakotnei. 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:

2497673 Kumulatīvās atjaunināšanas pakotne 13 SQL Server 2008 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 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:

970365 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 1. servisa pakotne Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 1. servisa pakotnes labojumfails ir jālieto SQL Server 2008 1. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.

SQL Server 2008 2. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 3 SQL Server 2008 2. servisa pakotnei. 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:

2498535 Kumulatīvās atjaunināšanas pakotne 3 SQL Server 2008 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 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:

2402659 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 2. servisa pakotne Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 2. servisa pakotnes labojumfails ir jālieto SQL Server 2008 2. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.

SQL Server 2008 R2 1. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 R2 Service Pack 1 kumulatīvajā atjauninājumā. 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:

2544793 Kumulatīvās atjaunināšanas pakotne 1 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 2008 R2

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjaunināšanā 7. 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:

2507770 Kumulatīvās atjaunināšanas pakotne SQL Server 2008 R2 Piezī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 R2

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, pārrakstiet vaicājumu tā, lai vaicājumu plāns nelietotu funkciju DATEDIFF predikātos. Piemēram, tālāk norādītās darbības var palēnināties.create procedure proc_test @date datetimeasselect COUNT (*) from t where c1 <DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) Taču varat atkārtoti rakstīt vaicājumu kā tālāk norādītās darbības, lai novērstu šo problēmu:create procedure proc_test2 @date datetimeasdeclare @datestr nvarchar(50), @sqlstr nvarchar(1024)set @datestr = CAST (DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) as nvarchar(50))set @sqlstr ='select COUNT (*) from t where c1 < ''' + @datestr + ''''exec (@sqlstr)

Atsauces

Lai iegūtu papildinformāciju par papildu apkalpošanas modeli SQL Server, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

935897 SQL Server komandā ir pieejams papildu apkalpošanas modelis, kas sniedz labojumfailus ziņotām problēmāmLai iegūtu papildinformāciju par nosaukumdošanas shēmu SQL Server atjauninājumiem, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

822499 Jauna nosaukuma shēma Microsoft SQL Server programmatūras atjaunināšanas pakotnēmLai iegūtu papildinformāciju par programmatūras atjaunināšanas terminoloģiju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

824684 Apraksts par standarta terminoloģiju, kas tiek izmantota Microsoft programmatūras atjauninājumu aprakstos

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!

×