KB2562753 - 修正: SSAS 2008 R2 または SSAS 2012 で、MDX クエリで親/子階層メンバーに対して単項演算子を使用すると、これらのメンバーにスコープ計算を定義し、クエリが時間ディメンションの複数の日付にアクセスすると、パフォーマンスが低下する

適用先
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard

現象

たとえば次のようなシナリオを考えてみます。

  • 多次元式 (MDX) クエリは、Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) または Microsoft SQL Server 2012 Analysis Services (SSAS 2012) で作成します。
  • このクエリでは、親子階層の一部のメンバーで単項演算子が使用されます。
  • スコープ計算は、親/子階層内のこれらのメンバーに定義します。
  • クエリは、時間ディメンションの複数の日付にアクセスします
  • クエリを実行します。

このシナリオでは、クエリのパフォーマンスが遅くなります。 また、次のエラー メッセージが表示されることがあります。

注

クエリを実行中 ...
XML for Analysis パーサー: XML for Analysis 要求が完了する前にタイムアウトしました。

注: Microsoft SQL Server 2000 Analysis Services (SSAS 2000) で同じクエリを実行した場合、この問題は発生しません。

解決策

この問題を解決するには、次の修正プログラムを適用します。 修正プログラムをインストールすると、新しいプロパティ (CellByCellCalculationMode) を Analysis Services 構成ファイル (Msmdsrv.ini) で構成できるようになります。 このパフォーマンスの問題を解決するには、このプロパティを追加し、 CellByCellCalculationMode の既定値を 0 から 3 に変更します。 これを行うと、Msmdsrv.ini ファイルの <クエリ> セクションに次のノードが含まれるようになります。

<CellByCellCalculationMode>3</CellByCellCalculationMode>

      

累積的な更新プログラムの情報

SQL Server 2012

この問題の修正プログラムは、SQL Server 2012 の累積的な更新プログラム 1 で最初にリリースされました。 この累積的な更新プログラム パッケージの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

2679368 SQL Server 2012 の累積的な更新プログラム パッケージ 1 注: ビルドは累積的であるため、新しくリリースされた修正プログラムには、以前の SQL Server 2012 リリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2692828 SQL Server 2012 以降にリリースされた SQL Server 2012 ビルド インストールされている SQL Server 2012 には、SQL Server 2012 修正プログラムを適用する必要があります。

SQL Server 2008 R2

この問題の修正プログラムは、累積的な更新プログラム 8 で最初にリリースされました。 SQL Server 2008 R2 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2534352 SQL Server 2008 R2 の累積的な更新プログラム パッケージ 8 (注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

981356 SQL Server 2008 R2 のリリース以降にリリースされた SQL Server 2008 R2 のビルド

SQL Server 2008 R2 Service Pack 1

                
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム 4 で最初にリリースされました。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2633146 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム パッケージ 4 注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 以降にリリースされた SQL Server 2008 R2 のビルド

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

追加情報

単項演算子の詳細については、次の MSDN Web サイトを参照してください。

単項演算子に関する一般情報
        
SCOPE ステートメントの詳細については、次の MSDN Web サイトを参照してください。

SCOPE ステートメントに関する一般的な情報