Microsoft distribuie remedieri Microsoft SQL Server 2008 R2 SP1 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ă SQL Server 2008 R2 SP1.
Simptome
Luați în considerare următorul scenariu. Rulează o interogare MDX care utilizează funcțiile Crossjoin imbricate în Microsoft SQL Server 2008 R2. Funcțiile Crossjoin imbricate fac referire la câteva ierarhii Interleaved. În acest scenariu, interogarea rulează foarte lent și SQL Server 2008 R2 poate să nu mai răspundă. De exemplu, rulează o interogare MDX care seamănă cu următorul:
CrossJoin (CrossJoin (CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])), [Dimension1 Hierarchy]), [Dimension2 Hierarchy]), [Dimension1 Hierarchy])Note
-
În ierarhiile Interleaved, funcțiile Crossjoin imbricate fac referire la ierarhii de dimensiune diferite.
-
Această problemă nu se produce în SQL Server 2008.
Cauză
Această problemă apare deoarece memoria necesară pentru a Grupa ierarhiile din aceeași dimensiune crește exponențial și este în cele din urmă utilizată.
Rezolvare
Informații despre actualizarea cumulativă
SQL Server 2008 R2 Service Pack 2
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 3. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 R2 Service Pack 2, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2754552 Pachetul de actualizare cumulativă 3 pentru SQL Server 2008 R2 Service Pack 2 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 în versiunea anterioară SQL Server 2008 R2 Service Pack 2 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:
2730301 SQL Server 2008 R2 construiește care au fost lansate după ce s-a lansat SQL Server 2008 R2 Service Pack 2
SQL Server 2008 R2 SP1
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 8. 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:
2723743 Pachetul de actualizare cumulativă 8 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
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ă, modificați interogarea pentru a plasa a doua ierarhie de dimensiune în funcția Crossjoin externă. De exemplu, rescrieți interogarea pentru a semăna cu următorul:
CrossJoin(CrossJoin(CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])),[Dimension1 Hierarchy]), [Dimension1 Hierarchy]), [Dimension2 Hierarchy])