レポート サービスでのレポートと共有データセット処理のタイムアウト値を設定する

Reporting Services では、タイムアウト値を指定して、システム リソースの使用に制限を設定できます。 レポート サーバーは、次の 2 つのタイムアウト値をサポートします。

  • 埋め込みデータセットのクエリ タイムアウト値は、レポート サーバーがデータベースからの応答を待機する秒数です。 この値はレポートの中で定義されます。

  • 共有データセットのクエリ タイムアウト値は、レポート サーバーがデータベースからの応答を待機する秒数です。 この値は共有データセット定義の一部であり、レポート サーバー上で共有データセットを管理するときに変更できます。

  • レポート実行タイムアウト値は、処理を停止するまでに続行できる最大秒数です。 この値はシステムレベルで定義されます。 この設定は、レポートごとに変えることができます。

タイムアウト エラーの大半は、クエリ処理中に発生します。 タイムアウト エラーが発生する場合は、クエリ タイムアウト値を増やしてください。 レポート実行タイムアウトの値が、クエリ タイムアウトよりも大きくなるように調整してください。クエリとレポート処理の両方が完了するように十分長い期間を指定する必要があります。

レポートの埋め込みデータセットに対するクエリ タイムアウトの設定

クエリ タイムアウト値は、レポートの作成中、埋め込みデータセットを定義するときに指定します。 詳細については、「レポート埋め込みデータセットと共有データセット (レポート ビルダーおよび SSRS)」を参照してください。

レポート ビルダーでクエリのタイムアウト値を設定するには:

  1. [レポート データ] ペインで、データベースを右クリックします。
  2. [データセットのプロパティ] を選択します。
  3. [データセットのプロパティ] ダイアログ ボックスの [クエリ] タブで、[タイムアウト] フィールドにタイムアウト値を入力します。

[タイムアウト] ボタンを強調表示した [データセットのプロパティ] ダイアログ ボックスのスクリーンショット。

Note

Power BI のページ分割されたレポートでは、既定値は 600 秒に設定されています。

データ ドリブン サブスクリプションのクエリ タイムアウトを設定する

データ ドリブン サブスクリプションのクエリ タイムアウト値は、[データ ドリブン サブスクリプション] ページで指定します。 ここで指定した値によって、サブスクライバーのデータ ソースからデータを取得する際に、クエリ処理が完了するまでのレポート サーバーが待機する時間が決定されます。

共有データセットに対するクエリ タイムアウトの設定

クエリ タイムアウト値は、共有データセットを作成または管理するときに、レポート サーバー上で秒単位で指定します。 既定でこの値は 0 秒に設定されています。0 秒を指定すると、タイムアウト値を指定していない場合と同じ意味になります。 詳細については、「共有データセットの管理」を参照してください。

Web ポータルでクエリのタイムアウト値を設定するには:

  1. [参照] ページで、[詳細情報]>[管理] を選択します。
  2. [プロパティ] ページで、[クエリのタイムアウト (秒単位)] フィールドに値を設定します。

[クエリのタイムアウト (秒単位)] フィールドが強調表示されているデータセットの [プロパティ] ページのスクリーンショット。

レポート実行タイムアウトの設定

レポート実行タイムアウト値を設定して、レポート サーバーがレポート処理に使用する時間を制限することができます。 レポート実行タイムアウト値は、Web ポータルで指定できます。 [サイトの設定] ページですべてのレポートに既定値を設定してから、特定のレポートの [プロパティ] ページでその値をオーバーライドできます。 既定では、この値は 1,800 秒に設定されます。 詳細については、「レポート処理プロパティの設定」を参照してください。

特定のレポートについて Web ポータルでレポートのタイムアウト値を設定するには:

  1. [参照] ページで、[詳細情報]>[管理] を選択します。
  2. [プロパティ] ページの [詳細]>[レポートのタイムアウト] で、タイムアウト オプションとして、既定、カスタム、または無期限を選択します。

[レポートのタイムアウト] オプションが強調表示されているレポートの [プロパティ] ページのスクリーンショット。

レポート実行タイムアウト値の評価方法

レポート サーバーでは、60 秒ごとに実行中のジョブが評価されます。 レポート サーバーでは、60 秒ごとに、レポート実行タイムアウト値に対して実際の処理時間が比較されます。 レポートの処理時間がレポート実行タイムアウト値を超えた場合、レポートの処理が停止します。

60 秒未満のタイムアウト値を指定した場合でも、レポートが実行される可能性があります。 レポート サーバーが実行中のジョブを評価していない場合、サイクルの評価が実行されない部分で処理が開始され、完了します。 たとえば、実行に 20 秒かかるレポートのタイムアウト値を 10 秒に設定した場合、レポートの実行が 60 秒サイクルの早期に開始されると、レポートは完全に処理されます。

Note

RSReportServer.config ファイルの RunningRequestsDbCycle 設定で、実行中のジョブが評価される頻度を変更できます。