Prozessor für Zeitplanung und Übermittlung

Reporting Services bietet die Komponente Prozessor für Zeitplanung und Übermittlung zur Unterstützung von geplanten Vorgängen und zur Steuerung der Übermittlungserweiterungen, die dazu verwendet werden, Berichte in E-Mail-Postfächer oder freigegebene Ordner zu verschieben.

Der Prozessor für Zeitplanung und Übermittlung ist eine interne Komponente, die vom Berichtsserver zur Verarbeitung von Abonnements und zur Berichtsübermittlung oder zum Aktualisieren einer Momentaufnahme oder Festlegen des Ablaufs für einen zwischengespeicherten Bericht verwendet wird. Wenn Sie Serverfunktionen konfigurieren oder ein Abonnement- oder Übermittlungsproblem beheben, können Sie anhand der Informationen in diesem Thema die Phasen der geplanten Verarbeitung und die Abhängigkeiten von anderen Diensten und Technologien verstehen. Dieses Thema bietet auch eine Einführung in die Konfigurationseinstellungen, die Sie zur Verwaltung der Ereigniswarteschlange verwenden können.

Funktionsweise des Prozessors für Zeitplanung und Übermittlung

Der Prozessor für Zeitplanung und Übermittlung stellt die folgenden Funktionen bereit:

  • Verwaltet eine Warteschlange von Ereignissen und Benachrichtigungen in der Berichtsserver-Datenbank. In einer Bereitstellung für dezentrales Skalieren ist die Warteschlange für alle Berichtsserver freigegeben.

  • Ruft den Berichtsprozessor ab, um Berichte auszuführen, Abonnements zu verarbeiten oder einen zwischengespeicherten Bericht zu löschen. Die gesamte Berichtsverarbeitung, die als Folge eines geplanten Ereignisses auftritt, wird als Hintergrundprozess durchgeführt.

  • Ruft die Übermittlungserweiterung auf, die im Abonnement angegeben ist, damit der Bericht übermittelt werden kann.

Andere Aspekte der Zeitplanung und Übermittlung werden von anderen Komponenten und Diensten verarbeitet, die mit dem Prozessor für Zeitplanung und Übermittlung zusammenarbeiten. Genauer gesagt wird der Prozessor für Zeitplanung und Übermittlung im Berichtsserverdienst ausgeführt und verwendet den SQL Server-Agent als Zeitgeber zum Generieren von geplanten Ereignissen. In der folgenden schrittweisen Beschreibung wird erläutert, wie die geplanten Vorgänge in einer Reporting Services-Bereitstellung funktionieren:

  1. Ein geplanter Vorgang wird definiert, wenn ein Benutzer einen Zeitplan erstellt. In dem Plan werden ein Datum und eine Uhrzeit definiert, die zum Auslösen eines Abonnements für die Berichtsübermittlung, zum Aktualisieren einer Momentaufnahme oder zum Ablaufen eines Caches verwendet werden.

  2. Der Berichtsserver speichert die Zeitplaninformationen in der Berichtsserverdatenbank.

  3. Vom Berichtsserver wird ein entsprechender Auftrag im SQL Server-Agent erstellt, der die bereitgestellten Zeitplaninformationen enthält. Die Aufträge werden über eine gespeicherte Prozedur erstellt, wobei die vorhandene offene Verbindung mit der Berichtsserverdatenbank verwendet wird.

  4. Der SQL Server-Agent führt den Auftrag zum im Zeitplan angegebenen Zeitpunkt aus. Der Auftrag erstellt ein Ereignis, das einer von Reporting Services verwalteten Warteschlange hinzugefügt wird.

  5. Das Ereignis führt zu einem Berichts- oder Abonnementprozess. Die Verarbeitung der Ereignisse erfolgt sofort, wenn sie in der Warteschlange erkannt werden. Der Bericht wird dann entsprechend verarbeitet und übermittelt.

    Bevor die Ereignisse verarbeitet werden, führt der Prozessor für Zeitplanung und Übermittlung einen Authentifizierungsschritt durch, um zu überprüfen, ob der Abonnementbesitzer über die Berechtigung verfügt, den Bericht anzuzeigen. Weitere Informationen zu Abonnements finden Sie unter Abonnementverarbeitung.

Reporting Services verwaltet eine Ereigniswarteschlange für alle geplanten Vorgänge. Die Warteschlange wird in regelmäßigen Abständen nach neuen Ereignissen abgefragt. Standardmäßig wird die Warteschlange alle 10 Sekunden überprüft. Sie können das Intervall ändern, indem Sie in der Datei RSReportServer.config die Konfigurationseinstellungen PollingInterval, IsNotificationService und IsEventService ändern. Weitere Informationen finden Sie unter RSReportServer-Konfigurationsdatei.

Serverabhängigkeiten

Für den Prozessor für Zeitplanung und Übermittlung müssen der Berichtsserverdienst und der SQL Server-Agent gestartet sein. Die Funktion für die Verarbeitung von Zeitplanung und Übermittlung muss über die ScheduleEventsAndReportDeliveryEnabled-Eigenschaft des Facets Oberflächenkonfiguration für Reporting Services in der richtlinienbasierten Verwaltung aktiviert werden. Sowohl der SQL Server-Agent als auch der Berichtsserverdienst müssen ausgeführt werden, damit geplante Vorgänge auftreten.

HinweisHinweis

Mit dem Facet Oberflächenkonfiguration für Reporting Services können geplante Vorgänge vorübergehend oder dauerhaft beendet werden. Obwohl Sie benutzerdefinierte Übermittlungserweiterungen erstellen und bereitstellen können, ist der Prozessor für Zeitplanung und Übermittlung an sich nicht erweiterbar. Sie können die Weise, wie er Ereignisse und Benachrichtigungen verwaltet, nicht ändern. Weitere Informationen zu Deaktivierungsfunktionen finden Sie unter Vorgehensweise: Aktivieren und Deaktivieren der Reporting Services-Features.

Auswirkungen beim Beenden des SQL Server-Agents

Die geplante Berichtsverarbeitung verwendet standardmäßig den SQL Server-Agent. Wenn Sie den Dienst anhalten, werden keine neuen Verarbeitungsanforderungen zur Warteschlange hinzugefügt, außer Sie fügen sie programmgesteuert mithilfe der FireEvent-Methode hinzu. Wenn Sie den Dienst neu starten, werden die Aufträge, die die Berichtsverarbeitungsanforderungen erstellen, fortgesetzt. Der Berichtsserver versucht nicht, Berichtsverarbeitungsaufträge neu zu erstellen, die möglicherweise in der Vergangenheit aufgetreten sind, während der SQL Server-Agent offline war. Wenn Sie den SQL Server-Agent für eine Woche anhalten, sind alle für diese Woche geplanten Vorgänge verloren.

HinweisHinweis

Die Funktionen, die der SQL Server-Agent Reporting Services bereitstellt, können durch einen benutzerdefinierten Code ersetzt werden, der die FireEvent-Methode verwendet, um geplante Ereignisse zur Warteschlange hinzuzufügen.

Auswirkungen beim Beenden des Berichtsserverdienstes

Wenn Sie den Berichtsserverdienst beenden, fährt der SQL Server-Agent fort, Berichtsverarbeitungsanforderungen der Warteschlange hinzuzufügen. Statusinformationen des SQL Server-Agents zeigen an, dass der Auftrag erfolgreich war. Da der Berichtsserverdienst jedoch beendet war, findet keine Berichtsverarbeitung statt. Die Anforderungen werden in der Warteschlange gesammelt, bis Sie den Berichtsserverdienst neu starten. Sobald Sie den Berichtsserverdienst neu gestartet haben, werden alle Berichtsverarbeitungsanforderungen, die sich in der Warteschlange befinden, nacheinander verarbeitet.