Microsoft distribuuje Microsoft SQL Server 2008 R2 SP1 opravy ako jeden súbor na stiahnutie. Pretože opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 SP1 opraviť uvoľnenia.
Príznaky
Zvážte nasledujúci scenár. Spustíte dotaz MDX, ktorý používa vnorené funkcie Crossjoin v Microsoft SQL Server 2008 R2. Vnorené funkcie Crossjoin odkazujú na niektoré Interleaved hierarchie. V tomto scenári sa dotaz spustí veľmi pomaly a SQL Server 2008 R2 môže prestať reagovať. Napríklad spustíte dotaz MDX, ktorý sa podobá nasledujúcemu hláseniu:
CrossJoin (CrossJoin (CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])), [Dimension1 Hierarchy]), [Dimension2 Hierarchy]), [Dimension1 Hierarchy])Poznámky:
-
Vnorené funkcie Crossjoin v prenechaných hierarchiách odkazujú na rôzne hierarchie rozmerov.
-
Tento problém sa nevyskytuje v SQL Server 2008.
Príčina
Tento problém sa vyskytuje, pretože pamäť, ktorá je potrebná na zoskupenie hierarchií z rovnakej dimenzie, sa exponenciálne zväčšuje a nakoniec sa použije.
Riešenie
Kumulatívna aktualizácia informácií
SQL Server 2008 R2 Service Pack 2
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 3. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2008 R2 Service Pack 2 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2754552 Kumulatívna aktualizácia balíka 3 pre SQL Server 2008 R2 Service Pack 2 Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 Service Pack 2 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:
2730301 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 Service Pack 2
SQL Server 2008 R2 SP1
Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 8. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2008 R2 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
2723743 Kumulatívna aktualizácia balíka 8 pre SQL Server 2008 R2 Service Pack 1Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:
2567616 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 Service Pack 1
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Alternatívne riešenie
Ak chcete tento problém obísť, zmeňte dotaz tak, aby sa v rámci vonkajšej funkcie Crossjoin umiestnila hierarchia druhej dimenzie. Môžete napríklad prepísať dotaz, ktorý sa podobá nasledujúcemu hláseniu:
CrossJoin(CrossJoin(CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])),[Dimension1 Hierarchy]), [Dimension1 Hierarchy]), [Dimension2 Hierarchy])