現象
Microsoft SQL Server 2016 Analysis Services のインスタンスを使用していることを前提としています。 より多くのグローバルスコープオブジェクトがキャッシュされている間、それらのキャッシュはクリーンアップされません。 これにより、メモリが連続して増加し、最終的にサーバーがクラッシュする可能性があります。グローバルスコープは、各ユーザーのセキュリティ要件に基づいてキャッシュされます。 そのため、通常は、次のいずれかのシナリオが発生した場合にのみ、この問題が発生します。
-
モデルに動的な式 (たとえば、 UserName ()、 CustomData ()) があります。 これは、問題を確認するためには必須ではありませんが、一般的な原因です。 動的な式が存在する場合、個々のユーザーはそれぞれ固有のグローバルスコープを構築する必要があります。 これにより、作成とキャッシュを行う必要があるグローバルスコープの数が大幅に増加します。
-
多くのメタデータとセキュリティが設定されている複雑なモデルがあります。 これは、スコープオブジェクトあたりのメモリのコストに影響します。 キャッシュされたグローバルスコープの数が増加するにつれて、スコープオブジェクトあたりのメモリのコストに基づいてメモリ使用量が大きくなります。
-
多数の一意のユーザーがサーバーに接続しています。 たとえば、PowerBI.com では、各ユーザーのダッシュボードのタイルを頻繁なスケジュールで更新することができます。 この問題が発生すると、Analysis Services では、一意のユーザーごとに大量の接続とクエリが送信され、グローバルスコープの数が急増して、大量のメモリが消費されます。
注: この修正プログラムを適用すると、SQL Server のバージョンは13.0.2170.0 されます。
解決方法
累積的な更新プログラムの情報
この問題の修正プログラムは、SQL Server の次の累積的な更新プログラムに含まれています。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
回避策
この問題を回避するには、適切なスケジュールでデータベースに対して <ClearCache> XMLA コマンドを手動で実行します。 これにより、すべてのグローバルスコープのキャッシュが消去され、メモリが再利用されるようになります。 このオプションでは、キャッシュされたグローバルスコープを再利用できないため、次のときに接続すると、いくらかのパフォーマンスの低下が発生します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語 について説明します。