Erstellen der Rolle RSExecRole
Reporting Services verwendet eine vordefinierte Datenbankrolle mit der Bezeichnung RSExecRole, um Berichtsserverberechtigungen für die Berichtsserver-Datenbank zu gewähren. Die Rolle RSExecRole wird automatisch mit der Berichtsserver-Datenbank erstellt. Sie sollten die Rolle nie ändern oder ihr andere Benutzer zuweisen. Wenn Sie eine Berichtsserver-Datenbank an einen neuen oder anderen SQL Server Database Engine (Datenbankmodul) verschieben, muss die Rolle in den Systemdatenbanken Master und MSDB 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. |
Vorbereitungen
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 Sichern und Wiederherstellen von Reporting Services-Verschlüsselungsschlüsseln (einheitlicher SSRS-Modus).
Überzeugen Sie sich davon, dass Sie unter einem Benutzerkonto angemeldet sind, das über sysadmin-Berechtigungen für die SQL Server-Instanz verfügt.
Überprüfen Sie, ob der SQL Server-Agent-Dienst installiert wurde und auf der Instanz der Database Engine (Datenbankmodul)-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 zum Datenbankmodul beschrieben.
Erstellen der Rolle 'RSExecRole' in 'Master'
In Reporting Services 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 Database Engine (Datenbankmodul)-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 Datenbankrolle aus. Die Seite Allgemein wird angezeigt.
Geben Sie im Feld Rollennamen den Namen "RSExecRole" ein.
Geben Sie im Feld Besitzer die Zeichenfolge "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 Datenbankrolle aus. Die Seite Allgemein wird angezeigt.
Geben Sie im Feld Rollennamen den Namen RSExecRole ein.
Geben Sie im Feld Besitzer die Zeichenfolge 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 andere Computer.
Wenn Sie das Database Engine (Datenbankmodul) auf SQL Server 2012 aktualisieren, können Sie dieses Upgrade vor oder nach dem Verschieben der Datenbank durchführen.
Die Berichtsserver-Datenbank wird automatisch auf SQL Server 2012 aktualisiert, wenn der Berichtsserver eine Verbindung mit der Datenbank 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 aus klicken.
Geben Sie den Servernamen des Datenbankmoduls ein. Wenn Sie die Berichtsserver-Datenbanken an eine benannte Instanz angefügt haben, müssen Sie den Instanznamen im folgenden Format eingeben: <Servername>\<Instanzname>.
Klicken Sie auf Verbindung testen.
Klicken Sie auf Weiter.
Wählen Sie die Berichtsserver-Datenbank aus.
Klicken Sie auf Weiter, und beenden Sie den Assistenten.
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.
Siehe auch
Aufgaben
Erstellen einer Berichtsserver-Datenbank im einheitlichen Modus (Reporting Services)
Konzepte
Verschieben von Berichtsserver-Datenbanken auf andere Computer