Verschieben von Berichtsserver-Datenbanken auf andere Computer

Sie können die Berichtsserver-Datenbanken, die für eine aktuelle Installation verwendet werden, in eine SQL Server Database Engine (Datenbankmodul)-Instanz auf einem anderen Computer verschieben. Die Datenbanken reportserver und reportservertempdb müssen gemeinsam verschoben oder kopiert werden. Für eine Installation von Reporting Services sind beide Datenbanken erforderlich. Die reportservertempdb-Datenbank muss namentlich der zu verschiebenden primären reportserver-Datenbank entsprechen.

Das Verschieben einer Datenbank hat keine Auswirkungen auf geplante Vorgänge, die aktuell für Berichtsserverelemente definiert sind.

  • Zeitpläne werden beim ersten Neustart des Berichtsserverdiensts neu erstellt.

  • SQL Server-Agent-Aufträge, die verwendet werden, um einen Zeitplan auszulösen, werden auf der neuen Datenbankinstanz neu erstellt. Sie müssen die Aufträge nicht auf den neuen Computer verschieben, Sie möchten jedoch möglicherweise nicht mehr benötigte Aufträge auf dem Computer löschen.

  • Abonnements, zwischengespeicherte Berichte und Snapshots bleiben in der verschobenen Datenbank erhalten. Wenn ein Snapshot nach der Verlagerung der Datenbank keine aktualisierten Daten bezieht, löschen Sie die Snapshotoptionen im Berichts-Manager, und klicken Sie auf Anwenden, um die vorgenommenen Änderungen zu speichern. Erstellen Sie den Zeitplan neu, und klicken Sie nochmals auf Anwenden, um die vorgenommenen Änderungen zu speichern.

  • Temporäre Berichts- und Benutzersitzungsdaten, die in reportservertempdb gespeichert sind, bleiben beim Verschieben dieser Datenbank erhalten.

SQL Server bietet verschiedene Vorgehensweisen zum Verschieben von Datenbanken (einschließlich Sichern und Wiederherstellen, Anfügen und Trennen sowie Kopieren). Nicht alle Vorgehensweisen sind zum Verschieben einer vorhandenen Datenbank in eine neue Serverinstanz geeignet. Die zum Verschieben der Berichtsserver-Datenbank zu verwendende Vorgehensweise ist je nach Verfügbarkeitsanforderungen Ihres Systems unterschiedlich. Die einfachste Möglichkeit zum Verschieben der Berichtsserver-Datenbanken besteht darin, sie anzufügen und zu trennen. Bei dieser Vorgehensweise muss der Berichtsserver jedoch offline geschaltet werden, während Sie die Datenbank trennen. Sicherungen und Wiederherstellungen sind jedoch besser geeignet, wenn Sie Störungen des Diensts vermeiden möchten. Sie müssen für diese Vorgänge jedoch Transact-SQL-Befehle ausführen. Das Kopieren der Datenbank wird nicht empfohlen (insbesondere nicht mithilfe des Assistenten zum Kopieren von Datenbanken), da hierbei Berechtigungseinstellungen in der Datenbank verloren gehen.

Wichtiger HinweisWichtig

Die in diesem Thema vorgestellten Schritte sind geeignet, wenn das Verschieben der Berichtsserver-Datenbank die einzige Änderung ist, die Sie an der vorhandenen Installation vornehmen. Wenn eine gesamte Installation von Reporting Services migriert wird (d. h. wenn die Datenbank verschoben und die Identität des Report Server-Windows-Diensts, der die Datenbank verwendet, geändert wird), müssen die Verbindung neu konfiguriert und der Verschlüsselungsschlüssel zurückgesetzt werden. Weitere Informationen über die Migration einer Reporting Services-Version finden Sie unter Migration (Reporting Services).

Trennen und Anfügen der Berichtsserver-Datenbanken

Wenn Sie den Berichtsserver offline schalten können, können Sie die Datenbanken trennen, um sie in die gewünschte SQL Server-Instanz zu verschieben. Bei dieser Vorgehensweise bleiben die Berechtigungen in den Datenbanken erhalten. Wenn Sie eine SQL Server 2008-Datenbank verwenden, müssen Sie sie in eine andere SQL Server 2008-Instanz verschieben. Nachdem Sie die Datenbanken verschoben haben, müssen Sie die Verbindung des Berichtsservers mit der Berichtsserver-Datenbank erneut konfigurieren. Wenn Sie eine Bereitstellung für dezentrales Skalieren ausführen, müssen Sie die Verbindung der Berichtsserver-Datenbank für jeden Berichtsserver in der Bereitstellung erneut konfigurieren.

Führen Sie folgende Schritte aus, um die Datenbanken zu verschieben:

  1. Sichern Sie die Verschlüsselungsschlüssel für die zu verschiebende Berichtsserver-Datenbank. Mit dem Reporting Services-Konfigurationstool können Sie die Schlüssel sichern.

  2. Beenden Sie den Berichtsserverdienst. Mit dem Reporting Services-Konfigurationstool können Sie den Dienst beenden.

  3. Starten Sie SQL ServerManagement Studio, und stellen Sie eine Verbindung mit der SQL Server-Instanz her, die als Host für die Berichtsserver-Datenbanken fungiert.

  4. Klicken Sie mit der rechten Maustaste auf die Berichtsserver-Datenbank, zeigen Sie auf Tasks, und klicken Sie auf Trennen. Wiederholen Sie diesen Schritt für die temporäre Berichtsserver-Datenbank.

  5. Kopieren oder verschieben Sie die MDF- und LDF-Dateien in den Datenordner der gewünschten SQL Server-Instanz. Da Sie zwei Datenbanken verschieben, müssen Sie sicherstellen, dass Sie alle vier Dateien verschieben bzw. kopieren.

  6. Öffnen Sie in Management Studio eine Verbindung mit der neuen SQL Server-Instanz, die als Host für die Berichtsserver-Datenbanken fungiert.

  7. Klicken Sie mit der rechten Maustaste auf den Knoten Datenbanken, und klicken Sie anschließend auf Anfügen.

  8. Klicken Sie auf Hinzufügen, um die anzufügenden MDF- und LDF-Dateien der Berichtsserver-Datenbank auszuwählen. Wiederholen Sie diesen Schritt für die temporäre Berichtsserver-Datenbank.

  9. Überprüfen Sie nach dem Anfügen der Datenbanken, ob es sich bei RSExecRole um eine Datenbankrolle in der Berichtsserver-Datenbank und in der temporären Datenbank handelt. RSExecRole muss über Berechtigungen zum Auswählen, Einfügen, Aktualisieren, Löschen und Verweisen auf die Berichtsserver-Datenbanktabellen und über Berechtigungen für die gespeicherten Prozeduren verfügen. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen der Rolle 'RSExecRole'.

  10. Starten Sie das Reporting Services-Konfigurationstool, und stellen Sie eine Verbindung mit dem Berichtsserver her.

  11. Wählen Sie auf der Datenbankseite die neue SQL Server-Instanz aus, und klicken Sie dann auf Verbinden.

  12. Wählen Sie die soeben verschobene Berichtsserver-Datenbank aus, und klicken Sie anschließend auf Anwenden.

  13. Klicken Sie auf der Seite Verschlüsselungsschlüssel auf Wiederherstellen. Gibt die Datei an, die eine Sicherungskopie der Schlüssel und des Kennworts zum Entsperren der Datei enthält.

  14. Starten Sie den Berichtsserverdienst neu.

Sichern und Wiederherstellen der Berichtsserver-Datenbanken

Wenn Sie den Berichtsserver nicht offline schalten können, können Sie die Berichtsserver-Datenbanken durch Sichern und Wiederherstellen verschieben. Dazu sollten Sie die Option Copy_Only verwenden. Ab SQL Server 2008 unterstützt SQL Server Management Studio das Erstellen von Kopiersicherungen. Nach dem Wiederherstellen der Datenbanken müssen Sie den Berichtsserver so konfigurieren, dass die Datenbank in der neuen Serverinstanz verwendet wird. Weitere Informationen finden Sie in den Anweisungen am Ende dieses Themas.

Verwenden von BACKUP und COPY_Only zum Sichern der Berichtsserver-Datenbanken

Legen Sie beim Sichern der Datenbanken die Option COPY_OnlyL und den Sicherungstyp auf Vollständig fest.

HinweisHinweis

Achten Sie darauf, dass Sie sowohl die ReportServer- und die ReportServerTempDB-Datenbanken als auch die dazugehörigen Protokolldateien sichern.

Weitere Informationen zum Sichern einer Datenbank mithilfe von SQL Server Management Studio finden Sie unter Vorgehensweise: Sichern einer Datenbank (SQL Server Management Studio)

Verwenden von RESTORE und MOVE zum Verschieben der Berichtsserver-Datenbanken

Beim Wiederherstellen der Datenbanken können Sie die anfängliche Wiederherstellung mithilfe des RESTORE WITH NORECOVERY-Arguments ausführen. Dadurch bleibt die Datenbank in einem Wiederherstellungsstatus, und Sie erhalten Zeit zur Überprüfung der Protokollsicherungen, um zu entscheiden, welche wiederhergestellt werden sollen. Fahren Sie dann mit dem Wiederherstellungsvorgang fort, verwenden Sie jetzt aber das RESTORE WITH RECOVERY-Argument.

HinweisHinweis

Achten Sie darauf, dass Sie sowohl die ReportServer- und die ReportServerTempDB-Datenbanken als auch die dazugehörigen Protokolldateien wiederherstellen.

Weiter Informationen zum Wiederherstellen einer Datenbank mithilfe von SQL Server Management Studio finden Sie unter Vorgehensweise: Wiederherstellen einer Datenbanksicherung (SQL Server Management Studio)

So konfigurieren Sie die Berichtsserver-Datenbankverbindung

  1. Starten Sie das Reporting Services-Konfigurationstool, und stellen Sie eine Verbindung mit dem Berichtsserver her.

  2. Doppelklicken Sie auf der Seite Datenbank auf Datenbank ändern. Klicken Sie auf Weiter.

  3. Sie können auch auf Wählen Sie eine vorhandene Berichtsserver-Datenbank aus klicken. Klicken Sie auf Weiter.

  4. Wählen Sie die SQL Server, die nun als Host für die Berichtsserver-Datenbank fungiert, und klicken Sie auf Verbindung testen. Klicken Sie auf Weiter.

  5. Wählen Sie unter Datenbankname die gewünschte Berichtsserver-Datenbank aus. Klicken Sie auf Weiter.

  6. Geben Sie unter Anmeldeinformationen die Anmeldeinformationen an, die der Berichtsserver zur Herstellung der Verbindung mit der Berichtsserver-Datenbank verwendet. Klicken Sie auf Weiter.

  7. Klicken Sie auf Weiter und anschließend auf Fertig stellen.

HinweisHinweis

Für eine Reporting Services-Installation muss die SQL Server Database Engine (Datenbankmodul)-Instanz die RSExecRole-Rolle beinhalten. Wenn Sie die Berichtsserver-Datenbankverbindung über das Reporting Services-Konfigurationstool festlegen, werden Rollen erstellt und Anmelderegistrierungen sowie Rollenzuweisungen vorgenommen. Wenn Sie zum Konfigurieren der Verbindung alternative Vorgehensweisen verwenden (insbesondere das Befehlszeilen-Dienstprogramm rsconfig.exe), ist der Berichtsserver nicht betriebsbereit. Sie müssen möglicherweise WMI-Code schreiben, um den Berichtsserver verfügbar zu machen. Weitere Informationen finden Sie unter Reporting Services-WMI-Anbieter.