0

SSRSがインストール/構成されたWindows Server 2008R2 x64およびSQL Server 2008R2 x64を実行しているシステムがあります。これは、かなり大規模な非効率的なデータベース (400 ~ 500 GB のデータ) を使用して、多数の人々によって使用される共有レポート サーバーです。これらのユーザーは、システムを使用して、最上位にあるレポート モデルに基づいてアドホック レポートを生成します。前述のデータベースの。ユーザーは NTLM を使用してログオンし、レポートを実行するために識別していることに注意してください。

ほとんどのレポートは迅速に作成されますが、1 年または 2 年分のデータのレポートを実行している場合、返されるまでに時間がかかることがあります (5 分程度)。これはほとんどのユーザーにとっては問題ありませんが、一部のユーザーは、接続タイムアウトが 2 分に設定されているプロキシの背後で立ち往生しています。SSRS 2008R2 は "keep-alive" シグナル (wireshark 経由で確認) を返信していないように見えるため、これらの長いレポートの 1 つを実行すると、プロキシ サーバーは接続が切断されたと見なし、接続をあきらめて強制終了します。これにより、ユーザーに 401 または 503 エラーが表示され、明らかにレポートがキャンセルされます (誤ったエラーは、Microsoft が修正を拒否している SSRS の既知のバグです)。

これは実際には私たちの問題ではありませんが、これについてユーザーから多くの非難を受けています..だから私は創造的な解決策を探しています.

これまでのところ、私は思いついた:

1) 接続を維持できる SSRS の未知の設定を発見する。
2) ユーザーとレポート サーバーの間に独自のプロキシをインストールします。これはキープアライブを返信します (これが機能するかどうかはわかりません。創造的に考えるだけで、少しハックです!)
3) レポート データベースを次のように書き直します。より効率的です(はい、これが最良の解決策ですが、信じられないほど高価です)
4)専門家に尋ねてください:) :)

Microsoft サポートに電話を予約して、彼らが助けてくれるかどうかを確認していますが、Stack の専門家が助けてくれますか? これはサーバー障害のより良い質問かもしれないことを感謝します(そして私はそこに投稿するかもしれません)が、それはあまりにも開発上の質問です:)

ありがとう!

4

1 に答える 1

1

いくつかのこと:

A. サービス全体の SSRS の場合:

SSRSサーバーのデフォルトのリサイクルは12時間だと思うので、私は個人的にキープアライブサービスを使用しています。私は、多くのタスク プロセスを自動的に実行できる「VisualCron」と呼ばれるツールを使用しています。WCF サービスなどで呼び出しを行うこともできます。基本的に、その日のユーザーからの最初のレポートは一般的に遅いことを知っています。通常は、http:// (サーバー名)/ReportServer を実行して維持する必要があります。

B. キャッシュ レポート レベルのアイテムの場合:

これで解決しない場合は、可能であれば DataSet をキャッシュすることをお勧めします。現時点で最新のデータを持っている人もいますが、多くの人はそうではありません。SSRS で共有データセットを作成し、それをスケジュールに従ってキャッシュすることができます。したがって、ブルームーンで一度だけ更新する必要があるドメインのようなテーブルがある場合は、それらをそこに置きます。毎晩またはバッチのデータと同じです。これまでのトランザクション ベースのショップの場合、これは役に立たないかもしれませんが、バッチ ベースのビジネスの場合、これは非常に役立ちます。

この続きとして、データのレポートをキャッシュすることもできます。/Reports ランディング ページのレポートの [管理] ドロップダウンで、特定のスケジュールでデータを実行するように設定できます。スナップショットを設定することもできます。スナップショットは、スケジュールに設定されたいくつかのデフォルト パラメータで実行されるため、これを拡張したものであり、実行されたときのレポートのコピーです。

あなたはASP.NETについて言及しているので、パススルーとして内部的に設定しているサイトを介してこれをすべて実行している場合、これがどれだけ機能するかはわかりません. ただし、SSRS のサブスクリプション サービスを使用して、スケジュールに従ってファイルを電子メールで送信したり、ファイルを保存したりすることもできます。

C. レポート用のデータの保存方法を変更する。

クエリの選択アイテム レベル値のレポート ウェアハウスを作成できます。最近数年のデータと特定のフィールドと特定のテーブルのみで構成される小さなデータベースを作成します。次に、それを完全にインデックス化し、それを報告します。私の経験では、この方法はパフォーマンスの点では問題ありませんが、設定に余分なオーバーヘッドがかかります。一般に、ほとんどの企業はこれについて不満を言うでしょうが、セットアップに 1 日かかることが多く、それを毎晩実行する 1 つの SSMS ジョブまたは SSIS パッケージを作成すれば、心配する必要はありません。私のデータが本番環境から報告されておらず、個人的に隔離されていることを知っているので、この方法が気に入っています。

于 2013-06-26T23:31:05.613 に答える