サブスクリプションの処理

ここでは、サブスクリプション処理、配信されるレポートの特性、およびサブスクリプションの開始について説明します。

サブスクリプション処理の概要

Reporting Services には、レポートのスケジュールを設定してユーザーに配信するための機能を提供する、スケジュールおよび配信のプロセッサ機能があります。レポート サーバーでは常時イベントが監視され、イベントに応答しています。サブスクリプションに定義されている条件を満たすイベントが発生すると、サブスクリプションが読み取られ、レポートの処理方法と配信方法が決定されます。レポート サーバーは、サブスクリプションに指定されている配信拡張機能を要求します。配信拡張機能を実行すると、サブスクリプションから配信情報が抽出され、処理を行うため配信拡張機能に渡されます。

サブスクリプションに定義されている形式に従ってレポートが生成され、指定した送信先にレポートまたは通知が配信されます。レポートを配信できない場合、レポート サーバーのログ ファイルにエントリが記録されます。再試行の操作を実行できるようにする場合、最初の配信が失敗したときにもう一度配信を試みるようにレポート サーバーを構成できます。

標準のサブスクリプション処理

標準のサブスクリプションからは、レポートのインスタンスが 1 つ生成されます。レポートの配信先は、単一の共有フォルダか、サブスクリプションに指定されている複数の電子メール アドレスになります。レポートのレイアウトおよびデータは変わりません。パラメータを使用する場合、標準のサブスクリプション処理ではレポートのパラメータごとに 1 つの値が使用されます。

データ ドリブン サブスクリプションの処理

データ ドリブン サブスクリプションからは、レポートのインスタンスが複数生成され、インスタンスを複数の送信先に配信できます。サブスクライバの結果セットからパラメータ値が渡された場合、レポートのレイアウトは変わりませんが、レポートのデータが変わる場合があります。行セットから値が渡された場合にも、レポートをどう表示するか、およびレポートを電子メールにアタッチするのか、リンクするのかを決定する配信オプションがサブスクライバごとに異なることがあります。

データ ドリブン サブスクリプションからは、多数の配信が生成されることがあります。サブスクリプション クエリから返された行セットの 1 行ごとに 1 件の配信が生成されます。

レポート配信の特性

標準のサブスクリプションにより配信されるレポートは、通常は静的なレポートとして表示されます。それらのレポートは、直前のレポート実行スナップショットを基にするか、配信を完了するための静的なレポートとして生成されます。要求時に実行されるレポートに対してサブスクリプションの [リンクを含める] オプションが選択されている場合、ハイパーリンクをクリックするとレポート サーバー側でレポートが実行されます。

注意注意

URL として配信されるレポートはレポート サーバーに接続された状態で、表示している間に更新や削除が行われる場合があります。サブスクリプションに対して選択する配信オプションによって、レポートを URL として配信するか、電子メール メッセージの本文に埋め込むか、または添付ファイルとして送信するかを決定します。

データ ドリブン サブスクリプションによって配信されるレポートは、サブスクリプションが処理されている間に再生成される場合があります。レポート サーバーは、データ ドリブン サブスクリプションを完了するために、レポートまたはレポートのデータセットの特定のインスタンスをロックしません。サブスクリプションでサブスクライバごとに異なるパラメータの値を使用した場合、それぞれに合わせた出力を生成するためにレポートが再生成されます。最初のレポートのコピーが作成および配信された後で基になるデータが更新された場合、それ以後にそのレポートを受け取ったユーザーには、異なる結果セットを基にしたデータが表示されることがあります。スナップショットとして実行されるレポートを使用すると、すべてのサブスクライバに同じレポートのインスタンスが確実に配信されます。ただし、スケジュールに設定されているスナップショットの更新がサブスクリプションの処理中に行われた場合、受け取るレポートのデータがユーザー間で異なることがあります。

サブスクリプション処理の開始

レポート サーバーでは、スケジュールで指定されたタイム ドリブン イベントまたはスナップショット更新イベントの 2 種類のイベントを使用して、サブスクリプション処理を開始します。

タイム ドリブン トリガは、レポート固有のスケジュールまたは共有スケジュールを使用し、サブスクリプションが実行される日時を指定します。要求時レポートおよびキャッシュされたレポートでは、スケジュールはトリガ オプションのみです。

スナップショット更新イベントは、レポート スナップショットのスケジュールされた更新を使用して、サブスクリプションを開始します。レポートに設定されているレポート実行プロパティを基に、レポートが新しいデータに更新されるたびに開始されるサブスクリプションを定義できます。