Teilen über


Zwischenspeichern von Berichten (SSRS)

Ein Berichtsserver kann eine Kopie eines verarbeiteten Berichts zwischenspeichern und diese anzeigen, wenn ein Benutzer den Bericht öffnet. Für den Benutzer ist der einzige Hinweis darauf, dass es sich bei dem Bericht um eine zwischengespeicherte Kopie handelt, das Datum und die Uhrzeit des Berichts. Wenn der Bericht kein aktuelles Datum oder keine aktuelle Uhrzeit aufweist und es sich um keine Momentaufnahme handelt, wurde der Bericht aus dem Cache abgerufen.

Durch die Zwischenspeicherung kann ein Bericht schneller abgerufen werden, falls der Bericht sehr umfangreich ist oder häufig abgerufen wird. Wenn der Server neu gestartet wird, werden alle zwischengespeicherten Instanzen wiederhergestellt, wenn der Berichtsserver-Webdienst wieder online ist.

Die Zwischenspeicherung ist eine Technik zur Leistungsoptimierung. Der Inhalt des Zwschenspeichers ist flüchtig und kann sich beim Hinzufügen, Ersetzen oder Entfernen von Berichten ändern. Falls Sie eine zuverlässigere Zwischenspeicherungsstrategie benötigen, sollten Sie eine Momentaufnahme erstellen. Weitere Informationen finden Sie unter Festlegen von Berichtsverarbeitungseigenschaften.

Hinweis

Reporting Services speichert temporäre Dateien in einer Datenbank, damit Benutzersitzungen und Berichtsverarbeitung unterstützt werden. Diese Dateien werden zur internen Verwendung und zur Unterstützung einer konsistenten Anzeige während einer einzelnen Browsersitzung zwischengespeichert. Weitere Informationen zur Zwischenspeicherung von temporären Dateien für die interne Verwendung finden Sie unter Berichtsserver-Datenbank (einheitlicher SSRS-Modus).

Zwischengespeicherte Instanzen

Eine zwischengespeicherte Instanz eines Berichts basiert auf dem Berichtszwischenformat. Der Berichtsserver führt im Allgemeinen die Zwischenspeicherung einer Berichtsinstanz basierend auf dem Berichtsnamen durch. Wenn allerdings ein Bericht gemäß den Abfrageparametern verschiedene Daten enthalten kann, können jeweils mehrere Versionen des Berichts zwischengespeichert werden. Angenommen, Sie haben einen parametrisierten Bericht, der einen Landes-/Regionscode als Parameterwert verwendet. Wenn vier verschiedene Benutzer vier eindeutige Landes-/Regionscodes angeben, werden vier zwischengespeicherte Kopien erstellt.

Der erste Benutzer, der den Bericht mit einem eindeutigen Landes-/Regionscode ausführt, erstellt einen zwischengespeicherten Bericht mit Daten für dieses Land bzw. diese Region. Benutzern, die später den Bericht mithilfe desselben Landes-/Regionscodes anfordern, wird dann die zwischengespeicherte Kopie angezeigt.

Nicht alle Berichte können zwischengespeichert werden. Falls ein Bericht benutzerabhängige Daten enthält, Benutzer zur Eingabe von Anmeldeinformationen auffordert oder die Windows-Authentifizierung verwendet, ist keine Zwischenspeicherung möglich.

Die Karte aktualisieren

Ein zwischengespeicherter Bericht wird durch eine neuere Version ersetzt, wenn ein Benutzer den Bericht auswählt, nachdem eine zuvor zwischengespeicherte Version bereits abgelaufen ist. Berichte, die zum Ausführen als zwischengespeicherte Instanzen konfiguriert sind, werden gemäß den Ablaufeinstellungen regelmäßig aus dem Cache entfernt. Sie können die Ablaufzeit eines Berichts gemäß den Unmittelbarkeitsanforderungen in Minuten oder zu einer geplanten Uhrzeit festlegen. Berichte können nicht direkt aus dem Cache gelöscht werden, nur wenn Sie die SOAP-API benutzen.

Zum Konfigurieren eines Cacheablaufzeitpunkts können Sie einen freigegebenen oder einen berichtsspezifischen Zeitplan verwenden. Falls Sie einen freigegebenen Zeitplan verwenden und den Zeitplan später anhalten, läuft der Cache nicht ab, während der Zeitplan deaktiviert ist. Wird der freigegebene Zeitplan später gelöscht, wird eine Kopie der Zeitplaneinstellungen als berichtsspezifischer Zeitplan gespeichert.

Wenn ein Zeitplan abläuft oder die Zeitplanungs-Engine zum Ablaufzeitpunkt des Caches nicht verfügbar ist, führt der Berichtsserver einen Livebericht aus. Diese Aktion läuft weiter, bis die geplanten Vorgänge fortgesetzt werden können. Die geplanten Vorgänge können fortgesetzt werden, wenn Sie entweder den Zeitplan verlängern oder den Zeitplanungsdienst starten.

Vorabladen des Caches

Zur Verbesserung der Serverleistung können Sie vorab Daten in den Cache laden. Sie können den Cache auf die folgenden beiden Weisen mit einer Auflistung parametrisierter Berichtsinstanzen vorab laden:

  1. Erstellen Sie einen Cacheaktualisierungsplan. Wenn Sie einen Aktualisierungsplan erstellen, können Sie einen Zeitplan für einen einzelnen Bericht oder einen freigegebenen Zeitplan angeben.

  2. Erstellen Sie ein datengesteuertes Abonnement, das den NULL-Übermittlungsanbieter verwendet. Wenn Sie den NULL-Übermittlungsanbieter als eine Übermittlungsmethode im Abonnement angeben, sieht der Berichtsserver die Berichtsserver-Datenbank als Ziel der Übermittlung an. Der Server verwendet eine spezielle Renderingerweiterung, die als NULL-Renderingerweiterung bezeichnet wird. Im Gegensatz zu anderen Übermittlungserweiterungen verfügt die NULL-Übermittlungserweiterung nicht über Übermittlungseinstellungen, die mithilfe einer Abonnementdefinition konfiguriert werden können.

Das Zwischenspeichern eines Berichts ist besonders hilfreich, wenn Sie mehrere Instanzen eines parametrisierten Berichts zwischenspeichern möchten, wobei zum Erstellen unterschiedlicher Berichtsinstanzen unterschiedliche Parameterwerte verwendet werden. Sie können nur abfragebasierte Parameter im Bericht angegeben.

Beim Angeben eines Zeitplans oder Erstellen des datengesteuerten Abonnements planen Sie, wie oft Berichte an den Cache übermittelt werden. Damit neue Kopien an den Cache übermittelt werden, müssen die alten Kopien abgelaufen sein. Deshalb müssen die Ausführungseigenschaften des Berichts die Einstellungen für den Cacheablaufzeitpunkt enthalten. Die Einstellungen für den Cacheablaufzeitpunkt müssen mit dem von Ihnen definierten Abonnementzeitplan konsistent sein. Wenn Sie z. B. ein Abonnement erstellen, das jede Nacht ausgeführt wird, sollte der Cache ebenfalls jede Nacht zur Laufzeit des Abonnements abgelaufen sein. Wenn auf der Eigenschaftenseite Ausführung keine Ablaufzeiten angegeben sind, werden neue Übermittlungen ignoriert. Weitere Informationen zu Cacheaktualisierungsplänen finden Sie unter Zeitpläne. Weitere Informationen zur Einstellung von Eigenschaften finden Sie unter Festlegen von Berichtsverarbeitungseigenschaften. Weitere Informationen zum Verwenden datengesteuerter Abonnements finden Sie unter Datengesteuerte Abonnements.

Bedingungen, die zum Ablaufen des Caches führen

Ein zwischengespeicherter Bericht wird als Konsequenz aus den folgenden Ereignissen ungültig: Die Berichtsdefinition wird geändert, Berichtsparameter werden geändert, die Datenquellen-Anmeldeinformationen ändern sich, oder die Optionen zum Ausführen des Berichts werden geändert. Wenn Sie einen Bericht löschen, wird auch die zwischengespeicherte Version gelöscht, falls sie schon im Cache gespeichert wurde.

Wenn ein Bericht aus irgendeinem Grund nicht aus einer zwischengespeicherten Instanz gerendert werden kann, führt der Berichtsserver den Bericht erneut aus. Diese Aktion stellt sicher, dass der Bericht mit den richtigen und aktualisierten Parameterwerten generiert wird.