KB2483381 - 修正: SSRS 2008 R2 のローカル キューブ ファイルへの最後の接続を閉じると、アプリケーションがクラッシュする

マイクロソフトでは、Microsoft SQL Server 2008 R2 の修正を 1 つのダウンロード可能なファイルとして配布しています。 修正は累積的であるため、新しいリリースの修正には、以前のリリースの SQL Server 2008 R2 の修正に含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。

現象

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

  • Microsoft SQL Server 2008 R2 Analysis Service (SSRS 2008 R2) でローカル キューブへの接続を開くアプリケーションを実行します。

  • アプリケーションがローカル キューブを作成すると、アプリケーションは接続を数回開いたり閉じたりします。 たとえば、以下のいずれかのアプリケーションを実行します。

    • Microsoft Excel を実行して、ローカル キューブへの接続を何度か開いたり閉じたりします。
    • テーブルのピボット グラフ ビューを切り替えるときに、Microsoft Access を実行してローカル キューブへの接続を開いたり閉じたりします。
    • アプリケーションで MSOLAP、ADOMD.NET、または AMO プロバイダーを実行して、ローカル キューブの接続を操作します。 
  • アプリケーションは、ローカル キューブへの最後の接続を閉じようとします。

このシナリオでは、アプリケーションがクラッシュすることがあります。

原因

この問題は、Analysis Service ローカル キューブ エンジン (Msmdlocal.dll) 内のスレッド間で競合状態エラーが発生するために発生します。

最後の接続が解除されると、エンジンは自分自身をアンロードしようとします。 ただし、最後の接続を閉じるスレッドと他の内部スレッドの間には、多くの競合状態があります。 そのため、アプリケーションがクラッシュすることがあります。

解決策

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

SQL Server 2008 R2

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

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

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

状態

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

参考資料

ローカル キューブの詳細については、以下の MSDN (Microsoft Developer Network) Web サイトを参照してください。

ローカル キューブに関する一般的な情報
        
SQL Server の増分サービス モデルの関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

935897 報告された問題に対する修正プログラムを提供するために、SQL Server チームから提供されている増分サービス モデルを入手できます。SQL Server 更新プログラムの命名方式の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

822499 Microsoft SQL Server ソフトウェア更新プログラム パッケージの新しい命名スキーマソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明