Microsoft は Microsoft SQL Server 2008 Service Pack 1 (SP1) または SQL Server 2008 R2 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 Service Pack 1 (SP1) または SQL Server 2008 R2 fix release に含まれていたすべてのホットフィックスとすべてのセキュリティ修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2008 Analysis Services (SSAS) 2008 または Microsoft SQL Server 2008 R2 Analysis Services (SSAS) 2008 R2 で、次の条件を満たす多次元式 (MDX) クエリがあります。
-
このクエリでは、CROSSJOIN 関数を使用しています。
-
クエリの式には、同じディメンション内の異なる属性階層の組で構成される3つ以上の引数セットが含まれています。
-
これらのセットは、別の次元の組で構成される別のセットによって区切られます。
-
通常、CROSSJOIN 関数の理論上の結果セットは、4294967296組よりも多くなります。たとえば、次のような MDX クエリがあるとします。
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]
-
-
クエリを実行しようとした場合。
このシナリオでは、クエリは実行されません。 さらに、以下のエラー メッセージが表示されます。
この式には、4294967296組を超えるセットに対して操作できない関数が含まれています。
注: この種類の MDX クエリは、Excel ピボットテーブルによって自動的に生成される可能性があります。
解決方法
累積的な更新プログラムの情報
SQL Server 2008 SP1
この問題の修正プログラムは、累積更新プログラム11で最初にリリースされました。SQL Server 2008 Service Pack 1 (SP1) 用の累積更新パッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2413738 SQL Server 2008 Service Pack 1 の累積更新プログラムパッケージ11 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 Service Pack 1 (SP1) 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
970365 SQL Server 2008 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 ビルド
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム5で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2438347 SQL Server 2008 R2 の累積的な更新プログラムパッケージ5 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 Service Pack 2
この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム2で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2467239 SQL Server 2008 Service Pack 2 の累積的な更新プログラムパッケージ2注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service Pack 2 をインストールするには、SQL Server 2008 Service Pack 2 の修正プログラムを適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。
回避策
この問題を回避するには、クエリで同じディメンションの2つの隣接する属性を持つ式を使用します。 たとえば、MDX クエリには、次の要素が含まれます。
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]
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。