次の方法で共有


スケジュールおよび配信のプロセッサ

SQL Server Reporting Services には、スケジュールおよび配信のプロセッサ コンポーネントが含まれ、スケジュールされた操作をサポートし、レポートを配信先である電子メールの受信トレイまたは共有フォルダにプッシュするのに使用する配信拡張機能を制御します。スケジュールおよび配信のプロセッサは、次の機能を提供します。

  • イベントおよび通知のキューを管理します。スケールアウト配置では、キューは配置しているすべてのレポート サーバーで共有されます。
  • レポート プロセッサを呼び出し、レポートの実行、サブスクリプションの処理、またはキャッシュされたレポートの消去を行います。スケジュール イベントの結果として生じるすべてのレポート処理は、レポート サーバー Web サービスではなく、レポート サーバー Windows サービスにより実行されます。
  • レポートを配信できるように、サブスクリプションで指定されている配信拡張機能を呼び出します。

スケジュール設定や配信操作のその他の機能は、スケジュールおよび配信のプロセッサと連動する他のコンポーネントやサービスによって処理されます。特に、スケジュールおよび配信のプロセッサはレポート サーバー Windows サービスで実行され、SQL Server エージェントをタイマとして使用して定期的なイベントを生成します。Reporting Services の配置では、スケジュールされた操作がどのように実行されるかを次に示します。

  1. ユーザーがスケジュールを作成すると、スケジュールされた操作が定義されます。スケジュールは、レポートの実行、スナップショットの更新、キャッシュの期限切れの設定などに使用される日付と時刻を定義します。
  2. レポート サーバーがスケジュール情報をレポート サーバー データベースに保存します。
  3. レポート サーバーは、対応するジョブを SQL Server エージェントで作成し、指定されたスケジュール情報に基づいてそのジョブを実行します。このジョブは、レポート サーバー データベースに対して開いている既存の接続を使用し、ストアド プロシージャを介して作成されます。
  4. SQL Server エージェントが、スケジュールで指定された日付と時刻にジョブを実行します。ジョブが実行されると、イベントが作成され、Reporting Services で管理するキューに追加されます。
  5. このイベントにより、レポートまたはサブスクリプションの処理が行われます。キューで検出された時点でイベントが処理され、それに従ってレポートが処理または配信されます。

Reporting Services では、すべてのスケジュールされた操作のイベント キューを管理します。定期的にキューをポーリングし、新しいイベントがないかどうかを確認します。既定では、10 秒間隔でキューがスキャンされます。間隔を変更するには、RSReportServer.config ファイルで PollingIntervalIsNotificationService、および IsEventService の構成設定を変更します。詳細については、「RSReportServer 構成ファイル」を参照してください。

サーバーの依存関係

スケジュールおよび配信のプロセッサでは、レポート サーバー Windows サービスと SQL Server エージェントを開始している必要があります。SQL Server セキュリティ構成ツールにより、スケジュールおよび配信処理機能を有効にする必要があります。スケジュールされた操作を実行するには、SQL Server エージェントおよびレポート サーバー Windows サービスの両方が実行されている必要があります。

ms156297.note(ja-jp,SQL.90).gifメモ :
セキュリティ構成ツールを使用して、一時的または永続的に、スケジュールされた操作を停止させることができます。スケジュールおよび配信のプロセッサは拡張可能ではなく、構成設定もありません。イベントおよび通知の管理方法を変更することはできません。セキュリティ構成ツールの詳細については、「SQL Server セキュリティ構成」を参照してください。

SQL Server エージェントの停止の影響

スケジュールされたレポート処理では、既定で SQL Server エージェントを使用します。サービスを停止すると、FireEvent メソッドによりプログラムで追加しない限り、新しい処理要求はキューに追加されません。サービスを再開すると、レポート処理要求を作成するジョブが再開されます。SQL Server エージェントがオフラインの間、レポート サーバーは、過去に発生する可能性のあったレポート処理ジョブを再作成しません。SQL Server エージェントを 1 週間停止する場合、その週のすべてのスケジュールされた操作は失われます。

ms156297.note(ja-jp,SQL.90).gifメモ :
SQL Server エージェントが Reporting Services に提供する機能を、FireEvent メソッドを使用するカスタム コードに置き換え、キューにスケジュール イベントを追加することができます。

レポート サーバー Windows サービスの停止の影響

レポート サーバー Windows サービスを停止すると、SQL Server エージェントはレポート処理要求のキューへの追加を継続します。SQL Server エージェントからの状態情報は、ジョブが成功したことを示します。ただし、レポート サーバー Windows サービスは停止しているため、実際にはレポート処理は発生しません。レポート サーバー Windows サービスを再起動するまで、レポートはキューに蓄積され続けます。レポート サーバー Windows サービスを再起動すると、キューにあるすべてのレポート処理要求が順番に処理されます。

参照

概念

RSReportServer 構成ファイル
レポート サーバー Windows サービスの開始と停止
Reporting Services のコンポーネントの概要

その他の技術情報

サブスクリプションを通じたレポートの配信
レポートとサブスクリプションのスケジュール設定

ヘルプおよび情報

SQL Server 2005 の参考資料の入手