Firma Microsoft rozpowszechnia poprawki programu Microsoft SQL Server 2008 R2 z dodatkiem Service Pack 1 (SP1) lub Microsoft SQL Server 2012 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każdy nowy pakiet zawiera wszystkie poprawki i wszystkie aktualizacje zabezpieczeń, które zostały dołączone do wcześniejszej wersji programu SQL Server 2008 R2 z dodatkiem Service Pack 1 (SP1) lub SQL Server 2012.
Symptomy
Rozpatrzmy następujący scenariusz:
-
W wystąpieniu programu Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) lub wystąpienia usług Analysis Services programu Microsoft SQL Server 2012 (SSAS 2012) jest uruchamiane złożone zapytanie MDX.
-
W przypadku kwerendy MDX są spełnione następujące warunki:
-
W kwerendzie MDX jest używana niepusta funkcja.
-
Klauzula WHERE zapytania MDX zawiera nazwany zestaw.
-
Zestaw osi w kwerendzie MDX i nazwany zestaw używają hierarchii z tych samych wymiarów.
-
W tym scenariuszu może zostać wyświetlony 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 problem występuje również w usługach Analysis Services programu Microsoft SQL Server 2008 (SSAS 2008).
Rozwiązanie
Informacje o aktualizacji zbiorczej
Program SQL Server 2012
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 1 dla programu SQL Server 2012. 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:
2679368 Pakiet aktualizacji zbiorczej 1 dla programu SQL Server 2012Uwaga 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 2012. 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:
2692828 Kompilacje programu SQL Server 2012 wydane po wydaniu programu SQL Server 2012 Musisz zastosować poprawkę SQL Server 2012 do instalacji programu SQL Server 2012.
Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2008 R2 z dodatkiem SP1
Poprawka dotycząca tego problemu została po raz pierwszy wydana w pakiecie aktualizacji zbiorczej 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2 z dodatkiem SP1, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2591748 Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2008 R2 z dodatkiem SP1Uwaga Ponieważ kompilacja jest zbiorcza, każda nowa wersja aktualizacji zawiera wszystkie poprawki i wszystkie aktualizacje zabezpieczeń, które zostały dołączone do poprzedniej wersji aktualizacji programu SQL Server 2008 R2 z dodatkiem SP1. Zalecamy zastosowanie najnowszego wydania aktualizacji, który zawiera 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:
2567616 Kompilacje programu SQL Server 2008 R2 wydane po opublikowaniu programu SQL Server 2008 R2 SP1
Obejście
Aby obejść ten problem, użyj klauzuli NIEpustej zamiast funkcji niepustej i Usuń różne zestawienia szczegółowości lub inne typy arbitralnych kształtów w klauzuli WHERE .
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".