Firma Microsoft rozpowszechnia poprawki Microsoft SQL Server 2008 z dodatkiem Service Pack 1 (SP1) lub SQL Server 2008 R2 jako jeden plik do pobrania. Ponieważ poprawki są kumulatywne, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji programu SQL Server 2008 z dodatkiem Service Pack 1 (SP1) lub SQL Server 2008 R2 poprawka.

Symptomy

Rozpatrzmy następujący scenariusz:

  • Istnieje kwerenda wyrażeń wielowymiarowych (MDX), która spełnia następujące warunki w programie Microsoft SQL Server 2008 Analysis Services (SSAS) 2008 lub w programie Microsoft SQL Server 2008 R2 Analysis Services (SSAS) 2008 R2:

    • Kwerenda korzysta z funkcji połączenie krzyżowe.

    • Wyrażenie zapytania zawiera więcej niż dwa zestawy argumentów składające się z krotek z różnych hierarchii atrybutów w tym samym wymiarze.

    • Te zestawy są rozdzielone przez inny zestaw składający się z krotek z innego wymiaru.

    • Teoretyczny zestaw wyników dla funkcji połączenie krzyżowe jest zwykle większy niż 4 294 967 296 krotek. Na przykład masz zapytanie MDX zawierające następujące elementy:

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

W tym scenariuszu kwerenda nie jest uruchamiana. Ponadto wyświetlany zostanie następujący komunikat o błędzie:

Wyrażenie zawiera nazwę funkcji, która nie może działać w zestawie o wartości większej niż 4 294 967 296 krotek.

Uwaga Ten typ kwerendy MDX może być generowany automatycznie przez tabelę przestawną programu Excel.

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 z dodatkiem SP1

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 11. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 z dodatkiem Service Pack 1 (SP1), kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2413738 Pakiet aktualizacji zbiorczej 11 dla programu SQL Server 2008 z dodatkiem Service Pack 1 Uwaga Ponieważ kompilacje są zbiorcze, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do wcześniejszego wydania dodatku Service Pack 1 (SP1) dla programu SQL Server 2008. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

970365 Kompilacje programu SQL Server 2008 wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2008

SQL Server 2008 R2

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 5. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2438347 Pakiet aktualizacji zbiorczej 5 dla programu SQL Server 2008 R2 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

981356 Kompilacje programu SQL Server 2008 R2, które zostały wydane po opublikowaniu programu SQL Server 2008 R2

SQL Server 2008 z dodatkiem Service Pack 2

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 2 dla programu SQL Server 2008 z dodatkiem Service Pack 2. Aby uzyskać więcej informacji na temat tego zbiorczego pakietu aktualizacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2467239 Pakiet aktualizacji zbiorczej 2 dla programu SQL Server 2008 z dodatkiem Service Pack 2Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2008. Firma Microsoft zaleca zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2402659 Kompilacje programu SQL Server 2008 wydane po opublikowaniu dodatku Service Pack 2 dla programu SQL Server 2008 Poprawki programu Microsoft SQL Server 2008 są tworzone dla określonych pakietów Service Pack programu SQL Server. Musisz zastosować poprawkę dodatku Service Pack 2 dla programu SQL Server 2008 do instalacji dodatku Service Pack 2 do programu SQL Server 2008. Wszystkie poprawki podane w dodatku Service Pack programu SQL Server są domyślnie zawarte w następnym dodatku Service Pack dla programu SQL Server.

Obejście

Aby obejść ten problem, użyj wyrażenia zawierającego dwa przylegające atrybuty z tego samego wymiaru w zapytaniu. Na przykład kwerenda MDX zawiera następujące elementy:

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

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość tłumaczenia?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×