Freigeben über


Verwalten einer Berichtsserver-Datenbank (nativer SSRS-Modus)

Eine Reporting Services-Bereitstellung verwendet zwei relationale SQL Server-Datenbanken für die interne Speicherung. Standardmäßig sind die Datenbanken mit ReportServer und ReportServerTempdb benannt. ReportServerTempdb wird mit der primären Berichtsserver-Datenbank erstellt und dient zur Speicherung von temporären Daten, Sitzungsinformationen und zwischengespeicherten Berichten.

In Reporting Services gehören zu den Aufgaben der Datenbankverwaltung das Sichern und Wiederherstellen der Berichtsserver-Datenbanken. Zu den Aufgaben gehört auch die Verwaltung der Schlüssel, die zum Ver- und Entschlüsseln sensibler Daten verwendet werden.

Für die Verwaltung der Berichtsserver-Datenbanken bietet SQL Server verschiedene Tools.

  • Sie können SQL Server Management Studio, die Transact-SQL-Befehle oder die Hilfsprogramme für Eingabeaufforderungen für die Datenbank zu folgenden Zwecken verwenden:

    • Sichern oder Wiederherstellen der Berichtsserver-Datenbank
    • Verlagern einer Berichtsserver-Datenbank
    • Wiederherstellen einer Berichtsserver-Datenbank

    Weitere Informationen finden Sie unter Verschieben von Berichtsserver-Datenbanken auf einen anderen Computer (nativer SSRS-Modus).

  • Um vorhandene Datenbankinhalte in eine andere Berichtsserver-Datenbank zu kopieren, können Sie eine Kopie einer Berichtsserver-Datenbank anfügen und sie mit einer anderen Berichtsserverinstanz verwenden. Oder Sie können ein Skript erstellen und ausführen, das SOAP-Aufrufe verwendet, um Berichtsserverinhalte in einer neuen Datenbank neu zu erstellen. Sie können das Hilfsprogramm rs verwenden, um das Skript auszuführen.

  • Über die Seite Datenbank-Setup im Reporting Services-Konfigurationstool können Sie Verbindungen zwischen dem Berichtsserver und der Berichtsserver-Datenbank verwalten. Sie können sie auch verwenden, um festzustellen, welche Datenbank für eine bestimmte Berichtsserverinstanz verwendet wird. Weitere Informationen zur Berichtsserververbindung mit der Datenbank finden Sie unter Konfigurieren einer Verbindung mit der Berichtsserver-Datenbank (Berichtsserver-Configuration Manager).

SQL Server-Anmeldedaten und Datenbankberechtigungen

Die Berichtsserver-Datenbanken werden intern vom Berichtserver verwendet. Die Verbindungen zu Datenbanken werden durch den Berichtsserverdienst hergestellt. Mit dem Berichtserstellung-Konfigurationstool können Sie die Berichtsserververbindung zur Berichtsserver-Datenbank konfigurieren.

Bei den Anmeldeinformationen für die Berichtsserververbindung zur Datenbank kann es sich um das Dienstkonto, ein lokales Benutzerkonto oder Domänenbenutzerkonto unter Windows oder einen SQL Server-Datenbankbenutzer handeln. Sie müssen ein vorhandenes Konto für die Verbindung auswählen. Reporting Services erstellt keine Konten für Sie.

SQL Server-Anmeldedaten für die Berichtsserver-Datenbank werden automatisch für das von Ihnen angegebene Konto erstellt.

Berechtigungen für die Datenbank werden auch automatisch konfiguriert. Das Reporting Services-Konfigurationstool weist das Konto oder den Datenbankbenutzer der Public-Rolle und der RSExecRole-Rolle für die Berichtsserver-Datenbanken hinzu. RSExecRole bietet Berechtigungen für den Zugriff auf die Datenbanktabellen und für das Ausführen von gespeicherten Prozeduren. RSExecRole wird in der primären Datenbank und in msdb erstellt, wenn Sie die Berichtsserver-Datenbank erstellen. RSExecRole ist ein Mitglied der db_owner-Rolle für die Berichtsserver-Datenbanken, mit der der Berichtsserver sein eigenes Schema zur Unterstützung eines automatischen Upgradeprozesses aktualisieren kann.

Namenskonventionen für die Berichtsserver-Datenbanken

Beim Erstellen der primären Datenbank muss der Name der Datenbank den Regeln für Datenbankbezeichner entsprechen. Der Name der temporären Datenbank besteht immer aus dem Namen der primären Berichtsserver-Datenbank und dem Suffix Tempdb. Sie können keinen anderen Namen für die temporäre Datenbank auswählen.

Das Umbenennen einer Berichtsserver-Datenbank wird nicht unterstützt, da die Berichtsserver-Datenbanken als interne Komponenten betrachtet werden. Das Umbenennen der Berichtsserver-Datenbanken führt zu Fehlern. Besonders wenn Sie die primäre Datenbank umbenennen, wird in einer Fehlermeldung darauf hingewiesen, dass die Datenbanknamen nicht synchronisiert sind. Wenn Sie die ReportServerTempdb-Datenbank umbenennen, tritt später beim Ausführen von Berichten der folgende interne Fehler auf:

"Interner Fehler beim Berichtsserver. Weitere Informationen finden Sie im Fehlerprotokoll. (rsInternalError)

Ungültiger Objektname ReportServerTempDB.dbo.PersistedStream.“

Dieser Fehler tritt auf, weil der Name ReportServerTempdb intern gespeichert und von gespeicherten Prozeduren zum Ausführen interner Vorgänge verwendet wird. Nach dem Umbenennen der temporären Datenbank können die gespeicherten Prozeduren nicht mehr ordnungsgemäß ausgeführt werden.

Aktivieren der Momentaufnahmeisolation in der Berichtsserver-Datenbank

Sie können keine Momentaufnahmeisolation in der Berichtsserver-Datenbank aktivieren. Wenn die Momentaufnahmeisolation aktiviert ist, tritt folgender Fehler auf: „Der ausgewählte Bericht kann noch nicht angezeigt werden. Der Bericht wird immer noch gerendert, oder eine Berichtsmomentaufnahme ist nicht verfügbar."

Wenn Sie die Momentaufnahmeisolation nicht absichtlich aktiviert haben, wurde das Attribut unter Umständen von einer anderen Anwendung festgelegt oder für die model-Datenbank ist die Momentaufnahmeisolation aktiviert, sodass alle neuen Datenbanken diese Einstellung übernehmen.

Um die Momentaufnahmeisolation auf der Berichtsserver-Datenbank zu deaktivieren, starten Sie Management Studio, öffnen Sie ein neues Abfragefenster, fügen Sie den Skripttext ein, und führen Sie das Skript aus:

ALTER DATABASE ReportServer  
SET ALLOW_SNAPSHOT_ISOLATION OFF  
ALTER DATABASE ReportServerTempdb  
SET ALLOW_SNAPSHOT_ISOLATION OFF  
ALTER DATABASE ReportServer  
SET READ_COMMITTED_SNAPSHOT OFF  
ALTER DATABASE ReportServerTempDb  
SET READ_COMMITTED_SNAPSHOT OFF  

Informationen zu Datenbankversionen

In Reporting Services stehen keine expliziten Informationen zur Datenbankversion zur Verfügung. Da Datenbankversionen jedoch immer mit Produktversionen synchronisiert werden, können Sie anhand der Informationen zur Produktversion erkennen, wenn sich die Datenbankversion geändert hat. Die Informationen zur Produktversion für Reporting Services werden über die Dateiversionsinformationen in den Protokolldateien, in den Headern aller SOAP-Aufrufe und beim Herstellen einer Verbindung mit der Berichtsserver-URL angezeigt (z.B. beim Öffnen eines Browsers und Eingabe von https://localhost/reportserver).