KB2562753 — POPRAWKA: Niska wydajność, gdy zapytanie MDX używa operatorów jednoargumentowych w elementach hierarchii nadrzędny/podrzędny w usługach SSAS 2008 R2 lub SSAS 2012, jeśli dla tych elementów członkowskich zostanie zdefiniowane obliczenie zakresu i jeśli zapytanie uzyskuje dostęp do wielu dat w wymiarze czasu

Dotyczy
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard

Objawy

Rozważmy następujący scenariusz:

  • Zapytanie MDX można utworzyć w usługach Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) lub Microsoft SQL Server 2012 Analysis Services (SSAS 2012).
  • W zapytaniu użyto operatorów jednoargumentowych w niektórych elementach członkowskich hierarchii nadrzędny/podrzędny.
  • Obliczenia zakresu definiuje się dla tych elementów członkowskich w hierarchii nadrzędnej/podrzędnej.
  • Zapytanie uzyskuje dostęp do wielu dat w wymiarze czasu
  • Zapytanie jest uruchamiane przez użytkownika.

W tym scenariuszu zapytanie działa wolno. Ponadto może zostać wyświetlony następujący komunikat o błędzie:

Uwaga

Wykonując zapytanie ...
XML dla analizatora składni: upłynął limit czasu żądania analizy XML dla analizy przed jego ukończeniem.

Uwaga Ten problem nie występuje w przypadku uruchomienia tego samego zapytania w usługach Microsoft SQL Server 2000 Analysis Services (SSAS 2000).

Rozwiązanie

Aby rozwiązać ten problem, należy zastosować następującą poprawkę. Po zainstalowaniu poprawki dostępna będzie nowa właściwość (CellByCellCalculationMode), którą można skonfigurować w pliku konfiguracyjnym usług Analysis Services (Msmdsrv.ini). Aby rozwiązać ten problem z wydajnością, dodaj tę właściwość i zmień wartość domyślną parametru CellByCellCalculationMode z 0 na 3. Po wykonaniu tej czynności plik Msmdsrv.ini powinien zawierać następujący węzeł w <sekcji Zapytanie> :

<CellByCellCalculationMode>3</CellByCellCalculationMode>

      

Informacje o aktualizacji zbiorczej

SQL Server 2012

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 1 dla programu SQL Server 2012. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2679368 Pakiet aktualizacji zbiorczej 1 dla SQL Server 2012Uwaga Ponieważ kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2012. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2692828 Kompilacje SQL Server 2012 wydane po wydaniu SQL Server 2012 Poprawkę SQL Server 2012 należy zastosować do instalacji programu SQL Server 2012.

SQL Server 2008 R2

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 8. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2534352 Pakiet 8 aktualizacji zbiorczych dla SQL Server 2008 R2 Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

981356 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2

SQL Server 2008 R2 z dodatkiem Service Pack 1

                
Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 4 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2633146 Pakiet aktualizacji zbiorczej 4 dla dodatku Service Pack 1 dla systemu SQL Server 2008 R2 Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji poprawki dla SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2567616 Kompilacje SQL Server 2008 R2 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 R2

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Aby uzyskać więcej informacji na temat operatorów jednoargumentowych, odwiedź następującą witrynę MSDN w sieci Web:

Ogólne informacje o operatorach jednoargumentowych
        
Aby uzyskać więcej informacji na temat instrukcji SCOPE, odwiedź następującą witrynę MSDN w sieci Web:

Ogólne informacje o instrukcji SCOPE