none
Report Builderで発生する操作タイムアウトについて RRS feed

  • 質問

  • SQL Server 2019 Standard と Report Builder ver15で開発をしています。

    Report Builderでレポートに埋め込みSQLを登録し、対象件数の非常に多いデータを検索すると、丁度10分で、「操作はタイムアウトしました。」とエラーとなってしいます。

    レポートサーバーのレポートタイムアウト値を無制限にしてみたり、SQL Serverのリモートクエリのタイムアウト値を変更してみたりしましたが、どのように変えても、10分でタイムアウトしてしまいます。

    10分でタイムアウトする理由と、この時間を変更する方法をご教授いただけないでしょうか?

    2021年8月18日 2:27

すべての返信

  • 「埋め込みデータセット」のクエリタイムアウト値 や ユーザー セッションがアクティブ状態になっている時間 (秒) (SessionTimeout) (既定値 : 600 秒) などのタイムアウト値を確認してみると良いかもしれません。

    【保存版】SQL Server Reporting Services (SSRS) の 各種タイムアウト設定について

    2021年8月19日 19:18
  • NOBTA-MVP様

    返信いただき、ありがとうございます。

    いただいたアドバイスに基づいて、下記のように設定した後、念のため、Reporting Serviceのサービスを再起動して試してみたのですが、やはり、10分で、タイムアウトになってしまいました。

    ■設定値

    埋め込みデータセット
     データセットのプロパティで設定するタイムアウト値=1800
    レポートサーバー
     サイトの設定で行う、レポートのタイムアウト値=1800
    SSMSでReporting Serviceへログイン
     プロパティで設定する
      SessionTimeout=1800

    2021年8月20日 4:06
  • 他には、SQL Server Reporting Services (SSRS) Web コンフィグ (web.config) 内の httpRuntime executionTimeout 値を既定値から変更していないかを確認してみると良いかもしれません。

    なお、Report Viewer コントロールからレポートを参照している場合は、Report Viewer コントロールを利用している Web アプリケーションの Web コンフィグ (web.config) より、httpRuntime executionTimeout の設定値を変更することになります。


    • 編集済み NOBTA-MVP 2021年8月20日 4:53
    2021年8月20日 4:43
  • tapumasaさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    ご説明によると、レポートビルダーでデータベースからデータを取得するときにタイムアウトの問題が発生します。
    SSMSでSQLクエリを実行して、データ行が正常に返されるかどうかを確認し、クエリの時間を記録できるようにしてください。

    すでにデータセットプロパティで設定されたタイムアウト値とレポートサーバーで設定されたレポートタイムアウト値をチェックしましたので、
    HTTPタイムアウト、SessionTimeoutとSystemReportTimeout、executionTimeoutなどを確認することもお勧めします。

    詳細はこのドキュメントをご参照ください。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年8月20日 6:35
    モデレータ
  • NOBTA-MVP様、Haruka様

    情報ありがとうございました。

    Web コンフィグ (web.config) 内の httpRuntime executionTimeout 値=900

    HTTPタイムアウト(上記と同一項目と理解し、同値)

    SessionTimeout=1800SystemReportTimeout=1800

    に設定してありましたが、

    ReportBuilderから実行すると、10分でタイムアウトしてしまいます。

    ただ、今更ですが、レポートマネージャーから実行した場合、該当レポートの詳細設定にあるタイムアウト値によって制御できることがわかりました。(180秒を設定すると”レポート処理はユーザーによりキャンセルされました”と表示され処理が中断されました。既定値にすると60分でそうなりました)

    ReportBuilderから実行するとなぜ、10分でタイムアウトするのか、レポートマネージャの既定値は何をみているのかが依然として不明ですが、NOBTA-MVP様、Haruka様のアドバイスにより、いろんな視点で見ることができ、気づくことができました。

    ありがとうございました。

    2021年8月23日 6:21
  • tapumasaさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    SSDTを介してレポートを作成し、クエリがタイムアウトするかどうかをご確認いただけますでしょうか。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年8月24日 1:08
    モデレータ
  • Haruka様

    SSDTでは、普段Reportの開発を行っておらず、勝手がわからず手間取り、返信が遅くなって申し訳ありません。

    試してみたのですが、しばらく待機後、タイムアウトはせず

    「ローカルレポートの処理中にエラーが発生しました。

    レポートの処理中にエラーが発生しました。

    種類'System.OutOfMemoryException'の例外がスローされました」

    とエラーが出てしまいました。

    2021年8月31日 7:46
  • tapumasaさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    Reporting Servicesでは、レポートサーバーのメモリ割り当てを制御する構成設定には、WorkingSetMaximum、WorkingSetMinimum、MemorySafetyMargin、およびMemoryThresholdが含まれます。 
    この設定を適切な値に構成してください。
    このレポートサーバーアプリケーションで利用可能なメモリの構成をご参照ください。

    また、エラーメッセージがスローされた頃のReportingServicesエラーログを見つけ、以下のKB記事に記載されているイベントがログに記録されているかどうかを確認してください。
    ログに記録されている場合は、この記事の手順に従って問題を修正してください。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年9月2日 1:00
    モデレータ