KB2658214-remediere: performanță slabă atunci când rulați o interogare care conține corelații și predicatele în SQL Server 2008 sau în SQL Server 2008 R2 sau în SQL Server 2012

Microsoft distribuie Microsoft SQL Server 2008 R2 sau Microsoft SQL Server 2008 sau Microsoft SQL Server 2012 remedieri într-un singur fișier descărcabil. Deoarece remedierile sunt cumulative, fiecare lansare nouă conține toate remedierile rapide și toate actualizările de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 R2 sau SQL Server 2008 sau Microsoft SQL Server 2012 Update release.

Simptome

Luați în considerare următorul scenariu. Rulează o interogare care conține mai multe și predicate în Microsoft sql Server 2008, în Microsoft sql Server 2008 R2 sau în Microsoft sql Server 2012. Condițiile și predicatele sunt corelate. În acest scenariu, întâmpinați performanțe slabe în SQL Server 2008. De exemplu, această problemă apare atunci când se execută o interogare care seamănă cu următorul:

(column1 = constant1 or column1 = constant2 or …) and (column2 = constant3 or column2 = constant4 or …) and …

Cauză

Această problemă apare deoarece Optimizatorul de interogare selectează un plan de interogare ineficient dacă interogarea conține corelate și predicate. Atunci când numărul estimat de rânduri îndeplinește condițiile unui și PREDICAT, SQL Server presupune că toate condițiile sunt independente. Dacă condițiile sunt corelate, SQL Server subestimează Cardinalul pentru predicate și .

Rezolvare

Pentru a rezolva această problemă, aplicați următoarea actualizare cumulativă. După ce aplicați actualizarea, trebuie să activați Trace Flag 4137 pentru a adăuga noua logică pentru estimarea cardinalității și predicatele.Notă Această actualizare se aplică doar pentru a filtra predicatele.

Informații despre actualizarea cumulativă

SQL Server 2008 Service Pack 3

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 7 pentru SQL Server 2008 Service Pack 3. 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:

2738350 Pachetul de actualizare cumulativă 7 pentru SQL Server 2008 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 în versiunea anterioară SQL Server 2008 Service Pack 3. 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:

2629969 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008 Service Pack 3

SQL Server 2012

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 1 pentru SQL Server 2012. 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:

2679368 Pachetul de actualizare cumulativă 1 pentru SQL Server 2012Notă 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 2012 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:

2692828 SQL Server 2012 construiește care au fost lansate după ce s-a lansat SQL Server 2012 Trebuie să aplicați o remediere rapidă SQL Server 2012 la o instalare de SQL Server 2012.

SQL Server 2008 R2 Service Pack 1

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 5 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:

2659694 Pachetul de actualizare cumulativă 5 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 Service Pack 2

Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 8 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:

2648096 Pachetul de actualizare cumulativă 8 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.

Stare

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

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:

822499Schema 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?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×