Erstellen der Rolle RSExecRole
Reporting Services verwendet eine vordefinierte Datenbankrolle namens , RSExecRole
um der Berichtsserver-Datenbank Berichtsserverberechtigungen zu erteilen. Die RSExecRole
Rolle wird automatisch mit der Berichtsserver-Datenbank erstellt. Als Faustregel gilt, dass Sie sie nie ändern und ihr keine anderen Benutzer zuweisen sollten. Wenn Sie jedoch eine Berichtsserver-Datenbank in eine neue oder andere SQL Server Datenbank-Engine verschieben, müssen Sie die Rolle in den Master- und MSDB-Systemdatenbanken neu erstellen.
Mithilfe der folgenden Anweisungen führen Sie die folgenden Schritte aus:
Erstellen Sie die Rolle
RSExecRole
und stellen Sie sie in der Systemdatenbank Master bereit.Erstellen Sie die Rolle
RSExecRole
und stellen Sie sie in der Systemdatenbank MSDB bereit.
Hinweis
Die Anweisungen in diesem Thema sind für Benutzer vorgesehen, die zur Bereitstellung der Berichtsserver-Datenbank kein Skript ausführen oder WMI-Code schreiben möchten. Wenn Sie eine umfangreiche Bereitstellung verwalten und regelmäßig Datenbanken verschieben, sollten Sie ein Skript zur Automatisierung dieser Schritte schreiben. Weitere Informationen finden Sie unter Zugreifen auf den Reporting Services-WMI-Anbieter.
Vorbereitung
Sichern Sie die Verschlüsselungsschlüssel, damit Sie sie wiederherstellen können, nachdem die Datenbank verschoben wurde. Dieser Schritt wirkt sich nicht direkt auf die Erstellung oder Bereitstellung der Rolle
RSExecRole
aus. Sie müssen jedoch über eine Sicherung der Schlüssel verfügen, um die durchgeführten Schritte verifizieren zu können. Weitere Informationen finden Sie unter Back Up and Restore Reporting Services Encryption Keys.Vergewissern Sie sich, dass Sie als Benutzerkonto angemeldet sind, das
sysadmin
über Berechtigungen für die SQL Server instance verfügt.Überprüfen Sie, ob der SQL Server-Agent-Dienst installiert wurde und auf der Instanz der Datenbank-Engine-Instanz ausgeführt wird, die Sie verwenden möchten.
Fügen Sie die Datenbanken reportservertempdb und reportserver an. Zum Erstellen der Rolle ist das Anfügen der Datenbanken nicht erforderlich. Die Datenbanken müssen jedoch angefügt werden, damit Sie Ihre Implementierung testen können.
Die Anweisungen zum manuellen Erstellen der Rolle RSExecRole
sollen im Kontext einer Migration der Berichtsserver-Installation verwendet werden. In diesem Thema wird auf wichtige Aufgaben, wie z. B. das Sichern und Verschieben der Berichtsserver-Datenbank, nicht eingegangen. Diese Aufgaben werden aber in der Dokumentation zur Datenbank-Engine beschrieben.
Erstellen der Rolle 'RSExecRole' in 'Master'
Berichterstellungsdienst wird durch den Einsatz von erweiterten gespeicherten Prozeduren sichergestellt, dass der SQL Server-Agent-Dienst geplante Vorgänge unterstützt. Die folgenden Schritte erklären, wie der Rolle RSExecRole
Berechtigungen zum Ausführen der Prozeduren gewährt werden.
So erstellen Sie die Rolle 'RSExecRole' mit Management Studio in der Systemdatenbank 'Master'
Starten Sie SQL Server Management Studio, und stellen Sie eine Verbindung mit der SQL Datenbank-Engine-Instanz her, die als Host für die Berichtsserver-Datenbank fungiert.
Öffnen Sie Datenbanken
Öffnen Sie Systemdatenbanken.
Öffnen Sie
Master
.Öffnen Sie Sicherheit.
Öffnen Sie Rollen.
Klicken Sie mit der rechten Maustaste auf Datenbankrollen, und wählen Sie Neue Datenbankrolleaus. Die Seite Allgemein wird angezeigt.
Geben Sie unter Rollenname den Namen ein
RSExecRole
.Geben Sie unter Besitzer den Namen DBO ein.
Klicken Sie auf Sicherungsfähige Elemente.
Klicken Sie auf Suchen. Das Dialogfeld Objekte hinzufügen wird angezeigt. Standardmäßig ist die Option Bestimmte Objekte aktiviert.
Klicken Sie auf OK. Das Dialogfeld Objekte auswählen wird angezeigt.
Klicken Sie auf Objekttypen.
Klicken Sie auf Erweiterte gespeicherte Prozeduren.
Klicken Sie auf OK.
Klicken Sie auf Durchsuchen.
Führen Sie in der Liste erweiterter gespeicherter Prozeduren einen Bildlauf durch, und wählen Sie Folgendes aus:
xp_sqlagent_enum_jobs
xp_sqlagent_is_starting
xp_sqlagent_notify
Klicken Sie auf OK, und klicken Sie dann nochmals auf OK .
Klicken Sie in der Zeile Ausführen auf das Kontrollkästchen in der Spalte Erteilen und dann auf OK.
Wiederholen Sie diesen Schritt für alle übrigen gespeicherten Prozeduren. Der Rolle
RSExecRole
müssen Berechtigungen zum Ausführen aller drei gespeicherten Prozeduren gewährt werden.
Erstellen der Rolle 'RSExecRole' in 'MSDB'
Reporting Services verwendet gespeicherte Prozeduren für den SQL Server-Agent-Dienst und ruft zur Unterstützung geplanter Vorgänge Auftragsinformationen ab. Die folgenden Schritte erklären, wie der Rolle RSExecRole Berechtigungen zum Ausführen der Prozeduren und zum Auswählen der Tabellen gewährt werden.
So erstellen Sie die Rolle 'RSExecRole' in der Systemdatenbank 'MSDB'
Wiederholen Sie ähnliche Schritte, um Berechtigungen für gespeicherte Prozeduren und Tabellen in MSDB zu erteilen. Um die Schritte zu vereinfachen, stellen Sie die gespeicherten Prozeduren und die Tabellen getrennt bereit.
Öffnen Sie
MSDB
.Öffnen Sie Sicherheit.
Öffnen Sie Rollen.
Klicken Sie mit der rechten Maustaste auf Datenbankrollen, und wählen Sie Neue Datenbankrolleaus. Die Seite Allgemein wird angezeigt.
Geben Sie unter Rollenname den Namen ein
RSExecRole
.Geben Sie unter Besitzer den Namen DBO ein.
Klicken Sie auf Sicherungsfähige Elemente.
Klicken Sie auf Hinzufügen. Das Dialogfeld Objekte hinzufügen wird angezeigt. Standardmäßig ist die Option Objekte angeben aktiviert.
Klicken Sie auf OK.
Klicken Sie auf Objekttypen.
Klicken Sie auf Gespeicherte Prozeduren.
Klicken Sie auf OK.
Klicken Sie auf Durchsuchen.
Führen Sie in der Liste der Elemente einen Bildlauf durch, und wählen Sie Folgendes aus:
sp_add_category
sp_add_job
sp_add_jobschedule
sp_add_jobserver
sp_add_jobstep
sp_delete_job
sp_help_category
sp_help_job
sp_help_jobschedule
sp_verify_job_identifiers
Klicken Sie auf OK, und klicken Sie dann nochmals auf OK .
Wählen Sie die erste gespeicherte Prozedur aus: sp_add_category.
Klicken Sie in der Zeile Ausführen auf das Kontrollkästchen in der Spalte Erteilen und dann auf OK.
Wiederholen Sie diesen Schritt für alle übrigen gespeicherten Prozeduren. Der Rolle RSExecRole müssen Berechtigungen zum Ausführen aller zehn gespeicherten Prozeduren gewährt werden.
Klicken Sie auf der Registerkarte Sicherungsfähige Elemente auf Hinzufügen. Das Dialogfeld Objekte hinzufügen wird angezeigt. Standardmäßig ist die Option Objekte angeben aktiviert.
Klicken Sie auf OK.
Klicken Sie auf Objekttypen.
Klicken Sie auf Tabellen.
Klicken Sie auf OK.
Klicken Sie auf Durchsuchen.
Führen Sie in der Liste der Elemente einen Bildlauf durch, und wählen Sie Folgendes aus:
syscategories
sysjobs
Klicken Sie auf OK, und klicken Sie dann nochmals auf OK .
Wählen Sie die erste Tabelle aus: syscategories.
Klicken Sie in der Zeile Auswählen auf das Kontrollkästchen in der Spalte Erteilen und dann auf OK.
Wiederholen Sie diesen Schritt für die Tabelle sysjobs. Die Rolle RSExecRole muss Berechtigungen zum Auswählen beider Tabellen erhalten.
Verlagern der Berichtsserver-Datenbank
Nachdem Sie die Rollen erstellt haben, können Sie die Berichtsserver-Datenbank auf eine andere SQL Server-Instanz verschieben. Weitere Informationen finden Sie unter Verschieben von Berichtsserver-Datenbanken auf einen anderen Computer (einheitlicher SSRS-Modus).
Wenn Sie ein Upgrade der Datenbank-Engine auf SQL Server 2019 (15.x) durchführen, können Sie sie vor oder nach dem Verschieben der Datenbank aktualisieren.
Die Berichtsserver-Datenbank wird automatisch auf die SQL Server 2019 (15.x) aktualisiert, wenn der Berichtsserver eine Verbindung mit ihr herstellt. Zum Aktualisieren der Datenbank müssen keine bestimmten Schritte ausgeführt werden.
Wiederherstellen von Verschlüsselungsschlüsseln und Überprüfen der Arbeit
Nachdem die Berichtsserver-Datenbanken angefügt wurden, sollten Sie die folgenden Schritte ausführen können, um Ihre Implementierung zu überprüfen.
So überprüfen Sie nach einer Datenbankverschiebung die Funktionsfähigkeit des Berichtsservers
Starten Sie das Reporting Services-Konfigurationstool, und stellen Sie eine Verbindung mit dem Berichtsserver her.
Klicken Sie auf Datenbank.
Klicken Sie auf Datenbank ändern.
Sie können auch auf Wählen Sie eine vorhandene Berichtsserver-Datenbank ausklicken.
Geben Sie den Servernamen der Datenbank-Engine ein. Wenn Sie die Berichtsserver-Datenbanken an eine benannte Instanz angefügt haben, müssen Sie den Instanznamen im folgenden Format eingeben: <Servername>>\<
Klicken Sie auf Verbindung testen.
Klicken Sie auf Weiter.
Wählen Sie die Berichtsserver-Datenbank aus.
Klicken Sie auf Weiter , und schließen Sie den Assistenten ab.
Klicken Sie auf Verschlüsselungsschlüssel.
Klicken Sie auf Wiederherstellen.
Wählen Sie die Datei mit starkem Namen (Dateierweiterung .snk) aus, welche die Sicherungskopie des symmetrischen Schlüssel enthält, der zum Entschlüsseln gespeicherter Anmeldeinformationen und Verbindungsinformationen in der Berichtsserver-Datenbank verwendet wird.
Geben Sie das Kennwort ein, und klicken Sie auf OK.
Klicken Sie auf Berichts-Manager-URL.
Klicken Sie auf den Link zum Öffnen des Berichts-Managers. Daraufhin sollten die Berichtsserver-Elemente aus der Berichtsserver-Datenbank angezeigt werden.
Weitere Informationen
Verschieben der Berichtsserverdatenbanken auf einen anderen Computer (einheitlicher SSRS-Modus)Reporting Services Configuration Manager (einheitlicher Modus)Erstellen einer Berichtsserver-Datenbank im einheitlichen Modus (SSRS Configuration Manager)Sichern und Wiederherstellen Reporting Services Verschlüsselungsschlüssel