Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Microsoft distribuie remedieri Microsoft SQL Server 2005 sau Microsoft SQL Server 2008 sau SQL 2008 R2 ca un fișier descărcabil. Deoarece remedierile sunt cumulative, fiecare lansare nouă conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în versiunea anterioară Microsoft SQL Server 2005 sau Microsoft SQL Server 2008 sau SQL 2008 R2 fix Release

Simptome

Să presupunem că ați rulat o interogare într-o instanță a Microsoft SQL Server 2005 sau Microsoft SQL Server 2008 sau Microsoft SQL Server 2008 R2 care îndeplinește următoarele condiții:

  • Interogarea conține un operator relațional. De exemplu, operatorul mai mic decât (<).

  • Există o funcție DATEDIFF în operandul operatorului relațional.

În această situație, SQL Server poate selecta un plan de interogare suboptimal pentru a executa această interogare. Prin urmare, interogarea poate să ruleze lent.

Cauză

Această problemă apare deoarece Optimizer SQL Server subestimează numărul de rânduri care vor fi returnate atunci când utilizați funcția DATEDIFF .

Rezolvare

Informații despre actualizarea cumulativă

SQL Server 2005 Service Pack 3

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 15 pentru SQL Server 2005 Service Pack 3. Pentru mai multe informații despre acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

2507766 Pachetul de actualizare cumulativă 15 pentru SQL Server 2005 Service Pack 3Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2005 fix release. Microsoft recomandă să luați în considerare aplicarea celei mai recente versiuni de remediere care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

960598 SQL Server 2005 construiește care au fost lansate după ce s-a lansat SQL Server 2005 Service Pack 3 Sunt create remedieri rapide Microsoft SQL Server 2005 pentru anumite pachete de servicii SQL Server. Trebuie să aplicați o remediere rapidă SQL Server 2005 Service Pack 3 la o instalare de SQL Server 2005 Service Pack 3. În mod implicit, orice remediere rapidă furnizată într-un pachet de servicii SQL Server este inclusă în următorul pachet de servicii SQL Server.

SQL Server 2005 Service Pack 4

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 2 pentru SQL Server 2005 Service Pack 4. Pentru mai multe informații despre acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

2489409 Pachetul de actualizare cumulativă 2 pentru SQL Server 2005 Service Pack 4Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2005 fix release. Microsoft recomandă să luați în considerare aplicarea celei mai recente versiuni de remediere care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

2485757 SQL Server 2005 construiește care au fost lansate după ce s-a lansat SQL Server 2005 Service Pack 4 Sunt create remedieri rapide Microsoft SQL Server 2005 pentru anumite pachete de servicii SQL Server. Trebuie să aplicați o remediere rapidă SQL Server 2005 Service Pack 4 la o instalare de SQL Server 2005 Service Pack 4. În mod implicit, orice remediere rapidă furnizată într-un pachet de servicii SQL Server este inclusă în următorul pachet de servicii SQL Server.

SQL Server 2008 Service Pack 1

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 13 pentru SQL Server 2008 Service Pack 1. Pentru mai multe informații despre acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

2497673 Pachetul de actualizare cumulativă 13 pentru SQL Server 2008 Service Pack 1Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 fix release. Microsoft recomandă să luați în considerare aplicarea celei mai recente versiuni de remediere care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

970365 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008 Service Pack 1 Sunt create remedieri rapide Microsoft SQL Server 2008 pentru anumite pachete de servicii SQL Server. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 1 la o instalare de SQL Server 2008 Service Pack 1. În mod implicit, orice remediere rapidă furnizată într-un pachet de servicii SQL Server este inclusă în următorul pachet de servicii SQL Server.

SQL Server 2008 Service Pack 2

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 3 pentru SQL Server 2008 Service Pack 2. Pentru mai multe informații despre acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

2498535 Pachetul de actualizare cumulativă 3 pentru SQL Server 2008 Service Pack 2Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 fix release. Microsoft recomandă să luați în considerare aplicarea celei mai recente versiuni de remediere care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

2402659 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008 Service Pack 2 Sunt create remedieri rapide Microsoft SQL Server 2008 pentru anumite pachete de servicii SQL Server. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 2 la o instalare de SQL Server 2008 Service Pack 2. În mod implicit, orice remediere rapidă furnizată într-un pachet de servicii SQL Server este inclusă în următorul pachet de servicii SQL Server.

SQL Server 2008 R2 Service Pack 1

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 1 pentru SQL Server 2008 R2 Service Pack 1. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

2544793 Pachetul de actualizare cumulativă 1 pentru SQL Server 2008 R2 Service Pack 1Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 R2 remediată. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni de remediere care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

2567616 SQL Server 2008 R2 construiește care au fost lansate după ce s-a lansat SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 7. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 R2, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

2507770 Pachetul de actualizare cumulativă 7 pentru SQL Server 2008 R2 Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 R2 remediată. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni de remediere care conține această remediere rapidă. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

981356 SQL Server 2008 R2 construiește care au fost lansate după ce s-a lansat SQL Server 2008 R2

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Soluție de evitare

Pentru a rezolva această problemă, rescrieți interogarea astfel încât planul de interogare să nu utilizeze funcția DATEDIFF în predicate. De exemplu, următoarele pot să ruleze lent:create procedure proc_test @date datetimeasselect COUNT (*) from t where c1 <DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) Cu toate acestea, puteți să rescrieți interogarea ca următoarele pentru a rezolva problema: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)

Referințe

Pentru mai multe informații despre modelul de întreținere incrementală pentru SQL Server, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

935897 Un model de întreținere incrementală este disponibil de la echipa SQL Server pentru a livra remedieri rapide pentru problemele raportatePentru mai multe informații despre schema de denumire pentru actualizările SQL Server, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

822499 Schemă nouă de denumire pentru pachetele de actualizare software Microsoft SQL ServerPentru mai multe informații despre terminologia actualizării software-ului, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

824684 Descrierea terminologiei standard care este utilizată pentru a descrie actualizările de software Microsoft

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×