Verwalten einer Berichtsserver-Datenbank

Aktualisiert: 15. September 2007

In einer Reporting Services-Bereitstellung werden zwei relationale SQL Server-Datenbanken für die interne Speicherung verwendet. Die Namen der Datenbanken lauten standardmäßig ReportServer und ReportServerTempdb. ReportServerTempdb wird mit der primären Berichtsserver-Datenbank erstellt und dient zur Speicherung von temporären Daten, Sitzungsinformationen und zwischengespeicherten Berichten.

In Reporting Services umfassen die Aufgaben der Datenbankverwaltung das Sichern und Wiederherstellen der Berichtsserver-Datenbanken sowie das Verwalten der Verschlüsselungsschlüssel, mit denen vertrauliche Daten verschlüsselt und entschlüsselt werden.

Für die Verwaltung der Berichtsserver-Datenbanken enthält SQL Server eine Reihe von Tools.

  • Zum Sichern oder Wiederherstellen der Berichtsserver-Datenbank, zum Verschieben einer Berichtsserver-Datenbank oder zum Wiederherstellen einer Berichtsserver-Datenbank können Sie SQL Server Management Studio, die Transact-SQL-Befehle oder die Eingabeaufforderungs-Dienstprogramme für Datenbanken verwenden. Anweisungen finden Sie in der SQL Server-Onlinedokumentation unter Verschieben einer Berichtsserver-Datenbank auf einen anderen Computer.
  • 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 Dienstprogramm rs verwenden, um das Skript auszuführen.
  • Um Verbindungen zwischen dem Berichtsserver und der Berichtsserver-Datenbank zu verwalten und um festzustellen, welche Berichtsserver-Datenbank von einer bestimmten Berichtsserverinstanz verwendet wird, steht Ihnen die Seite Setup der Datenbank im Reporting Services-Konfigurationstool zur Verfügung. Weitere Informationen über die Berichtsserververbindung zur Berichtsserver-Datenbank finden Sie unter Konfigurieren einer Berichtsserver-Datenbankverbindung.
  • Weitere Informationen zum Sammeln von metrischen Daten über die Leistung und Aktivität des Berichtsservers finden Sie in der SQL Server-Onlinedokumentation unter Abfragen und Erstellen von Berichten zu Protokolldaten für die Berichtsausführung.

SQL Server-Anmelde- und Datenbankberechtigungen

Die Berichtsserver-Datenbanken werden intern vom Berichtserver verwendet. Verbindungen mit Datenbanken werden durch den Berichtsserver-Webdienst und Berichtsserver-Windows-Dienst hergestellt.

Sie können das Reporting Services-Konfigurationstool verwenden, um die Verbindung anzugeben. Sie können die Anmeldeinformationen der Dienstkonten, die Anmeldeinformationen des Domänenbenutzerkontos oder einen SQL Server-Anmeldenamen verwenden. Das von Ihnen für die Verbindung ausgewählte Konto muss über einen SQL Server-Anmeldenamen und über die RollenPublic und RSExecRole für die Berichtsserver-Datenbanken verfügen.

Der Anmeldename und die Berechtigungen werden für Sie automatisch erstellt, wenn Sie das Reporting Services-Konfigurationstool verwenden, um die Datenbankverbindung zu konfigurieren, die Berichtsserver-Datenbank zu aktualisieren oder entsprechende Skripts auf der SQL Server-Instanz auszuführen, die die Datenbank hostet.

RSExecRole bietet Berechtigungen für den Zugriff auf die Datenbanktabellen und für das Ausführen von gespeicherten Prozeduren. Die RSExecRole wird in master und msdb erstellt, wenn Sie die Berichtsserver-Datenbank erstellen. RSExecRole war ab SQL Server 2005 Service Pack 1 verfügbar und ist ein Element der db_owner-Rolle für die Berichtsserver-Datenbanken. Mit den zusätzlichen Berechtigungen kann der Berichtsserver das Schema in nachfolgenden Versionen aktualisieren. Damit wird der Aktualisierungsprozess vereinfacht.

Entfernen von nicht verwendeten Konten in RSExecRole

Falls Sie den Report Server-Webdienst oder den Windows-Dienst zur Ausführung unter einem anderen Konto konfigurieren, wird das neue Konto RSExecRole automatisch hinzugefügt. Alle zuvor hinzugefügten Konten, die nicht mehr verwendet werden, müssen jedoch manuell entfernt werden. Verwenden Sie zum Entfernen der Konten Management Studio wie folgt:

  1. Stellen Sie eine Verbindung mit der Instanz von Datenbankmodul her, die die Berichtsserver-Datenbank hostet.
  2. Erweitern Sie den Ordner Datenbanken, erweitern Sie den Ordner ReportServer, erweitern Sie den Ordner Sicherheit, dann Rollen, anschließend Datenbankrollen, und doppelklicken Sie dann auf RSExecRole.
  3. Wählen Sie das nicht mehr verwendete Konto aus.
  4. Kicken Sie auf Entfernen.

Benennungskonventionen für die Berichtsserver-Datenbanken

Beim Erstellen der primären Datenbank muss der Name der Datenbank den Regeln für Bezeichner 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 ReportServerTempdb-Name 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.

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 dem Berichtsserver-URL angezeigt (z. B. beim Öffnen eines Browsers und Eingabe von https://localhost/reportserver).

Aktivieren der Snapshotisolation für die Berichtsserver-Datenbank

Sie können keine Snapshotisolation für die Berichtsserver-Datenbank aktivieren. Wenn die Snapshotisolation aktiviert wird, tritt der folgende Fehler auf: "Der ausgewählte Bericht kann noch nicht angezeigt werden. Der Bericht wird noch gerendert, oder ein Berichtssnapshot ist nicht verfügbar".

Wenn Sie die Snapshotisolation nicht explizit aktiviert haben, wurde das Attribut möglicherweise von einer anderen Anwendung festgelegt, oder die Snapshotisolation ist für die model-Datenbank aktiviert, was dazu führt, dass alle neuen Datenbanken diese Einstellung erben.

Um die Snapshotisolation für die Berichtsserver-Datenbank zu deaktivieren, starten Sie Management Studio, öffnen Sie ein neues Abfragefenster, fügen Sie das folgende Skript 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

Siehe auch

Konzepte

Erstellen einer Berichtsserver-Datenbank
Sicherungs- und Wiederherstellungsvorgänge für eine Reporting Services-Installation
Berichtsserver-Datenbank
Verwalten von Reporting Services
Anforderungen für die Berichtsserver-Datenbank
Speichern verschlüsselter Berichtsserver-Daten
Verwalten von Verschlüsselungsschlüsseln

Andere Ressourcen

Bereitstellen von Reporting Services

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

15. September 2007

Neuer Inhalt:
  • Informationen über das Aktivieren der Snapshotisolation für die Berichtsserver-Datenbank hinzugefügt.

12. Dezember 2006

Neuer Inhalt:
  • Entfernen von nicht verwendeten Konten in RSExecRole

14. April 2006

Neuer Inhalt:
  • Benennungskonventionen und Versionsinformationen für die Berichtsserver-Datenbanken wurden hinzugefügt.