KB2430162 - OPRAVA: Při pokusu o spuštění dotazu MDX ve službě SSAS 2008 nebo SSAS 2008 R2 se zobrazí chybová zpráva "Výraz obsahuje funkci, pro kterou nelze pracovat s množinou s více než 4 294 96 296 řazenými kolekcemi"

Microsoft distribuuje opravy pro Microsoft SQL Server 2008 Service Pack 1(SP1) nebo SQL Server 2008 R2 jako jeden soubor ke stažení. Vzhledem k tomu, že opravy jsou kumulativní, obsahuje každá nová verze všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze opravy pro SQL Server 2008 Service Pack 1(SP1) nebo SQL Server 2008 R2.

Příznaky

Vezměte v úvahu následující scénář:

  • Máte dotaz MDX (Multidimensional Expressions), který splňuje následující podmínky v Microsoft SQL Server 2008 Analysis Services (SSAS) 2008 nebo v Microsoft SQL Server 2008 R2 Analysis Services (SSAS) 2008 R2:

    • Dotaz používá funkci CROSSJOIN.

    • Výraz dotazu obsahuje více než dvě sady argumentů, které se skládají z řazených kolekcí členů z různých hierarchií atributů ve stejné dimenzi.

    • Tyto sady jsou oddělené další sadou, která se skládá z řazených kolekcí členů z jiné dimenze.

    • Teoretická sada výsledků pro funkci CROSSJOIN je obvykle více než 4 294 967 296 řazených kolekcí členů.
      Máte například dotaz MDX, který obsahuje následující položky:

      WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Customer].[Customer].[Customer], [Product].[Product].[Product])
      SELECT {} ON 0,
      S.ITEM(1) ON 1
      FROM [Adventureworks]
      
  • Pokusíte se dotaz spustit.

V tomto scénáři se dotaz nespustí. Navíc se zobrazí následující chybová zpráva:

Poznámka

Výraz obsahuje funkci, která nemůže pracovat s množinou s více než 4 294 967 296 řazenými kolekcemi členů.

Poznámka: Tento typ dotazu MDX může být automaticky generován kontingenční tabulkou aplikace Excel.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2008 SP1

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 11. Další informace o získání tohoto balíčku kumulativních aktualizací pro SQL Server 2008 Service Pack 1 (SP1) naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

2413738 Balíček kumulativní aktualizace 11 pro SQL Server 2008 Service Pack 1 Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, obsahuje každá nová verze opravy všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího vydání opravy Service Pack 1 (SP1) pro SQL Server 2008. Doporučujeme zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

970365 Buildy SQL Server 2008 vydané po vydání aktualizace Service Pack 1 SQL Server 2008

SQL Server 2008 R2

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 5. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 R2 naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

2438347 Balíček 5 kumulativní aktualizace pro SQL Server 2008 R2 Poznámka: Buildy jsou kumulativní, a proto každá nová verze opravy obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího vydání opravy pro SQL Server 2008 R2. Doporučujeme zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

981356 Buildy SQL Server 2008 R2, které byly vydány po vydání verze SQL Server 2008 R2

SQL Server 2008 Service Pack 2

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 2 pro SQL Server 2008 Service Pack 2. Další informace o tomto balíčku kumulativních aktualizací naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

2467239 Balíček kumulativní aktualizace 2 pro SQL Server 2008 Service Pack 2Poznámka Vzhledem k tomu, že buildy jsou kumulativní, obsahuje každá nová verze opravy všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze opravy SQL Server 2008. Společnost Microsoft doporučuje zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

2402659 Buildy SQL Server 2008 vydané po vydání aktualizace Service Pack 2 SQL Server 2008 Opravy hotfix pro Microsoft SQL Server 2008 se vytváří pro konkrétní SQL Server aktualizace Service Pack. Opravu hotfix pro SQL Server 2008 Service Pack 2 je nutné nainstalovat pro instalaci systému SQL Server 2008 Service Pack 2. Ve výchozím nastavení jsou všechny opravy hotfix poskytované v aktualizaci Service Pack pro SQL Server zahrnuty do další aktualizace Service Pack pro SQL Server.

Alternativní řešení

Tento problém obejdete tak, že v dotazu použijete dva sousedící atributy ze stejné dimenze. Dotaz MDX například obsahuje následující údaje:

WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Product].[Product].[Product], [Customer].[Customer].[Customer])
SELECT {} ON 0,
S.ITEM(1) ON 1
FROM [Adventureworks]

      

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.