次の方法で共有


レポートのキャッシュ (SSRS)

レポート サーバーでは、処理済みレポートのコピーをキャッシュして、ユーザーがレポートを開いたときにそのコピーを返すことができます。 レポートがキャッシュされたコピーかどうかをユーザーが判断できる唯一の方法は、レポートが実行された日時を確認することです。 日付または時刻が最新ではなく、レポートがスナップショットでない場合、レポートはキャッシュから取得されました。

レポートのサイズが大きい場合やレポートへのアクセスが頻繁に行われる場合、キャッシュを行うことでレポートの取得にかかる時間を短縮できます。 サーバーが再起動されると、レポート サーバー Web サービスがオンラインに戻ったときに、キャッシュされたすべてのインスタンスが復元されます。

キャッシュは、パフォーマンスを向上させる技法です。 キャッシュのコンテンツは変動するので、レポートを追加、置換、または削除すると変更できます。 より予測可能なキャッシュ方法が必要な場合、レポート スナップショットを作成する必要があります。 詳細については、「 レポート処理プロパティの設定」を参照してください。

Reporting Services では、データベースに一時ファイルが保持され、ユーザー セッションやレポート処理のサポートに使用されます。 これらのファイルは内部使用を目的にキャッシュされ、単一のブラウザー セッションの間、表示状態の整合性を保つために使用されます。 内部使用を目的とした一時ファイルのキャッシュ方法の詳細については、「レポート サーバー データベース (SSRS ネイティブ モード)」を参照してください。

キャッシュされたインスタンス

キャッシュされたレポートのインスタンスは、レポートの中間形式に基づいています。 通常、レポート サーバーでは、レポート名に基づいてレポートのインスタンスが 1 つキャッシュされます。 ただし、クエリ パラメーターに基づいてレポートに異なるデータを含めることができる場合は、レポートの複数のバージョンをいつでもキャッシュできます。 たとえば、パラメーター値として地域コードを取得するパラメーター化されたレポートがあるとします。 4 人の異なるユーザーが、4 つの一意の地域コードを指定した場合、キャッシュされたコピーが 4 つ作成されます。

一意の地域コードを含んだレポートを実行する最初のユーザーは、その地域のデータを含むキャッシュされたレポートを作成します。 同じ地域コードを使用してレポートを要求する後続のユーザーは、キャッシュされたコピーを取得します。

すべてのレポートをキャッシュできるわけではありません。 レポートにユーザー依存データが含まれている場合、ユーザーに資格情報の入力を求める場合、または Windows 認証を使用する場合は、キャッシュできません。

キャッシュの更新

キャッシュされたレポートは、以前にキャッシュされたコピーの有効期限が切れた後にユーザーがレポートを選択すると、新しいバージョンに置き換えられます。 キャッシュされたインスタンスとして実行するように構成されたレポートは、有効期限の設定に基づいてキャッシュから定期的に削除されます。 レポートの有効期限は分単位で設定することも、スケジュールされた時間に設定することもできます。どちらの設定を使用するかは、データに要求される即時性に基づいて決定します。 SOAP API を使用しない限り、キャッシュから直接レポートを削除することはできません。

キャッシュの有効期限を構成するには、共有スケジュールまたはレポート固有スケジュールを使用します。 共有スケジュールを使用し、その後一時停止した場合、スケジュールが動作しない間、キャッシュは期限切れになりません。 共有スケジュールが後で削除されると、スケジュール設定のコピーがレポート固有のスケジュールとして保存されます。

スケジュールが期限切れになった場合、またはスケジュール エンジンがキャッシュの有効期限日に使用できない場合、レポート サーバーは、スケジュールされた操作を再開できるようになるまで (スケジュールを延長するか、スケジュール サービスを開始することによって) ライブ レポートを実行します。

キャッシュの事前読み込み

キャッシュの事前読み込みを使用すると、サーバーのパフォーマンスを向上できます。 パラメーター化されたレポートのインスタンスのコレクションをキャッシュに事前に読み込むには、次の 2 つの方法があります。

  1. キャッシュの更新プランを作成します。 更新プランを作成すると、1 つのレポートのスケジュールや共有スケジュールを指定できます。

  2. NULL 配信プロバイダーを使用するデータ ドリブン サブスクリプションを作成します。 サブスクリプションの配信方法として Null 配信プロバイダーを指定すると、レポート サーバーはレポート サーバー データベースを配信先として対象とし、null 表示拡張機能と呼ばれる特殊な表示拡張機能を使用します。 他の配信拡張機能とは異なり、Null 配信プロバイダーには、サブスクリプション定義を使用して構成できる配信設定はありません。

レポートのキャッシュは、パラメーター化されたレポートの複数のインスタンスをキャッシュする場合に特に役立ちます。この場合、さまざまなレポートのインスタンスを生成するために個別のパラメーター値が使用されます。 クエリベースのパラメーターはレポートでのみ指定できます。

スケジュールを指定する場合や、データ ドリブン サブスクリプションを作成する場合は、キャッシュに対するレポートの配信頻度をスケジュールする必要があります。 新しいコピーをキャッシュに配信するには、古いコピーの有効期限が切れている必要があります。 したがって、レポートの実行プロパティの構成には、キャッシュの有効期限の設定を含める必要があります。 この有効期限の設定には、定義するサブスクリプションのスケジュールとの一貫性が必要です。 たとえば、毎晩実行されるサブスクリプションを作成する場合、サブスクリプションが実行される前に、キャッシュも毎晩、有効期限切れになる必要があります。 Execution プロパティに有効期限が含まれていない場合、新しい配信は無視されます。 キャッシュの更新の詳細については、「 スケジュール」を参照してください。 プロパティの設定の詳細については、「 レポート処理プロパティの設定」を参照してください。 データ ドリブン サブスクリプションの使用の詳細については、「 Data-Driven サブスクリプション」を参照してください。

キャッシュの有効期限の原因となる条件

レポート定義の変更、レポート パラメーターの変更、データ ソースの資格情報の変更、レポート実行オプションの変更などのイベントが発生すると、キャッシュされたレポートが無効になります。 キャッシュに格納されたレポートを削除する場合、キャッシュされたバージョンのレポートも削除されます。

何らかの理由でキャッシュされたインスタンスからレポートを表示できない場合 (たとえば、ユーザーが指定するパラメーター値が、キャッシュされたレポートの生成に使用されるものと異なる場合)、レポート サーバーはレポートを再実行します。

こちらもご覧ください

処理オプションの設定 (SharePoint 統合モードの Reporting Services)
レポート処理プロパティの設定
Reporting Services の概念 (SSRS)
キャッシュを事前に読み込む (レポート マネージャー)
スケジュール
複数の共有データセットのキャッシュ (SSRS)
キャッシュ更新オプション (レポート マネージャー)