SQL 2012 Express の SSRS レポートがあります。レポートを OPENXML 形式でエクスポートする必要があります。必要なパラメーターを SSRS に渡し、エクスポートされたレポートを取得してファイルに保存する C# コンソール アプリケーションがあります。私たちのレポートには、レポートを生成するまでわからないパラメータがいくつかあります。
レポートは、HttpWebRequest を使用してエクスポートされます。約 50,000 行の中規模のレポートでは、すべてがうまく機能します。しかし、500,000 行のレポートがある場合、eportingServicesService.exe はサーバーで使用可能なすべての RAM を消費し始め、SSRS はしばしば OutOfMemory 例外でクラッシュします。ReportServer コンポーネントでレポートをエクスポートすることも試しましたが、違いはありません。
レポート全体を一度に生成しようとするのではなく、チャンクで送信するか、HttpWebResponse を介してストリーミングする必要があることを SSRS に伝える方法はありますか? 結果のファイルは約 40MB しかないため、このレポートの生成中に SSRS サービスが 500MB を超える RAM と 100% の CPU を使用している理由がよくわかりません。