Prozessor für Zeitplanung und Übermittlung
SQL Server Reporting Services enthält die Komponente Prozessor für Zeitplanung und Übermittlung zur Unterstützung von geplanten Vorgänge und Steuerung der Übermittlungserweiterungen, die dazu verwendet werden, Berichte in E-Mail-Posteingangsfächer oder freigegebene Ordner zu verschieben. Der Prozessor für Zeitplanung und Übermittlung stellt die folgenden Funktionen bereit:
- Verwaltet eine Warteschlange mit Ereignissen und Benachrichtigungen. 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 Berichtsverarbeitung, die als Folge eines geplanten Ereignisses auftritt, wird vom Berichtsserver-Windows-Dienst und nicht vom Berichtsserver-Webdienst ausgefü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 Berichtsserver-Windows-Dienst ausgeführt und verwendet den SQL Server-Agent als Zeitgeber zum Generieren von geplanten Ereignissen. In der folgenden Liste wird die Funktionsweise von geplanten Vorgängen in einer Reporting Services-Bereitstellung beschrieben.
- Ein geplanter Vorgang wird definiert, wenn ein Benutzer einen Zeitplan erstellt. Der Zeitplan definiert ein Datum und eine Uhrzeit, an dem ein Bericht ausgeführt wird, ein Snapshot aktualisiert wird oder ein Cache abläuft.
- Der Berichtsserver speichert die Zeitplaninformationen in der Berichtsserverdatenbank.
- Vom Berichtsserver wird ein entsprechender Auftrag im SQL Server-Agent erstellt und dieser basierend auf den bereitgestellten Zeitplaninformationen ausgeführt. Die Aufträge werden über eine gespeicherte Prozedur erstellt, wobei die vorhandene offene Verbindung mit der Berichtsserverdatenbank verwendet wird.
- 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.
- 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.
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 Berichtsserver-Windows-Dienst und der SQL Server-Agent gestartet sein. Das Feature für die Verarbeitung von Zeitplanung und Übermittlung muss über das Tool für die SQL Server-Oberflächenkonfiguration aktiviert werden. Sowohl der SQL Server-Agent als auch der Berichtsserver-Windows-Dienst müssen ausgeführt werden, damit geplante Vorgänge auftreten.
Hinweis: |
---|
Sie können das Tool für die Oberflächenkonfiguration verwenden, um geplante Vorgänge vorübergehend oder dauerhaft zu beenden. Der Prozessor für Zeitplanung und Übermittlung ist nicht erweiterbar und hat keine Konfigurationsseinstellungen. Sie können die Weise, wie er Ereignisse und Benachrichtigungen verwaltet, nicht ändern. Weitere Informationen zum Tool für die Oberflächenkonfiguration finden Sie unter SQL Server-Oberflächenkonfiguration. |
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 Verarbeitungsabfragen 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 Berichtsverarbeitungsanfragen 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.
Hinweis: |
---|
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 Berichtsserver-Windows-Dienstes
Wenn Sie den Berichtsserver-Windows-Dienst anhalten, 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 Berichtsserver-Windows-Dienst jedoch beendet war, findet keine Berichtsverarbeitung statt. Die Anforderungen werden in der Warteschlange gesammelt, bis Sie den Berichtsserver-Windows-Dienst neu starten. Sobald Sie den Berichtsserver-Windows-Dienst neu gestartet haben, werden alle Berichtsverarbeitungsanforderungen, die sich in der Warteschlange befinden, in der Reihenfolge verarbeitet.
Siehe auch
Konzepte
RSReportServer-Konfigurationsdatei
Starten und Beenden des Berichtsserver-Windows-Dienstes
Reporting Services-Komponenten (Übersicht)
Andere Ressourcen
Übermitteln von Berichten mithilfe von Abonnements
Planen von Berichten und Abonnements