スケジュール
Reporting Services には、レポートの処理および配信の制御を支援する 共有スケジュール と レポート固有スケジュール が用意されています。 これら 2 種類のスケジュールでは、定義、格納、管理の方法が異なります。 2 種類のスケジュールの内部の構成は同じです。 すべてのスケジュールでは、毎月、毎週、または毎日という定期実行の種類を指定します。 定期実行の種類では、イベントが発生する頻度を表す間隔と範囲を設定します。 定期的な実行パターンの種類とパターンの指定方法は、共有スケジュールとレポート固有スケジュールのいずれを作成する場合でも同じです。
このトピックの内容:
スケジュールに対して実行できる操作
ネイティブ モードのレポート マネージャーおよび SharePoint モードの SharePoint サイト管理ページを使用して、スケジュールの作成と管理を行うことができます。 次のようにすることができます。
標準のサブスクリプションまたはデータ ドリブン サブスクリプションでのレポート配信スケジュール
一定間隔でレポート履歴に新しいスナップショットを追加するレポート履歴のスケジュール
レポート スナップショットのデータ更新時期のスケジュール
共有データセットのデータ更新時期のスケジュール
キャッシュされたレポートまたは共有データセットを続けて更新できるように、キャッシュされたレポートまたは共有データセットの有効期限が事前に定義した時間に切れるスケジュール
多くのレポートまたはサブスクリプションで同じスケジュール情報を使用する場合は、共有スケジュールを作成できます。 共有スケジュールは個別に定義され、スケジュール情報を必要とするレポート、共有データセット、およびサブスクリプションから参照されます。
スケジュールを作成すると、レポートによってスケジュール情報がレポート サーバー データベース (SharePoint モードの場合はサーバー アプリケーション データベース) に保存されます。 レポート サーバーでは、スケジュールを開始するために使用する SQL Server エージェント ジョブも作成されます。 スケジュール処理は、スケジュールを含むレポート サーバーのローカル時間に基づいています。 時刻の形式は、 Microsoft Windows オペレーティング システムの標準に従います。
スケジュールを作成および管理する方法の詳細については、「 Create, Modify, and Delete Schedules」を参照してください。
Note
スケジュール操作は、 SQL Serverのすべてのエディションで使用できるわけではありません。 SQL Server の各エディションでサポートされる機能の一覧については、SQL Server 2012 の各エディションでサポートされる機能 (https://go.microsoft.com/fwlink/?linkid=232473) に関する記事を参照してください。
共有スケジュールとレポート固有スケジュールの比較
どちらの種類のスケジュールも同じ出力を返します。
共有スケジュール は、すぐに使用できる状態のスケジュール情報を含む、移植可能で多目的に使用できるアイテムです。 共有スケジュールは、システムレベルのアイテムなので、共有スケジュールを作成するにはシステムレベルの権限が必要です。 そのため、通常、レポート サーバー管理者またはコンテンツ管理者がレポート サーバー上で使用可能な共有スケジュールを作成します。 共有スケジュールは、レポート マネージャーまたは SharePoint サイトの設定を使用して、レポート サーバー上に格納して管理します。
レポート、共有データセット、またはサブスクリプションのプロパティを使って定義する特定のスケジュールと比較すると、次のような特徴を持つ共有スケジュールは、管理と維持を容易に行えます。
共有スケジュールは一元的に管理できるため、スケジュールのプロパティを容易に比較できます。操作のスケジュール設定が近すぎる場合や、サーバーの他の処理と競合している場合に、スケジュールの頻度や繰り返しパターンを簡単に調整できます。
コンピューティング環境の変更にすばやく適応することができます。 たとえば、データ ウェアハウスの更新後、午前 4:00 に一連のレポートを実行するとします。 データの更新操作のスケジュールが変更されたり、遅れたりした場合でも、1 つの共有スケジュールのスケジュール情報を更新するだけで、変更に対応できます。
共有スケジュールのみを使用する場合、スケジュール設定された操作がいつ実行されるのかを正確に把握できます。 これにより、パフォーマンスの問題が発生する前に、容易にサーバーの負荷を予測して対応することができます。 たとえば、コンピューターのバックアップを特定の時間に行うようにスケジュール設定した場合、共有スケジュールを別の時間に実行するように調整できます。
レポート固有スケジュール は、各レポート、サブスクリプション、またはレポート実行操作のコンテキスト内で定義され、キャッシュの有効期限やスナップショットの更新を決定します。 これらのスケジュールは、サブスクリプションを定義するとき、またはレポート実行のプロパティを設定するときに、インラインで作成されます。 共有スケジュールで必要な頻度または反復パターンが指定されていない場合に、レポート固有スケジュールを作成することができます。 レポートを実行しないようにするには、レポート固有スケジュールを手動で編集する必要があります。 レポート固有スケジュールは、各ユーザーが作成できます。
データ ソースの構成
レポートのデータ処理またはサブスクリプション処理のスケジュールを設定するには、保存された資格情報または自動レポート処理アカウントが使用されるようにレポートのデータ ソースを構成しておく必要があります。 保存されている資格情報を使用する場合、保存できる資格情報は 1 組のみです。レポートを実行するすべてのユーザーに対してこの資格情報が使用されます。 資格情報には、Windows ユーザー アカウントまたはデータベース ユーザー アカウントを指定できます。
自動レポート処理アカウントは、レポート サーバーで構成する特別な目的のアカウントです。 このアカウントは、スケジュール設定された操作が外部のファイルや処理を必要とする場合に、リモート コンピューターに接続するために使用されます。 このアカウントを構成すれば、レポートにデータを提供する外部データ ソースへの接続に使用できます。
保存されている資格情報または自動レポート処理アカウントを指定するには、レポートのデータ ソース プロパティを編集します。 共有データ ソースがレポートに使用されている場合は、共有データ ソースを編集します。
資格情報と処理アカウントの保存
スケジュールを使った作業を行う方法は、ロールの割り当ての一部であるタスクによって異なります。 既定のロールを使用する場合、スケジュールを作成および管理できるユーザーはコンテンツ マネージャーとシステム管理者です。 カスタム ロールの割り当てを使用する場合、そのロールの割り当てにはスケジュールが設定された操作をサポートするタスクが含まれている必要があります。
目的 | 必要なタスク | ネイティブ モードの定義済みロール | SharePoint モードのグループ |
---|---|---|---|
共有スケジュールの作成、変更、または削除 | 共有スケジュールの管理 | システム管理者 | 所有者 |
共有スケジュールの選択 | 共有スケジュールの表示 | システム ユーザー | メンバー |
ユーザー定義サブスクリプションでのレポート固有スケジュールの作成、変更、または削除 | 個別のサブスクリプションを管理 | 閲覧者、レポート ビルダー、個人用レポート、コンテンツ マネージャー | 閲覧者、メンバー |
その他すべてのスケジュール設定された操作用のレポート固有スケジュールの作成、変更、または削除 | レポート履歴の管理、すべてのサブスクリプションの管理、レポートの管理 | コンテンツ マネージャー | 所有者 |
ネイティブ モードの Reporting Servicesのセキュリティの詳細については、「 定義済みロール」、「 ネイティブ モードのレポート サーバーに対する権限の許可 」、および「 タスクと権限」を参照してください。 SharePoint モードについては、「 Reporting Services のロールおよびタスクと SharePoint のグループおよび権限の比較」を参照してください。
スケジュール処理および配信処理のしくみ
スケジュールおよび配信のプロセッサは、次の機能を提供します。
レポート サーバー データベース内のイベントおよび通知のキューを管理します。 スケールアウト配置では、キューは配置しているすべてのレポート サーバーで共有されます。
レポート プロセッサを呼び出し、レポートの実行、サブスクリプションの処理、またはキャッシュされたレポートの消去を行います。 スケジュール イベントの結果として生じるすべてのレポート処理は、バックグラウンド プロセスとして実行されます。 SharePoint モードでは、タイマー ジョブを使用します。
レポートを配信できるように、サブスクリプションで指定されている配信拡張機能を呼び出します。
スケジュール設定や配信操作のその他の機能は、スケジュールおよび配信のプロセッサと連動する他のコンポーネントやサービスによって処理されます。 特に、スケジュールおよび配信のプロセッサはレポート サーバー サービスで実行され、SQL Server エージェントをタイマーとして使用して定期的なイベントを生成します。 ここでは、Reporting Services の配置におけるスケジュールされた操作の実行方法について、順を追って説明します。
ユーザーがスケジュールを作成すると、スケジュールされた操作が定義されます。 スケジュールで定義するのは、レポート配信のサブスクリプションのトリガー、スナップショットの更新、キャッシュの期限切れなどに使用する日付と時刻です。
レポート サーバーがスケジュール情報をレポート サーバー データベースに保存します。
レポート サーバーは、指定されたスケジュール情報を含む SQL Server エージェントで、対応するジョブを作成します。 このジョブは、レポート サーバー データベースに対して開いている既存の接続を使用し、ストアド プロシージャを介して作成されます。
SQL Server エージェントが、スケジュールで指定された日付と時刻にジョブを実行します。 ジョブが実行されると、イベントが作成され、Reporting Services で管理するキューに追加されます。
このイベントにより、レポートまたはサブスクリプションの処理が行われます。 キューで検出された時点でイベントが処理され、それに従ってレポートが処理または配信されます。
イベントの処理前に、スケジュールおよび配信のプロセッサは認証の手順を実行し、サブスクリプション所有者にレポート表示の権限があるかどうかを確認します。
Reporting Services では、すべてのスケジュールされた操作のイベント キューを管理します。 定期的にキューをポーリングし、新しいイベントがないかどうかを確認します。 既定では、10 秒間隔でキューがスキャンされます。 間隔を変更するには、RSReportServer.config ファイルで PollingInterval
、IsNotificationService
、および IsEventService
の構成設定を変更します。 また、SharePoint モードでは、これらの設定に RSreporserver.config を使用するため、値はすべての Reporting Services サービス アプリケーションに適用されます。 詳しくは、「 RSReportServer Configuration File」をご覧ください。
サーバーの依存関係
スケジュールおよび配信のプロセッサでは、レポート サーバー サービスと SQL Server エージェントが開始されている必要があります。 スケジュールと配信の処理機能は、ポリシー ベースの管理のReporting Servicesファセットの Surface Area Configuration の プロパティを使用してScheduleEventsAndReportDeliveryEnabled
有効にする必要があります。 スケジュールされた操作を実行するには、SQL Server エージェントおよびレポート サーバー サービスの両方が実行されている必要があります。
Note
[Reporting Services のセキュリティ構成] ファセットを使用して、一時的または永続的に、スケジュールされた操作を停止させることができます。 カスタム配信拡張機能を作成して配置することはできますが、それだけではスケジュールおよび配信のプロセッサを拡張できません。 イベントおよび通知の管理方法を変更することはできません。 機能を無効にするには、「 Turn Reporting Services Features On or Off 」の「 定期的なイベントおよび配信」を参照してください。
SQL Server エージェントの停止の影響
スケジュールされたレポート処理では、既定で SQL Server エージェントを使用します。 サービスを停止すると、 FireEvent メソッドによりプログラムで追加しない限り、新しい処理要求はキューに追加されません。 サービスを再開すると、レポート処理要求を作成するジョブが再開されます。 SQL Server エージェントがオフラインの間、レポート サーバーは、過去に発生する可能性のあったレポート処理ジョブを再作成しません。 SQL Server エージェントを 1 週間停止する場合、その週のすべてのスケジュールされた操作は失われます。
Note
SQL Server エージェントが Reporting Services に提供する機能を、 FireEvent メソッドを使用するカスタム コードに置き換え、キューにスケジュール イベントを追加することができます。
レポート サーバー サービスの停止の影響
レポート サーバー サービスを停止しても、SQL Server エージェントは引き続きレポート処理要求をキューに追加します。 SQL Server エージェントからの状態情報は、ジョブが成功したことを示します。 ただし、レポート サーバー サービスが停止しているため、実際にはレポート処理は実行されません。 レポート サーバー サービスを再起動するまで、要求はキューに蓄積され続けます。 レポート サーバー サービスを再起動すると、キューにあるすべてのレポート処理要求が順番に処理されます。
参照
レポート履歴のスナップショットの作成、変更および削除
サブスクリプションと配信 (Reporting Services)
データ ドリブン サブスクリプション
レポートのキャッシュ (SSRS)
レポート サーバー コンテンツの管理 (SSRS ネイティブ モード)
複数の共有データセットのキャッシュ (SSRS)