Verwalten eines ausgeführten Prozesses
SQL Server Reporting Services überwacht den Status von Aufträgen, die auf dem Berichtsserver ausgeführt werden. Der Berichtsserver führt in regelmäßigen Abständen einen Scan von Aufträgen, die verarbeitet werden, durch und schreibt die Statusinformationen in die Berichtsserver-Datenbank. Ein Auftrag wird verarbeitet, wenn alle folgenden Prozesse ausgeführt werden: Abfrageausführung auf einem Remote- oder auf einem lokalen Datenbankserver, Berichtsverarbeitung und Berichtsrendering.
Sie können sowohl Benutzeraufträge als auch Systemaufträge verwalten. Benutzeraufträge werden durch einen einzelnen Benutzer oder durch ein Abonnement initiiert. Dazu gehört das Ausführen eines Berichts bei Bedarf, das Anfordern einer Momentaufnahme zum Berichtsverlauf, das manuelle Erstellen einer Berichtsmomentaufnahme sowie das Verarbeiten eines Standardabonnements. Systemaufträge werden durch den Berichtsserver initiiert. Zu Systemaufträgen zählen geplante Momentaufnahmen zur Berichtsausführung, geplante Momentaufnahmen zum Berichtsverlauf sowie datengesteuerte Abonnements.
Die Berichtsverarbeitungszeit und die Ressourcenverwendung können je nach Bericht, Komplexität der Abfrage, Datenmenge und Renderingformat für den Bericht sehr unterschiedlich sein. Berichte mit einfachen Abfragen für eine lokale Datenquelle sind oft in Millisekunden abgeschlossen und müssen nie verwaltet oder optimiert werden. Im Gegensatz dazu erfordert ein großer Bericht, der in PDF oder Excel gerendert wird, je nach Hardwareressourcen, Übermittlungsoptionen und gleichzeitig ausgeführten Prozessen unter Umständen eine beträchtliche Verarbeitungszeit. Bei den meisten lang andauernden Prozessen auf einem Berichtsserver handelt es sich um Renderingvorgänge für Berichte sowie um Prozesse, die auf den Abschluss der Abfrageverarbeitung warten. Gelegentlich müssen Sie möglicherweise einen Berichtsprozess abbrechen, wenn Sie einen Computer offline schalten möchten, oder einen gerade ausgeführten Auftrag beenden, dessen Abschluss zu lange dauert.
Anzeigen und Abbrechen von Aufträgen
Sie können SQL Server Management Studio zum Anzeigen oder Abbrechen eines auf dem Berichtsserver ausgeführten Auftrags verwenden. Zum Abrufen einer Liste mit Aufträgen, die aktuell ausgeführt werden, oder zum Abrufen des aktuellen Auftragsstatus aus der Berichtsserver-Datenbank müssen Sie die Seite aktualisieren. Wenn Sie in Management Studio eine Verbindung zum Berichtsserver herstellen, können Sie einen Auftragsordner öffnen, um eine Liste der Berichte anzuzeigen, die aktuell auf dem Berichtsservercomputer bearbeitet werden. Statusinformationen zu jedem Auftrag werden auf der Seite Auftragseigenschaften angezeigt. Sie können Statusinformationen für alle Aufträge anzeigen lassen, indem Sie das Dialogfeld Berichtsserveraufträge abbrechen öffnen.
Die folgenden Prozesse können abgebrochen werden:
Bedarfsgesteuerte Berichtsverarbeitung.
Geplante Berichtsverarbeitung.
Standardabonnements von einzelnen Benutzern.
Durch das Abbrechen eines Auftrags werden nur die Prozesse beendet, die auf dem Berichtsserver ausgeführt werden. Da der Berichtsserver keine Datenverarbeitung auf anderen Computern verwaltet, müssen Sie Abfrageprozesse, die anschließend auf anderen Systemen verwaist sind, manuell abbrechen. Geben Sie möglichst Timeoutwerte an, um Abfragen automatisch zu beenden, deren Ausführung zu lange dauert. Weitere Informationen finden Sie unter Festlegen von Timeoutwerten für die Verarbeitung von Berichten und freigegebenen Datasets (SSRS). Weitere Informationen zum vorübergehenden Anhalten eines Berichts finden Sie unter Anhalten der Berichts- und Abonnementverarbeitung.
Hinweis |
---|
In seltenen Fällen müssen Sie den Server neu starten, um einen Prozess abzubrechen. Weitere Informationen finden Sie unter Starten und Beenden des Berichtsserverdiensts. |
Mit Management Studio können Sie Modellgenerierung, Modellverarbeitung oder datengesteuerte Abonnements nicht auflisten oder abbrechen. Reporting Services bietet keine Möglichkeit zum Abbrechen der Modellgenerierung bzw. -verarbeitung. Sie können jedoch datengesteuerte Abonnements mit den unter diesem Thema aufgeführten Anweisungen abbrechen.
So brechen Sie Berichtsverarbeitung oder -abonnements ab
Stellen Sie in Management Studio eine Verbindung mit dem Berichtsserver her. Anweisungen finden Sie unter Vorgehensweise: Herstellen einer Verbindung zu einem Berichtsserver in Management Studio.
Öffnen Sie den Ordner Aufträge.
Klicken Sie mit der rechten Maustaste auf den Bericht, und klicken Sie dann auf Aufträge abbrechen.
So brechen Sie ein datengesteuertes Abonnement ab
Öffnen Sie die Datei RSReportServer.config in einem Text-Editor.
Suchen Sie IsNotificationService.
Legen Sie hierfür False fest.
Speichern Sie die Datei.
Löschen Sie im Berichts-Manager das datengesteuerte Abonnement aus der Registerkarte Abonnements des Berichts oder aus Meine Abonnements.
Nachdem Sie das Abonnement gelöscht haben, suchen Sie in der Datei RSReportServer.config IsNotificationService, und legen Sie dafür True fest.
Speichern Sie die Datei.
Konfigurieren von Frequenzeinstellungen für den Abruf des Auftragsstatus
Ein Auftrag, der gerade ausgeführt wird, wird in der temporären Datenbank des Berichtsservers gespeichert. Durch Ändern der Konfigurationseinstellungen in der Datei RSReportServer.config können Sie steuern, wie oft der Berichtsserver nach Aufträgen, die verarbeitet werden, scannt, sowie das Intervall festlegen, nach dem der Status eines ausgeführten Auftrags von Neu in Wird ausgeführt geändert wird. Die Einstellung RunningRequestsDbCycle gibt an, wie oft der Berichtsserver nach ausgeführten Prozessen scannt. Standardmäßig werden die Statusinformationen alle 60 Sekunden aufgezeichnet. Die Einstellung RunningRequestsAge gibt das Intervall an, nach dem der Status eines Auftrags von Neu in Wird ausgeführt geändert wird.
Programmgesteuertes Verwalten von Aufträgen
Sie können Aufträge programmgesteuert oder mit einem Skript verwalten. Weitere Informationen finden Sie unter ListJobs, CancelJob.
Siehe auch