Teilen über


Abonnements und Zustellung (Berichterstellung)

Ein Reporting Services-Abonnement ist eine Konfiguration zur Übermittlung eines Berichts zu einem bestimmten Zeitpunkt oder als Reaktion auf ein Ereignis. Es hat auch das von Ihnen angegebenen Dateiformat. Speichern Sie beispielsweise jeden Donnerstag den Bericht MonthlySales.rdl als Microsoft Word-Dokument in eine Dateifreigabe. Sie können Abonnements verwenden, um die Übermittlung eines Berichts mit einem spezifischen Satz an Berichtsparameterwerten zeitlich festzulegen und zu automatisieren.

Pro Bericht können mehrere Abonnements erstellt werden, um die Abonnementoptionen zu variieren. Sie können beispielsweise unterschiedliche Parameterwerte angeben, um drei Versionen eines Berichts zu erstellen. Bei diesen Berichten kann es sich z. B. um einen Bericht über den Umsatz der westlichen Region, den Umsatz der östlichen Region und den gesamten Umsatz handeln.

Diagramm eines Beispiels für einen SSRS-Subscription-Fluss.

Abonnements sind nicht in jeder Edition von SQL Serververfügbar. Eine Liste der von SQL Server-Editionen unterstützten Funktionen finden Sie unter Editionen und unterstützte Funktionen von SQL Server 2022.

In diesem Thema:

Themen in diesem Abschnitt:

Abonnement- und Übermittlungsszenarien

Für jedes Abonnement bestimmt die von Ihnen gewählte Übermittlungserweiterung die konfigurierbaren Übermittlungsoptionen. Eine Übermittlungserweiterung ist ein Modul, das einige Verteilungsarten unterstützt. Reporting Services enthält mehrere Übermittlungserweiterungen und Übermittlungserweiterungen, die möglicherweise bei Drittanbietern erhältlich sind.

Wenn Sie Entwickler sind, können Sie benutzerdefinierte Übermittlungserweiterungen erstellen, um weitere Szenarien zu unterstützen. Weitere Informationen finden Sie unter Implementieren von Übermittlungserweiterungen.

In der folgenden Tabelle werden häufige Abonnementszenarien für Reporting Services beschrieben.

Szenario BESCHREIBUNG
Senden von Berichten als E-Mail Senden Sie Berichte als E-Mail an einzelne Benutzer und Gruppen. Erstellen Sie ein Abonnement, und geben Sie einen Gruppenalias oder einen E-Mail-Alias für den Empfang eines von Ihnen verteilten Berichts an. Sie können die Abonnementdaten von Reporting Services zur Laufzeit bestimmen lassen. Wenn Sie den gleichen Bericht an eine Gruppe senden möchten, deren Mitgliederliste sich häufig ändert, können Sie die Abonnementliste mithilfe einer Abfrage zur Laufzeit abrufen.
Anzeigen von Berichten im Offlinemodus Benutzer können eines der folgenden Formate für die Abonnementausgabe wählen:

- XML-Datei mit Berichtsdaten
- CSV (durch Trennzeichen getrennt)
- PDF
- MHTML (Webarchiv)
- Microsoft Excel
- TIFF-Datei
- Microsoft Word

Berichte, die Sie archivieren möchten, können direkt an einen freigegebenen Ordner gesendet werden, den Sie beispielsweise nachts sichern lassen. Umfangreiche Berichte, die zu lange Ladezeiten im Browser verursachen würden, können in einem Format an einen freigegebenen Ordner gesendet werden, das in einer Desktopanwendung angezeigt werden kann.
Vorabladen des Caches Wenn Sie über mehrere Instanzen eines parametrisierten Berichts verfügen oder ein Bericht von zahlreichen Berichtsbenutzern angezeigt werden soll, können Sie Berichte vorab in den Cache laden. Durch das Vorabladen verkürzt sich die Verarbeitungszeit für das Anzeigen des Berichts.
Datengesteuerte Berichte Verwenden Sie datengesteuerte Abonnements, um die Berichtsausgabe, Übermittlungsoptionen und Berichtsparametereinstellungen zur Laufzeit anzupassen. Zur Laufzeit werden die Eingabewerte vom Abonnement mithilfe einer Abfrage aus einer Datenquelle abgerufen. Mithilfe datengesteuerter Abonnements können Sie einen E-Mail-Serienvorgang ausführen, durch den ein Bericht an eine Liste von Abonnenten gesendet wird, die erst während der Verarbeitung des Abonnements ermittelt wird.

Standardabonnements und datengesteuerte Abonnements

Reporting Services unterstützt zwei Arten von Abonnements: Standardabonnements und datengesteuerte Abonnements. Einzelnen Benutzer erstellen und verwalten Standardabonnements. Ein Standardabonnement enthält statische Werte, die während der Abonnementverarbeitung nicht variiert werden können. Für jedes Standardabonnement ist exakt eine Gruppe von Berichtspräsentationsoptionen, Übermittlungsoptionen und Berichtsparametern vorhanden.

Datengesteuerte Abonnements rufen zur Laufzeit Abonnementinformationen ab, indem sie eine externe Datenquelle abfragen, die Werte für einen Empfänger, Berichtsparameter oder ein Anwendungsformat liefert. Sie können datengesteuerte Abonnements verwenden, wenn Sie eine große Empfängerliste haben oder unterschiedliche Berichtsausgaben für unterschiedliche Empfänger verwenden möchten. Wenn Sie datengesteuerte Abonnements verwenden möchten, müssen Sie über Fachkenntnisse im Erstellen von Abfragen und zur Verwendungsweise von Parametern verfügen. In der Regel werden diese Abonnements von Berichtsserveradministratoren erstellt und verwaltet. Weitere Informationen finden Sie in den folgenden Artikeln:

Abonnementanforderungen

Vor dem Erstellen eines Abonnements für einen Bericht müssen die folgenden Voraussetzungen erfüllt sein:

Anforderung BESCHREIBUNG
Berechtigungen Sie benötigen Zugriff auf den Bericht. Zum Abonnieren eines Berichts benötigen Sie die Berechtigung zum Anzeigen des Berichts.

Für Berichtsserver im einheitlichen Modus wirken sich die folgenden Rollenzuweisungen auf Abonnements aus:

- Mit dem Task „Einzelne Abonnements verwalten“ können Benutzer für einen bestimmten Bericht Abonnements erstellen, ändern und löschen. In den vordefinierten Rollen ist dieser Task Teil der Browser- und Berichts-Generator-Rollen. Mit Rollenzuweisungen, die diesen Task enthalten, können Benutzer nur die selbst erstellten Abonnements verwalten.
- Mit dem Task „Alle Abonnements verwalten“ kann der Benutzer auf alle Abonnements zugreifen und diese ändern. Dieser Task ist für das Erstellen eines datengesteuerten Abonnements erforderlich. In vordefinierten Rollen enthält nur die Inhalts-Manager-Rolle diesen Task.
Gespeicherte Anmeldeinformationen Der Bericht muss gespeicherte oder keine Anmeldeinformationen zum Abrufen des Inhalts zur Laufzeit verwenden, um ein Abonnement zu erstellen. Sie können keinen Bericht abonnieren, für den die Verwendung der anonymisierten oder delegierten Anmeldeinformationen des aktuellen Benutzers zum Herstellen einer Verbindung mit einer externen Datenquelle konfiguriert ist. Bei den gespeicherten Anmeldeinformationen kann es sich um ein Windows-Konto oder ein Datenbank-Benutzerkonto handeln. Weitere Informationen finden Sie unter Angeben der Anmeldeinformationen und Verbindungsinformationen für Berichtsdatenquellen.

Außerdem müssen Sie über die Berechtigung verfügen, den Bericht anzuzeigen und einzelne Abonnements zu erstellen. Geplante Ereignisse und Berichtsübermittlung muss auf dem Berichtsserver aktiviert sein. Weitere Informationen finden Sie unter Erstellen und Verwalten von Abonnements für Berichtsserver im nativen Modus.
Benutzerabhängige Werte in einem Bericht Nur bei Standardabonnements können Sie Abonnements für Berichte erstellen, bei denen Benutzerkontoinformationen in einen Filter integriert sind oder als Text im Bericht angezeigt werden. Im Bericht wird der Name des Benutzerkontos über den User!UserID -Ausdruck angegeben, der in den aktuellen Benutzer aufgelöst wird. Beim Erstellen eines Abonnements wird der Benutzer, der das Abonnement erstellt, als aktueller Benutzer betrachtet.
Keine Modellelementsicherheit Sie können keine mit dem Berichts-Generator erstellten Berichte abonnieren, die ein Modell als Datenquelle verwenden, wenn das Modell Sicherheitseinstellungen für Modellelemente enthält. Diese Einschränkung bezieht sich nur auf Berichte, die Sicherheitseinstellungen für Modellelemente verwenden.
Parameterwerte Falls der Bericht Parameter verwendet, muss ein Parameterwert im Bericht selbst oder im Abonnement, das Sie definieren, angegeben werden. Falls Sie im Bericht Standardwerte definieren, können Sie den Standardwert für den Parameterwert festlegen.

Übermittlungserweiterungen

Abonnements werden auf dem Berichtsserver verarbeitet und über Übermittlungserweiterungen verteilt, die auf dem Server bereitgestellt werden. Standardmäßig können Sie Abonnements erstellen, die Berichte an einen freigegebenen Ordner oder an eine E-Mailadresse senden. Ist der Berichtsserver für den integrierten SharePoint-Modus konfiguriert, können Sie auch einen Bericht an eine SharePoint-Bibliothek senden.

Beim Erstellen eines Abonnements kann der Benutzer eine der verfügbaren Übermittlungserweiterungen auswählen, um die Art der Übermittlung zu bestimmen. Reporting Services beinhaltet die folgenden Übermittlungserweiterungen:

Übermittlungserweiterung BESCHREIBUNG
Windows-Dateifreigabe Übermittelt einen Bericht als statische Anwendungsdatei an einen freigegebenen Ordner, der über das Netzwerk zugänglich ist.
E-Mail Übermittelt eine Benachrichtigung oder einen Bericht als E-Mail-Anlage oder URL-Link.
SharePoint-Bibliothek Übermittelt einen Bericht als statische Anwendungsdatei an eine SharePoint-Bibliothek, die über eine SharePoint-Website zugänglich ist. Die Website muss in einen Berichtsserver integriert werden, der im integrierten SharePoint-Modus ausgeführt wird.
Null Der NULL-Übermittlungsanbieter ist eine in hohem Maße spezialisierte Übermittlungserweiterung, die zum Vorabladen eines Caches mit anzeigebereiten parametrisierten Berichten verwendet wird. Dieses Verfahren steht Benutzern bei individuellen Abonnements nicht zur Verfügung. Die NULL-Übermittlung wird von Administratoren in datengesteuerten Abonnements zur Verbesserung der Berichtsserverleistung verwendet, indem vorab Daten in den Cache geladen werden.

Hinweis

Die Berichtsübermittlung stellt einen erweiterbaren Bestandteil der Reporting Services -Architektur dar. Drittanbieter können benutzerdefinierte Übermittlungserweiterungen erstellen, um Berichte an andere Speicherorte oder Geräte weiterzuleiten. Weitere Informationen zu benutzerdefinierten Übermittlungserweiterungen finden Sie unter Implementieren von Übermittlungserweiterungen.

Bestandteile eines Abonnements

Eine Abonnementdefinition besteht aus den folgenden Bestandteilen:

  • Ein Zeiger auf einen Bericht, der unbeaufsichtigt ausgeführt werden kann (d. h. ein Bericht, der gespeicherte oder keine Anmeldeinformationen verwendet).

  • Eine Übermittlungsmethode (z. B. E-Mail) und Einstellungen für den Übermittlungsmodus (z. B. eine E-Mail-Adresse).

  • Eine Renderingerweiterung zum Darstellen des Berichts in einem bestimmten Format.

  • Bedingungen für die Verarbeitung des Abonnements in Form von Ereignissen.

    In der Regel sind die Bedingungen zum Ausführen eines Berichts zeitbasiert. Sie möchten beispielsweise jeden Dienstag um 15.00 Uhr UTC einen bestimmten Bericht ausführen. Falls der Bericht jedoch für die Ausführung als Momentaufnahme konfiguriert ist, können Sie angeben, dass das Abonnement bei jeder Aktualisierung der Momentaufnahme ausgeführt wird.

  • Parameter zum Ausführen des Berichts.

    Parameter sind optional und werden nur für Berichte angegeben, die Parameterwerte akzeptieren. Da sich ein Abonnement in der Regel im Besitz eines Benutzers befindet, variieren die angegebenen Parameterwerte von Abonnement zu Abonnement. Beispielsweise verwenden Vertriebs-Manager für verschiedene Abteilungen Parameter, die Daten für ihre jeweilige Abteilung zurückgeben. Für alle Parameter muss explizit ein Wert definiert werden oder ein gültiger Standardwert vorhanden sein.

Abonnementinformationen werden zusammen mit dem jeweiligen Bericht in einer Berichtsserver-Datenbank gespeichert. Abonnements können nicht getrennt vom zugehörigen Bericht verwaltet werden. Abonnements können nicht um Beschreibungen, sonstigen benutzerdefinierten Text oder andere Elemente erweitert werden. Abonnements dürfen nur die weiter oben aufgeführten Elemente enthalten.

So werden Abonnements verarbeitet

Reporting Services enthält einen Plan- und Bereitstellungsprozessor, der Funktionen zum Planen von Berichten und Bereitstellen der Berichte für die Benutzer umfasst. Der Berichtsserver antwortet auf Ereignisse, die er ständig überwacht. Beim Auftreten eines Ereignisses, das den für ein Abonnement definierten Bedingungen entspricht, liest der Berichtsserver das Abonnement, um zu ermitteln, wie der Bericht verarbeitet und übermittelt werden soll. Der Berichtsserver fordert die Übermittlungserweiterung an, die im Abonnement angegeben ist. Wenn die Übermittlungserweiterung ausgeführt wird, extrahiert der Berichtsserver Übermittlungsinformationen aus dem Abonnement und übergibt sie zur Verarbeitung an die Übermittlungserweiterung.

Die Übermittlungserweiterung rendert den Bericht in dem im Abonnement definierten Format und übermittelt dann den Bericht oder die Benachrichtigung an den angegebenen Empfänger. Falls ein Bericht nicht zustellbar ist, erfolgt ein entsprechender Eintrag in der Berichtsserver-Protokolldatei. Zum Unterstützen von Wiederholungsvorgängen können Sie den Berichtsserver so konfigurieren, dass die Übermittlung erneut versucht wird, falls der erste Versuch fehlschlägt.

Verarbeiten eines Standardabonnements

Standardabonnements erstellen eine Berichtsinstanz. Der Bericht wird an einen einzigen freigegebenen Ordner oder an die im Abonnement angegebenen E-Mail-Adressen übermittelt. Das Berichtslayout und die Berichtsdaten variieren nicht. Falls der Bericht Parameter verwendet, wird ein Standardabonnement mit einem einzigen Wert pro Berichtsparameter verarbeitet.

Verarbeiten eines datengesteuerten Abonnements

Datengesteuerte Abonnements können zahlreiche Berichtsinstanzen erstellen, die an mehrere Ziele übermittelt werden. Das Berichtslayout variiert nicht, aber die Berichtsdaten können variieren, falls Parameterwerte von einem Resultset eine Abonnenten übergeben werden. Die Übermittlungsoptionen, die beeinflussen, wie ein Bericht gerendert wird und ob der Bericht an die E-Mail-Nachricht angehängt oder damit verknüpft wird. Diese Optionen können auch von Abonnent zu Abonnent variieren, wenn die Werte aus dem Rowset übergeben werden.

Datengesteuerte Abonnements können eine große Anzahl von Übermittlungen erstellen. Der Berichtsserver erstellt eine Übermittlung für jede Zeile im Rowset, die von der Abonnementabfrage zurückgegeben wird.

Merkmale der Berichtsübermittlung

Berichte, die über Standardabonnements übermittelt werden, werden in der Regel als statische Berichte gerendert. Diese Berichte basieren entweder auf der neuesten Momentaufnahme zur Berichtsausführung oder werden als statischer Bericht für das Abschließen einer Übermittlung generiert. Wenn Sie die Option Link einschließen in einem Abonnement für einen Bericht auswählen, der bei Bedarf ausgeführt wird, führt der Berichtsserver den Bericht beim Auswählen des Links aus.

Hinweis

Berichte, die über eine URL übermittelt werden, bleiben mit dem Berichtsserver verbunden und können zwischen Anzeigevorgängen aktualisiert oder gelöscht werden. Durch die für Ihr Abonnement ausgewählten Übermittlungsoptionen wird festgelegt, ob der Bericht als URL übermittelt, in den Textkörper einer E-Mail-Nachricht eingebettet oder als Anlage gesendet wird.

Berichte, die über ein datengesteuertes Abonnement übermittelt werden, können möglicherweise während der Verarbeitung des Abonnements erneut generiert werden. Der Berichtsserver führt keine Sperrung einer bestimmten Instanz des Berichts oder seines Datasets durch, um ein datengesteuertes Abonnement zu verarbeiten. Falls im Abonnement für verschiedene Abonnenten unterschiedliche Parameterwerte verwendet werden, generiert der Berichtsserver den Bericht erneut, um das erforderliche Ergebnis zu erstellen. Die zugrunde liegenden Daten können aktualisiert werden, nachdem die erste Berichtskopie erstellt und übermittelt wurde. Wenn Sie den Bericht aktualisieren, werden Benutzern, die später im Prozess Berichte erhalten, möglicherweise Daten angezeigt, die auf unterschiedlichen Resultsets basieren. Mithilfe eines Berichts, der als Momentaufnahme ausgeführt wird, können Sie sicherstellen, dass alle Abonnenten dieselbe Berichtsinstanz empfangen. Wenn jedoch ein geplantes Update der Momentaufnahme während der Verarbeitung des Abonnements ausgeführt wird, erhalten Benutzer möglicherweise dennoch unterschiedliche Daten in ihren Berichten.

Auslösen der Abonnementverarbeitung

Der Berichtsserver verwendet zwei Arten von Ereignissen, um die Abonnementverarbeitung auszulösen: zeitgesteuerte Ereignisse, die in einem Zeitplan angegeben werden, und Momentaufnahme-Updateeignisse.

Zeitgesteuerte Trigger verwenden berichtsspezifische Zeitpläne oder einen freigegebenen Zeitplan, um den Zeitpunkt der Ausführung eines Abonnements anzugeben. Bei bedarfsgesteuerten und zwischengespeicherten Berichten sind Zeitpläne die einzige Triggeroption.

Bei Momentaufnahme-Updateereignissen wird das geplante Update einer Berichtsmomentaufnahme verwendet, um ein Abonnement auszulösen. Sie können ein Abonnement definieren, das ausgelöst wird, wenn ein Bericht mit neuen Daten aktualisiert wird. Das Abonnement wird basierend auf Berichtsausführungseigenschaften ausgelöst, die für den Bericht festgelegt sind.

Programmgesteuerte Kontrolle von Abonnements

Das Reporting Services -Objektmodell ermöglicht Ihnen, Abonnements und Abonnementverarbeitung programmgesteuert zu überwachen und zu steuern. In den folgenden Artikeln finden Sie Beispiele und erste Schritte: