簡単な MDX クエリを実行して出力を生成する Web サイトがあります。この出力は、Excel ファイルの生成に使用されます。ANTS プロファイラーを使用したところ、管理されていないリソースによって大量のメモリが消費されていることがわかりました。以下の画像を確認してください。
(フルサイズ画像)
このようなメモリ リークを検出するには、次に何をすべきですか。これらのオブジェクトがまだメモリ内で生きている理由を知りたいです。次に何をすべきか提案してください。
(フルサイズ画像)
同様の問題が発生しました。メモリ リークを検出するための解決策はありませんが、選択したパスをお知らせします。ページから MDX を直接呼び出す代わりに、MDX クエリを、リレーショナル クエリのように使用できる結果セットを返す SQL ストアド プロシージャに移動しました。
CREATE procedure [dbo].[executeMdxQuery]
as
Declare @sql nvarchar(max) = ' SELECT a.* FROM OpenQuery("MY_SERVER",''
with member [Measures].[Fiscal Calendar Level] as ' --- remaining MDX
exec sp_executesql @sql
GO
お役に立てれば