現象
Microsoft SQL Server 2012 Analysis Services (SSAS 2012) は、広範なロック競合の間、断続的にユーザー クエリまたは新しいユーザー接続に応答しないことがあり、この動作により広範なブロックまたはデッドロックが発生します。 ブロック シナリオを例に考えてみましょう。 別のトランザクション セッションのコミットライト ロックがデータベースに対する処理操作を継続的にコミットできないようにするコミット共有ロックを保持しているトランザクション セッションがある場合、ブロック状況が解決されるまで、データベースへの新しい接続が適切なタイミングで提供されない可能性があります。 広範なブロックが発生する前に SQL Server Profiler を実行すると、プロファイラー トレースで次のメッセージが表示され、ブロック トランザクション セッションを中止またはキャンセルするなどの適切なアクションを実行できます。
注
進行状況レポート 開始 6 - コミット
通知 24 - トランザクションの中止が要求されました トランザクション エラー: セッション <SPID> でのトランザクションを中止しています。
この情報は、ロックの競合が発生していることを示しており、広範なロックの競合と事後分析の両方のトラブルシューティングに役立ちます。 ただし、対応する情報は SSAS ログ ファイル msmdsrv.logに記録されません。
解決策
この修正プログラムを適用した後、ロックの競合が発生したときに次の情報が msmdsrv.log ファイルに記録されます。
- 中止するトランザクションの SPID。
- ブロック SPID。
- ブロック イベントとブロック トランザクションの中止試行のタイム スタンプ。
この問題は、次の SQL Server の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP2 の累積的な更新プログラム 2 /en-us/help/2983175
SQL Server 用の累積的な更新プログラムについて
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。