複数の共有データセットのキャッシュ (SSRS)

共有データセットのクエリ結果をキャッシュにコピーしておくと、複数のレポートに一貫性のあるデータを提供し、データセット クエリの応答時間を短縮できます。 レポートと同様に、初回使用時または指定されたスケジュールによってキャッシュされるように共有データセットを構成できます。

共有データセットは、複数のレポートに組み込んだり、コンポーネント定義の一部として含めたりすることができます。 共有データセットをキャッシュすることによって、その共有データセットを使用するすべてのレポートに対して一貫したデータを提供すると共に、外部データ ソースに対してデータセット クエリが実行される回数を減らすことができます。

次に、共有データセットをキャッシュする場合の例を示します。

  • クエリの実行にかなりの時間がかかる場合。

  • クエリにパラメーターがあるが、ほとんどの場合にパラメーターの組み合わせの数が少ない場合。 各組み合わせに対してクエリ結果のキャッシュが作成されます。

  • 1 日、1 週間、または 1 か月のうちの決まった時間や日付にクエリが実行される場合。

  • クエリは、レポート内の共有データセット参照の結果として実行されます。 このレポートは、多数のユーザーが短時間でリンクを選択する可能性が高い電子メールで配信されます。

次に、共有データセットをキャッシュしない場合の例を示します。

  • クエリ結果に常に最新のデータを含める必要がある場合。

  • クエリの実行時間が短い場合。

  • クエリが頻繁には実行されない場合。

  • クエリにパラメーターがあり、パラメーターの組み合わせの数が多く、頻繁に使用される組み合わせも見つからない場合。

  • 共有データセットの基礎となるデータ ソースにおいて、プロンプトまたは Windows 統合資格情報が使用されている場合。

  • 共有データセットのフィルターまたはクエリに、グローバル コレクション User を参照する式が含まれている場合。

キャッシュされた結果セットに指定されている既定値とは異なるレポート パラメーター値をユーザーが選択した場合は、データセット クエリが実際に実行されます。 そのような場合、そのクエリではキャッシュされた結果は使用されません。

共有データセットのキャッシュ

共有データセットのキャッシュを有効にするには、共有データセットでキャッシュ オプションを選択する必要があります。 キャッシュが有効化されると、初回使用時に共有データセットのクエリ結果がキャッシュにコピーされます。 共有データセットにパラメーターがある場合は、パラメーターの各組み合わせに対して、キャッシュ内に新たなエントリが作成されます。

パラメーターの特定の組み合わせに対するクエリ結果がキャッシュ内にある間、それらのパラメーター値を持つ共有データセットを参照するレポートが起動されて処理されると、キャッシュされたデータが使用されます。

キャッシュ内にデータを保持する有効期限が切れるまでの期間を指定できます。 詳細については、共有データセットの操作に関するページをご覧ください。

キャッシュを事前に読み込む

キャッシュ更新計画を作成することによって、キャッシュを事前に読み込むことができます。 更新計画を使用すると、アイテム固有のスケジュールまたは共有スケジュールを使用して、キャッシュを更新する頻度を指定できます。 同一アイテムに対して複数のキャッシュ エントリが作成されることを防ぐため、スケジュールでは、外部データ ソースに対するクエリ処理が実行されるのに十分な時間を指定する必要があります。 たとえば、クエリの実行に 20 分かかる場合は、更新スケジュール間隔も 20 分より長くする必要があります。 詳細については、「 Schedules」を参照してください。

共有データセットに対してキャッシュ更新計画を作成する場合は、次の条件が満たされている必要があります。

  • 共有データセットでキャッシュが有効化されている必要があります。

  • 共有データセットが依存する共有データ ソースにおいて、プロンプトまたは Windows 統合資格情報が使用されていない必要があります。

  • 共有データセットにパラメーターがある場合は、読み取り専用とマークされていない各パラメーターに対して、静的な既定値を指定する必要があります。 読み取り専用パラメーターでは、常に既定値が使用されます。 パラメーターの複数の組み合わせに対して共有データセットをキャッシュするには、値の各組み合わせに対して別々のキャッシュ更新計画を作成する必要があります。 パラメーターには、他のデータセットへの参照を含めることはできません。

  • 各キャッシュ更新計画は、1 つの共有データセットまたはレポートにのみ関連付けられている必要があります。

  • 共有データセットに対して ReadPolicy アクセス許可および UpdatePolicy アクセス許可が必要です。

キャッシュ更新計画は、共有データセットおよびレポートの両方に適用されます。 詳細については、「レポートのキャッシュ (SSRS)」を参照してください。

キャッシュが有効期限切れとなる条件

次の状況においては、共有データセット キャッシュが無効になる可能性があります。

  • スケジュール条件の期限が切れた場合。 キャッシュ タイムアウトまたは有効期限切れが発生します。

  • 共有スケジュールが削除された場合。

  • 共有スケジュールが変更された場合。 共有スケジュールは一時停止することができますが、これによってもキャッシュの有効期限が影響を受けます。

  • 共有データセットのクエリ定義が変更された場合。

  • 共有データセットが依存する共有データ ソースの資格情報が変更された場合。

  • 共有データセットのキャッシュ オプションが変更された場合。

  • 共有データセットの読み取り専用パラメーターの既定値が変更された場合。

  • 共有データセット定義の一部であるフィルターが変更された場合。

  • レポート サーバーから共有データセットが削除された場合。 共有データセットが削除されると、関連するキャッシュされたコピーおよびキャッシュ更新計画も削除されます。

共有データセットのキャッシュ更新計画を更新しても、既に処理中のレポートには影響がありません。 キャッシュ更新計画の更新は、共有データセットを参照する、これから起動されるレポートにのみ影響があります。