Microsoft distribuie remedieri Microsoft SQL Server 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 cu versiunea anterioară SQL Server 2008 R2 fixă.
Simptome
În Microsoft SQL Server 2008 R2, este posibil să primiți rezultate inconsistente atunci când desfășurați o interogare complexă care utilizează operatorul Apply . Notă Primiți rezultatul corect în acest scenariu dacă utilizați sugestia de interogare Force Order într-o interogare.
Cauză
Această problemă apare deoarece Optimizatorul de interogare selectează un plan de execuție incorect pentru interogare. Optimizatorul de interogare tratează grupul după predicat pentru mai multe coloane dintr-un operator fizic al planului de execuție. Cu toate acestea, operatorul afișează toate coloanele grupate în lista de rezultate și nu grupează toate aceste coloane. Prin urmare, interogarea poate returna un rezultat incorect. Notă Un exemplu de operator fizic este operatorul agregat al fluxului . De exemplu, instrumentul de optimizare a interogărilor generează un grup după ColA, clauza ColB pe plan intern în tabelul următor:
ColA |
ColB |
---|---|
0 |
0 |
0 |
1 |
Optimizatorul de interogare poate genera incorect un plan de execuție care returnează coloanele ColA și ColB . Aceste coloane sunt grupate după coloana ColA din lista ieșire. În acest exemplu, interogarea poate returna aleator 0 sau 1 în coloana ColB dacă valorile din coloana ColA sunt 0.
Rezolvare
Informații despre actualizarea cumulativă
SQL Server 2008 R2
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 5. 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:
2438347 Pachetul de actualizare cumulativă 5 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”.
Mai multe informații
Pentru a verifica dacă întâmpinați această problemă, examinați planul de execuție al interogării problematice, apoi verificați operatorii de grup. De exemplu, Verificați operatorul agregat flux, operatorul agregat hash, operatorul de sortare distinct și operatorul segment. Dacă lista coloanelor de ieșire este mai lungă decât lista coloanelor grupate, întâmpinați această problemă.
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:
822499Schemă 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