Verwenden von Skripts für Bereitstellungs- und Verwaltungsaufgaben

Aktualisiert: 12. Dezember 2006

Reporting Services unterstützt die Verwendung von Skripts, um routinemäßige Installations-, Bereitstellungs- und Verwaltungsaufgaben zu automatisieren. Die Bereitstellung eines Berichtsservers stellt einen aus mehreren Schritten bestehenden Vorgang dar. Sie müssen mehrere Tools und Prozesse verwenden, um eine Bereitstellung zu konfigurieren. Es gibt kein einzelnes Programm oder Verfahren, das zum Automatisieren aller zugehörigen Aufgaben verwendet werden kann.

Es sollte nicht jeder Schritt automatisiert werden. In einigen Fällen stellt die Ausführung eines Schrittes auf manuelle Weise oder in einem Grafiktool die einfachste und effektivste Vorgehensweise dar. Wenn Sie z. B. eine große Anzahl von Berichten und Modellen bereitstellen möchten, empfiehlt es sich, die Berichtsserver-Datenbanken zu kopieren statt Code zu schreiben, der den Inhalt des Berichtsservers neu erstellt.

Einige Schritte erfordern benutzerdefinierten Code. Zum Beispiel kann die Konfiguration der virtuellen Verzeichnisse und des Webdienstes automatisiert werden, jedoch nur, wenn Sie benutzerdefinierten Code schreiben, der den Berichtsserver-WMI-Anbieter aufruft (Windows Management Instrumentation). Wenn Sie keinen Code schreiben möchten, müssen Sie das Reporting Services-Konfigurationstool verwenden, um diesen Schritt auszuführen.

Zum Ausführen eines Skripts, das einen Berichtsserver konfiguriert, müssen Sie auf dem von Ihnen konfigurierten Computer als lokaler Administrator angemeldet sein. Weitere Informationen finden Sie unter Konfigurieren eines Berichtsservers für die Remoteverwaltung.

In diesem Thema werden die empfohlenen Vorgehensweisen für die Automatisierung bestimmter Schritte beschrieben. Einige Programme und Programmierschnittstellen werden erwähnt; die jeweils dazugehörigen Beschreibungen finden Sie weiter unten in diesem Thema.

Bereitstellungsaufgaben und deren Automatisierung

In der folgenden Tabelle sind alle Installations- und Konfigurationsaufgaben zusammengefasst, die zum Bereitstellen eines Berichtsservers erforderlich sind. Sie können die Tabelle verwenden, um eine bestimmte Aufgabe an eine Vorgehensweise anzupassen, die die Automatisierung und unbeaufsichtigte Ausführung der Aufgabe ermöglicht.

Aufgabe Vorgehensweise

Installieren Sie Reporting Services.

Sie können an der Befehlszeile das Setupprogramm ausführen, um eine unbeaufsichtigte Installation auszuführen.

Mit dem Setupprogramm können Sie einen Berichtsserver installieren und konfigurieren, jedoch nur, wenn Sie die Standardkonfigurationsoption auswählen und Ihr System sämtliche Anforderungen für diesen Installationstyp erfüllt. Wenn Sie die Installation nicht mit der Standardkonfiguration vornehmen können, können Sie nur die Dateien installieren. Weitere Informationen zu Installationsoptionen finden Sie unter Installieren von Reporting Services mit dem Setup-Assistenten.

Konfigurieren Sie eine Website in Internetinformationsdiensten (IIS).

Reporting Services stellt keine Möglichkeiten zum Erstellen oder Konfigurieren einer Website bereit. Informieren Sie sich in der IIS-Produktdokumentation über die Automatisierung dieser Aufgabe.

Konfigurieren Sie den Webdienst und die virtuellen Verzeichnisse des Berichtsservers.

Sie müssen benutzerdefinierten Code schreiben, der den Berichtsserver-WMI-Anbieter aufruft. Für die Konfiguration des Webdienstes und die Angabe von virtuellen Verzeichnissen stehen keine Befehlszeilen-Dienstprogramme oder Skriptvorlagen zur Verfügung.

Wenn die Codierungsanforderungen Sie von der Automatisierung dieses Schrittes abhalten, können Sie den Webdienst und virtuelle Verzeichnisse auf einfache Weise manuell konfigurieren, indem Sie das Reporting Services-Konfigurationstool ausführen. Weitere Informationen finden Sie unter Konfigurieren von virtuellen Verzeichnissen für den Berichtsserver.

Erstellen, aktualisieren oder konfigurieren Sie die Berichtsserver-Datenbank.

Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Datenbankkonfiguration aus:

  • Erstellen Sie die Skripts GenerateNewDatabaseScript.sql, UpgradeDatabaseScript.sql oder GrantRightsScript.sql anhand vordefinierter Skriptvorlagen. Sie können diese Skripts mit dem Reporting Services-Konfigurationstool oder durch Aufrufen des WMI-Anbieters (Windows Management Instrumentation) generieren. Sie können die Skripts programmgesteuert von einer Befehlszeile mithilfe des Dienstprogramms osql oder von einem Abfragefenster in Management Studio ausführen.
  • Führen Sie das Dienstprogramm rsconfig aus, um die Verbindung zu konfigurieren. Mit rsconfig.exe können Sie die Datenbank nicht erstellen oder konfigurieren. Wenn Sie rsconfig verwenden, müssen Sie GrantRightsScript ausführen, um der Berichtsserver-Datenbank Berechtigungen zu erteilen. Sie müssen das Skript für jedes Dienstkonto neu generieren und ausführen. Die Häufigkeit, mit der Sie das Skript neu generieren und ausführen, hängt von der Konfiguration der Berichtsserver-Datenbankverbindung ab. Da es zwei Dienstkonten gibt, müssen Sie die Skripts zweimal neu generieren und ausführen.

Konfigurieren Sie eine Bereitstellung durch dezentrales Skalieren.

Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Bereitstellung durch dezentrales Skalieren aus:

Sichern Sie Verschlüsselungsschlüssel.

Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Sicherung der Verschlüsselungsschlüssel aus:

Konfigurieren Sie Berichtsserver-E-Mail-Optionen.

Schreiben Sie benutzerdefinierten Code, der für den Reporting Services-WMI-Anbieter ausgeführt wird. Der Anbieter unterstützt eine Teilmenge der E-Mail-Konfigurationseinstellungen.

Obwohl die Datei RSReportServer.config alle Einstellungen enthält, verwenden Sie die Datei nicht in automatisierter Art und Weise. Verwenden Sie insbesondere keine Batchdatei, um die Datei auf einen anderen Berichtsserver zu kopieren. Jede Konfigurationsdatei enthält für die aktuelle Instanz spezifische Werte. Diese Werte sind in anderen Berichtsserverinstanzen ungültig.

Weitere Informationen zu diesen Einstellungen finden Sie unter Konfigurieren eines Berichtsservers für die E-Mail-Übermittlung.

Konfigurieren Sie das Konto für die unbeaufsichtigte Ausführung.

Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Konfiguration des Kontos für die unbeaufsichtigte Ausführung aus:

Stellen Sie eine vorhandene Berichtsserverumgebung, einschließlich der Ordnerhierarchie, Rollenzuweisungen, Berichten, Abonnements, Zeitplänen, Datenquellen und Ressourcen bereit.

Die beste Möglichkeit, eine vorhandene Berichtsserverumgebung neu zu erstellen, besteht im Kopieren der Berichtsserver-Datenbank in eine neue Berichtsserverinstanz.

Eine alternative Vorgehensweise besteht im Schreiben von benutzerdefiniertem Code, der vorhandenen Berichtsserverinhalt programmgesteuert neu erstellt. Beachten Sie jedoch, dass Abonnements, Berichtssnapshots und der Berichtsverlauf nicht programmgesteuert neu erstellt werden können.

Für manche Bereitstellungen empfiehlt es sich, beide Verfahren zusammen zu verwenden (d. h., Wiederherstellen einer Berichtsserver-Datenbank und anschließendes Ausführen von benutzerdefiniertem Code, der die Berichtsserver-Datenbank für eine bestimmte Installation ändert).

Weitere Informationen zum Verschieben von Berichtsserver-Datenbanken finden Sie unter Verschieben einer Berichtsserver-Datenbank auf einen anderen Computer. Weitere Informationen zum programmgesteuerten Erstellen einer Berichtsserverumgebung finden Sie in diesem Thema im Abschnitt "Duplizieren einer Berichtsserverumgebung".

Tools und Verfahren zum Automatisieren der Serverbereitstellung

In der folgenden Liste sind die Programme und Schnittstellen zusammengefasst, mit denen Bereitstellungs- und Verwaltungsaufgaben automatisiert werden können:

  • Das Setupprogramm kann im unbeaufsichtigten Modus ausgeführt werden, um Berichtsserverkomponenten zu installieren und in einigen Fällen zu konfigurieren. Sie müssen die Option zum ausschließlichen Installieren von Dateien auswählen, damit vom Setupprogramm eine Berichtsserverinstanz konfiguriert wird.
  • Für die Serverkonfiguration im lokalen und Remotemodus können der Berichtsserver-WMI-Anbieter und die Reporting Services-Befehlszeilen-Dienstprogramme verwendet werden.
    Der Berichtsserver-WMI-Anbieter macht Klassen, Eigenschaften und Methoden verfügbar, mit denen Sie alle Aspekte einer Reporting Services-Installation konfigurieren können. Dazu zählen u. a. das Angeben von Dienstkonten, das Konfigurieren virtueller Verzeichnisse, das Erstellen und Konfigurieren der Berichtsserver-Datenbank und das Konfigurieren eines Berichtsservers für die E-Mail-Übermittlung. Sie können den WMI-Anbieter nur verwenden, wenn Sie benutzerdefinierten Code oder ein benutzerdefiniertes Skript schreiben. Weitere Informationen finden Sie unter Reporting Services WMI Provider.
    Eine Alternative zum Schreiben von Code besteht in der Verwendung der Befehlszeilen-Dienstprogramme (rsconfig.exe und rskeymgmt.exe). Zum Ausführen der Dienstprogramme können Sie Batchdateien schreiben. Mit den Dienstprogrammen können Sie einige, aber nicht alle Konfigurationsaufgaben automatisieren.
  • Mithilfe von Skriptvorlagen können Sie benutzerfreundliche Skripts zum Erstellen, Aktualisieren, und Konfigurieren der Berichtsserver-Datenbank generieren. Skripts können im Reporting Services-Konfigurationstool generiert werden.
  • Mit dem Berichtsserver-Skript-Hosttool (rs.exe) kann benutzerdefinierter Visual Basic-Code ausgeführt werden, den Sie schreiben, um vorhandenen Inhalt neu zu erstellen oder von einem Berichtsserver auf einen anderen zu verschieben. Mit dieser Vorgehensweise schreiben Sie ein Skript in Visual Basic, speichern es als RSS-Datei, und verwenden rs.exe zum Ausführen des Skript auf dem Zielberichtsserver. Das von Ihnen verfasste Skript kann die SOAP-Schnittstelle zum Berichtsserver-Webdienst aufrufen. Bereitstellungsskripts werden mithilfe dieser Methode geschrieben, da Sie auf diese Weise den Ordnernamespace und -inhalt eines Berichtsservers sowie die rollenbasierte Sicherheit neu erstellen können.
    Sie können auch mit rs.exe ein benutzerdefiniertes oder generiertes Skript ausführen, das Sie in SQL Server Management Studio erstellt haben. Für Reporting Services erstellt das Skriptgenerierungsfeature in Management Studio Visual Basic-Code für eine sehr spezifische Aufgabe (z. B. Erstellen einer Rolle, Festlegen von Berichtseigenschaften, Definieren eines Zeitplans usw.). Der generierte Code ist unvollständig; er erfasst Tastenanschläge und Mausereignisse. Wenn Sie diesen Code verwenden möchten, müssen Sie ihn in ein von Ihnen erstelltes, umfangreicheres Programm kopieren.
ms159720.note(de-de,SQL.90).gifHinweis:
Anders als in früheren Versionen von Reporting Services können Sie mit dem Setupprogramm nicht mehr alle möglichen Berichtsserverkonfigurationen bereitstellen. Wenn Sie eine Bereitstellung durch dezentrales Skalieren konfigurieren oder eine SQL Server-Remoteinstanz zum Hosten der Berichtserver-Datenbank verwenden möchten, müssen Sie ein Skript schreiben oder ein Befehlszeilen-Dienstprogramm ausführen. Außerdem wurde der Berichtsserver-WMI-Anbieter in SQL Server 2005 aktualisiert. Wenn Sie für die frühere Version des WMI-Anbieters geschriebene Skripts wiederverwenden möchten, müssen Sie die Skripts so ändern, dass der neue Endpunkt verwendet wird.

Duplizieren einer Berichtsserverumgebung

Sie können Skripts schreiben, mit denen eine Berichtsserverumgebung in einer anderen Berichtsserverinstanz dupliziert werden. Bereitstellungsskripts werden in der Regel in Visual Basic geschrieben und dann mithilfe des Skripthost-Dienstprogramms des Berichtsservers verarbeitet.

Verwenden Sie Skripts, um Ordner, freigegebene Datenquellen, Ressourcen, Berichte, Rollenzuweisungen und Einstellungen von einem Server auf einen anderen zu kopieren. Schreiben Sie ein Skript für eine Berichtsserverinstanz, und führen Sie es dann auf einem anderen Server aus, um den Berichtsserver-Namespace erneut zu erstellen. Wenn in Ihrer Reporting Services-Bereitstellung mehrere Berichtsserver vorhanden sind, können Sie das Skript auf jedem Server einzeln ausführen, um alle Server identisch zu konfigurieren.

In der folgenden Liste sind die erforderlichen Schritte zum Migrieren von Berichten von einem Server auf einen anderen beschrieben.

  1. Legen Sie die Skriptvariable auf den URL des Quellberichtsservers fest.
  2. Verwenden Sie die Methoden GetReportDefinition und GetProperties, um die Berichtsdefinition und die Eigenschaften des Berichts abzurufen.
  3. Legen Sie den URL so fest, dass er auf den Zielserver verweist.
  4. Verwenden Sie die CreateReport-Methode, um die von GetProperties zurückgegebenen Eigenschaften und die von GetReportDefinition zurückgegebene Berichtsdefinition zu übergeben.

Mit einer Kombination von get- und create-Methoden können Sie ähnliche Schritte zum Migrieren von Einstellungen, Ordnern, freigegebenen Datenquellen und Ressourcen ausführen. Weitere Informationen zu den verfügbaren Methoden finden Sie unter Reporting Services Managed Programming Reference (in Englisch).

ms159720.note(de-de,SQL.90).gifHinweis:
Sofern nicht explizit Anmeldeinformationen festgelegt wurden, werden Skripts mit den Microsoft Windows-Anmeldeinformationen des Benutzers ausgeführt, der das Skript ausführt.

Weitere Informationen zu Skriptbeispielen finden Sie unter Skriptbeispiele (Reporting Services). Weitere Informationen zum Formatieren und Ausführen einer Skriptdatei finden Sie unter Scripting with the rs Utility and the Web Service.

Beispielskript zum Festlegen von Servereigenschaften

Sie können Skripts oder Code schreiben, um Systemeigenschaften auf dem Berichtsserver festzulegen. Das folgende Microsoft Visual Basic .NET-Skript zeigt eine Möglichkeit, Eigenschaften festzulegen. In diesem Beispiel wird das RSClientPrint-ActiveX-Steuerelement deaktiviert. Sie können jedoch EnableClientPrinting und False durch einen beliebigen gültigen Eigenschaftennamen und -wert ersetzen. Eine vollständige Liste der Servereigenschaften finden Sie unter Report Server System Properties.

Um dieses Skript zu verwenden, speichern Sie es in einer Datei mit der Erweiterung RSS und verwenden anschließend das Eingabeaufforderungs-Dienstprogramm rs.exe, um die Datei auf dem Berichtsserver auszuführen. Das Skript wird nicht kompiliert, daher wird keine Installation von Visual Basic benötigt. In diesem Beispiel wird davon ausgegangen, dass Sie über die entsprechenden Berechtigungen für den lokalen Computer verfügen, der den Berichtsserver hostet. Wenn Sie mit einem Konto angemeldet sind, das nicht über die erforderlichen Berechtigungen verfügt, müssen Sie Kontoinformationen über zusätzliche Befehlzeilenargumente angeben. Weitere Informationen finden Sie unter rs (Dienstprogramm).

Public Sub Main()
        Dim props(0) As [Property]
        Dim setProp As New [Property]
        setProp.Name = "EnableClientPrinting"
        setProp.Value = “False” 
        props(0) = setProp
        Try
            rs.SetSystemProperties(props)
        Catch ex As System.Web.Services.Protocols.SoapException
            Console.Write(ex.Detail.InnerXml)
        Catch e as Exception
            Console.Write(e.Message)
        End Try
End Sub

Siehe auch

Konzepte

Verwalten von Reporting Services
Berichtsserver-Befehlszeilenprogramme
Browserunterstützung in Reporting Services
Reporting Services-Komponenten (Übersicht)

Andere Ressourcen

GenerateDatabaseCreationScript Method (WMI MSReportServer_ConfigurationSetting Class)
GenerateDatabaseRightsScript Method (WMI MSReportServer_ConfigurationSetting Class)
GenerateDatabaseUpgradeScript Method (WMI MSReportServer_ConfigurationSetting Class)
Vorgehensweise: Installieren von SQL Server 2005 von der Eingabeaufforderung
Standardkonfiguration einer Berichtsserverinstallation
Bereitstellen von Reporting Services

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Geänderter Inhalt:
  • Erstellen, Aktualisieren oder Konfigurieren der Berichtsserver-Datenbank
  • Konfigurieren von Berichtsserver-E-Mail-Optionen

17. Juli 2006

Neuer Inhalt:
  • Ein Beispiel für das Festlegen von Servereigenschaften per Skript wurde hinzugefügt.

14. April 2006

Geänderter Inhalt:
  • Signifikante Überarbeitung.