Festlegen von Timeoutwerten für die Verarbeitung von Berichten und freigegebenen Datasets (SSRS)

Mithilfe von Timeoutwerten können Sie Grenzwerte für die Verwendung der Systemressourcen festlegen. Der Berichtsserver unterstützt die folgenden beiden Timeoutwerte:

  • Ein Abfragetimeoutwert für ein eingebettetes Dataset gibt an, wie viele Sekunden der Berichtsserver auf eine Antwort von der Datenbank wartet. Dieser Wert wird in einem Bericht definiert.

  • Ein Abfragetimeoutwert für ein freigegebenes Dataset gibt an, wie viele Sekunden der Berichtsserver auf eine Antwort von der Datenbank wartet. Dieser Wert ist Teil der Definition des freigegebenen Datasets und kann geändert werden, wenn Sie das freigegebene Dataset auf dem Berichtsserver verwalten.

  • Ein Timeoutwert für die Berichtsausführung gibt an, wie viele Sekunden diese Berichtsverarbeitung maximal dauern darf, bevor sie beendet wird. Dieser Wert wird auf Systemebene definiert. Sie können diesen Wert für die jeweiligen Berichte anpassen.

Die meisten Timeoutfehler treten während der Abfrageverarbeitung auf. Verwenden Sie beim Auftreten von Timeoutfehlern einen höheren Abfragetimeoutwert. Passen Sie unbedingt den Timeoutwert für die Berichtsausführung so an, dass dieser Wert höher als der Abfragetimeoutwert ist. Dieser Zeitraum sollte so lang sein, dass sowohl die Abfrage- als auch die Berichtsverarbeitung abgeschlossen werden kann.

Festlegen eines Abfragetimeouts für ein eingebettetes Dataset in einem Bericht

Abfragetimeoutwerte werden im Rahmen der Erstellung eines Berichts beim Definieren eines eingebetteten Datasets angegeben. Der Timeoutwert wird zusammen mit dem Bericht im Timeout-Element der Berichtsdefinition gespeichert. Standardmäßig ist dieser Wert auf 30 Sekunden festgelegt. Weitere Informationen finden Sie unter Erstellen und Hinzufügen von Datasets (Berichts-Generator 3.0 und SSRS).

Benutzer mit der Berechtigung zum Ändern der Eigenschaften eines veröffentlichten Berichts können diesen Wert zurücksetzen, indem sie die Definitionsdatei des Berichts bearbeiten. Weitere Informationen zum Ändern der Berichtsdefinition eines veröffentlichten Berichts finden Sie unter Hinzufügen, Ändern und Löschen von Berichten.

Einen Abfragetimeoutwert können Sie auch für datengesteuerte Abonnements angeben. Der Wert für das Abfragetimeout wird auf den Seiten für die datengesteuerten Abonnements festgelegt. Der angegebene Wert bestimmt, wie lange der Berichtsserver beim Abrufen von Daten aus der Abonnentendatenquelle auf den Abschluss der Abfrageverarbeitung wartet.

Festlegen eines Abfragetimeouts für einen freigegebenes Dataset

Abfragetimeoutwerte werden auf dem Berichtsserver in Sekunden angegeben, wenn Sie ein freigegebenes Dataset erstellen oder verwalten. Standardmäßig wird dieser Wert auf 0 Sekunden festgelegt, was bedeutet, dass kein Timeoutwert vorhanden ist. Weitere Informationen finden Sie unter Verwalten freigegebener Datasets.

Festlegen des Timeouts für Berichtsverarbeitung

Sie können einen Timeoutwert für die Berichtsverarbeitung festlegen, um die Verarbeitungszeit des Berichtsservers für einen Bericht zu begrenzen. Die Timeoutwerte für Berichtsverarbeitung können auf zwei unterschiedliche Arten geändert werden:

  • Verwenden des Berichts-Managers. Sie können auf der Seite Siteeinstellungen für alle Berichte einen Standardwert festlegen und diesen Wert später auf der Eigenschaftenseite Ausführung für einen speziellen Bericht außer Kraft setzen. Standardmäßig ist der Wert auf 1800 Sekunden festgelegt. Weitere Informationen finden Sie unter Festlegen von Eigenschaften zur Berichtsverarbeitung.

  • Verwenden von SQL Server Management Studio (SSMS). Sie können das Ausführungstimeout für alle Berichte festlegen. Klicken Sie in SSMS mit der rechten Maustatste auf den Namen eines Berichtsservers, und klicken Sie anschließend auf Eigenschaften. Klicken Sie im Fenster für die Servereigenschaften auf die Seite Ausführung, und ändern Sie den Wert für Berichtsausführung auf die folgende Anzahl von Sekunden beschränken. Weitere Informationen finden Sie unter Vorgehensweise: Herstellen einer Verbindung zu einem Berichtsserver in Management Studio.

Auswerten von Timeoutwerten für die Berichtsausführung

Der Berichtsserver wertet Aufträge, die ausgeführt werden, in Zeitabständen von 60 Sekunden aus. Alle 60  Sekunden vergleicht der Berichtsserver die tatsächliche Verarbeitungszeit mit dem Timeoutwert für die Berichtsausführung. Falls die Verarbeitungszeit für einen Bericht den Timeoutwert für die Berichtsausführung übersteigt, wird die Berichtsverarbeitung angehalten.

Beachten Sie Folgendes: Wenn ein Timeoutwert unter 60 Sekunden angegeben wird, kann der Bericht vollständig ausgeführt werden, falls die Verarbeitung während der Ruhezeit des Zyklus beginnt und endet, in der der Berichtsserver die ausgeführten Aufträge nicht auswertet. Wenn Sie z. B. einen Timeoutwert von 10 Sekunden für einen Bericht festlegen, dessen Ausführung 20 Sekunden dauert, wird der Bericht vollständig verarbeitet, falls die Berichtsausführung früh im 60 Sekunden-Zyklus beginnt.

HinweisHinweis

Sie können die Einstellung RunningRequestsDbCycle in der Datei RSReportServer.config festlegen, um die Häufigkeit zu ändern, mit der Aufträge, die ausgeführt werden, ausgewertet werden.

Änderungsverlauf

Aktualisierter Inhalt

Informationen zu SSMS als weitere Methode zum Ändern von Eigenschaften hinzugefügt.