Automatisation des tâches d'administration et de déploiement à l'aide de scripts

Mis à jour : 12 décembre 2006

Reporting Services prend en charge l'utilisation de scripts pour automatiser l'installation de routine, le déploiement et les tâches administratives. Le déploiement d'un serveur de rapports est un processus qui implique plusieurs étapes. Vous devez faire appel à plusieurs outils et processus pour configurer un déploiement ; il n'existe aucun programme ni aucune approche permettant d'automatiser l'ensemble des tâches.

Toutes les étapes ne doivent pas être automatisées. Dans certains cas, la réalisation d'une étape manuellement ou par le biais d'un outil graphique constitue l'approche la plus simple et la plus efficace. Par exemple, si vous souhaitez déployer un grand nombre de rapports et de modèles; il est préférable de copier les bases de données du serveur de rapports plutôt que d'écrire du code qui recrée le contenu de ce dernier.

Certaines étapes exigent un code personnalisé. Par exemple, vous pouvez automatiser l'étape de configuration des répertoires virtuels et du service Web mais seulement si vous écrivez un code personnalisé chargé de soumettre des appels au fournisseur WMI (Windows Management Instrumentation) de Report Server. Si vous ne souhaitez pas écrire du code, vous devez utiliser l'outil de configuration de Reporting Services pour effectuer cette étape.

Pour exécuter un script qui configure un serveur de rapports, vous devez être un administrateur local sur l'ordinateur que vous configurez. Pour plus d'informations, consultez Configuration d'un serveur de rapports pour l'administration à distance.

Cette rubrique décrit les approches recommandées pour l'automatisation de tâches spécifiques. Divers programmes et interfaces de programmation sont mentionnés, des descriptions de chacun d'entre eux étant fournies plus loin dans cette rubrique.

Tâches de déploiement et mode d'automatisation

Le tableau suivant résume toutes les tâches d'installation et de configuration nécessaires au déploiement d'un serveur de rapports. Vous pouvez vous reporter à ce tableau pour associer une tâche spécifique à une approche vous permettant d'automatiser ou d'effectuer la tâche sans assistance.

Tâche Approche

Installer Reporting Services.

Vous pouvez exécuter une installation sans assistance à partir de la ligne de commande.

Vous pouvez utiliser le programme d'installation pour installer et configurer un serveur de rapports, mais uniquement si vous choisissez l'option de configuration par défaut et si votre système répond à toutes les exigences de ce type d'installation. Si l'installation de la configuration par défaut est impossible, procédez à une installation de fichiers uniquement. Pour plus d'informations sur les options d'installation, consultez Installation de Reporting Services à l'aide du programme d'installation.

Configurer un site Web dans IIS (Internet Information Services).

Reporting Services ne propose aucun outil de création ou de configuration d'un site Web. Consultez la documentation produit d'IIS pour plus d'informations sur l'automatisation de cette tâche.

Configurer le service Web Report Server et les répertoires virtuels.

Vous devez écrire du code personnalisé chargé de soumettre des appels au fournisseur WMI de Report Server. Il n'existe aucun utilitaire de ligne de commande ou modèle de script permettant de configurer le service Web et de spécifier les répertoires virtuels.

Si les exigences du code vous empêchent d'automatiser cette étape, vous pouvez facilement configurer le service Web et les répertoires virtuels manuellement à l'aide de l'outil de configuration de Reporting Services. Pour plus d'informations, consultez Configuration des répertoires virtuels du serveur de rapports.

Créer, mettre à jour ou configurer la base de données du serveur de rapports.

Choisissez l'une des approches suivantes pour automatiser la configuration de la base de données :

  • Créez les scripts GenerateNewDatabaseScript.sql, UpgradeDatabaseScript.sql ou GrantRightsScript.sql à partir de modèles de script prédéfinis. Vous pouvez créer ces scripts à partir de l'outil de configuration de Reporting Services ou en appelant le fournisseur WMI (Windows Management Instrumentation). Vous pouvez exécuter les scripts par programme à partir d'une ligne de commande à l'aide de l'utilitaire osql ou à partir d'une fenêtre de requête dans Management Studio.
  • Exécutez l'utilitaire rsconfig pour configurer la connexion. L'utilisation de cet utilitaire n'est pas possible pour la création ou la mise à niveau de la base de données. Si vous utilisez rsconfig, veillez à exécuter le script GrantRightsScript pour accorder une autorisation à la base de données du serveur de rapports. Vous devez régénérer et exécuter le script pour chaque compte de service. Le nombre de fois que vous régénérez et exécutez le script dépend de la manière avec laquelle vous avez configuré la base de données du serveur de rapports. Étant donné qu'il y a deux comptes de service, vous devez régénérer et exécuter le script deux fois.

Configurer un déploiement avec montée en puissance parallèle.

Choisissez l'une des approches suivantes pour automatiser un déploiement avec montée en puissance parallèle :

Sauvegarder les clés de chiffrement.

Choisissez l'une des approches suivantes pour automatiser la sauvegarde des clés de chiffrement :

Configurer la messagerie Report Server.

Écrivez le code personnalisé à exécuter sur le fournisseur WMI de Reporting Services. Le fournisseur prend en charge un sous-ensemble des paramètres de configuration de la messagerie.

Bien que le fichier RSReportServer.config contienne tous les paramètres, n'utilisez pas ce fichier de manière automatisée. En particulier, n'utilisez pas un fichier de commandes pour copier le fichier sur un autre serveur de rapports. Chaque fichier de configuration inclut des valeurs qui sont spécifiques à l'instance active. Ces valeurs ne sont pas valides sur les autres instances du serveur de rapports.

Pour plus d'informations sur ces paramètres, consultez Configuration d'un Report Server pour la remise du courrier électronique.

Configurer le compte d'exécution sans assistance.

Choisissez l'une des approches suivantes pour automatiser la configuration du compte de traitement sans assistance :

Déployer un environnement de serveur de rapports existant, y compris la hiérarchie des dossiers, les attributions de rôles, les rapports, les abonnements, les planifications, les sources de données et les ressources.

Le meilleur moyen de recréer un environnement de serveur de rapports existant est de copier la base de données du serveur de rapports dans une nouvelle instance du serveur de rapports.

Une autre approche consiste à écrire un code personnalisé capable de recréer par programme le contenu du serveur de rapports existant. Soyez toutefois conscient du fait que les abonnements, les captures instantanées de rapports et l'historique des rapports ne peuvent pas être recréés par programme.

Certains déploiements peuvent tirer parti de l'utilisation conjointe de ces techniques (soit restaurer une base de données du serveur de rapports, puis exécuter un code personnalisé qui modifie cette base de données pour une installation précise).

Pour plus d'informations sur le déplacement d'une base de données de serveur de rapports (Report Server), consultez Déplacement d'une base de données de serveur de rapports vers un autre ordinateur. Pour plus d'informations sur la création par programme d'un environnement de serveur de rapports, consultez la section « Duplication d'un environnement de serveur de rapports » plus loin dans cette rubrique.

Outils et technologies d'automatisation de déploiement de serveur

La liste ci-après répertorie les programmes et les interfaces qu'il est possible d'utiliser pour automatiser les tâches de déploiement et de maintenance :

  • Vous pouvez exécuter le programme d'installation en mode sans assistance pour installer et parfois configurer les composants du serveur de rapports. Vous devez choisir l'option d'installation de fichiers uniquement pour que le programme d'installation configure une instance du serveur de rapports.
  • Vous pouvez faire appel au fournisseur WMI de Report Server et aux utilitaires de ligne de commande de Reporting Services pour la configuration des serveurs locaux et distants.
    Le fournisseur WMI de Report Server dévoile des classes, des propriétés et des méthodes qui vous permettent de configurer tous les aspects d'une installation de Reporting Services, notamment les comptes de service, la configuration des répertoires virtuels, la création et la configuration de la base de données du serveur de rapports ou la configuration d'un serveur de rapports pour la remise par courrier électronique. Vous devez écrire un code personnalisé ou un script pour utiliser le fournisseur WMI. Pour plus d'informations, consultez Reporting Services WMI Provider.
    Une solution autre que l'écriture de code est le recours aux utilitaires de ligne de commande (rsconfig.exe et rskeymgmt.exe). Vous pouvez créer des fichiers de commandes chargés d'exécuter les utilitaires. Vous pouvez exploiter les utilitaires afin d'automatiser certaines tâches de configuration, mais pas toutes.
  • Les modèles de script vous permettent de générer des scripts prêts à l'emploi pour créer, mettre à niveau et configurer la base de données du serveur de rapports. Vous pouvez générer ces scripts à partir de l'outil de configuration de Reporting Services.
  • L'outil d'environnement d'exécution de scripts de Report Server (rs.exe) permet d'exécuter du code Visual Basic personnalisé que vous pouvez écrire en vue de recréer ou déplacer un contenu existant d'un serveur de rapports vers un autre. En optant pour cette approche, vous pouvez écrire un script dans Visual Basic, l'enregistrer en tant que fichier .rss et utiliser l'outil rs.exe pour exécuter le script sur le serveur de rapports cible. Le script que vous écrivez peut appeler l'interface SOAP sur le service Web de Report Server. Cette approche est employée pour l'écriture des scripts de déploiement parce qu'elle vous permet de recréer un espace de noms et le contenu du dossier du serveur de rapports et de recréer la sécurité basée sur les rôles.
    Vous pouvez également utiliser l'outil rs.exe pour exécuter un script personnalisé ou généré créé par vos soins dans SQL Server Management Studio. Dans le cadre de Reporting Services, la fonctionnalité de génération de scripts dans Management Studio crée du code Visual Basic pour une tâche bien précise (par exemple, la création d'un rôle, la définition des propriétés des rapports, la définition d'une planification, etc.). Le code généré est incomplet ; il capture les frappes du clavier et tous les événements liés à l'utilisation de la souris. Pour exploiter ce code, vous devez le copier dans un programme plus volumineux créé par vos soins.
ms159720.note(fr-fr,SQL.90).gifRemarque :
Contrairement aux précédentes versions de Reporting Services, vous ne pouvez plus recourir au programme d'installation pour déployer l'ensemble des configurations de serveur de rapports possibles. Si vous souhaitez configurer un déploiement avec montée en puissance parallèle ou bien utiliser une instance SQL Server distante pour y héberger la base de données du serveur de rapports, vous devez écrire un script ou exécuter un utilitaire de ligne de commande. Qui plus est, le fournisseur WMI de Report Server a été mis à jour dans SQL Server 2005. Si vous souhaitez réutiliser les scripts que vous avez écrits dans la version précédente du fournisseur WMI, vous devez les modifier pour utiliser le nouveau point de terminaison.

Duplication d'un environnement de serveur de rapports

Vous pouvez écrire des scripts capables de dupliquer un environnement de serveur de rapports sur une autre instance du serveur de rapports. En règle générale, les scripts de déploiement sont écrits en Visual Basic puis traités à l'aide de l'utilitaire de l'environnement d'exécution de scripts du serveur de rapports.

Les scripts s'utilisent pour copier des dossiers, des sources de données partagées, des ressources, des rapports, des attributions de rôles et des paramètres d'un serveur sur un autre. Vous écrivez un script pour une instance de serveur de rapports, puis vous l'exécutez sur un autre serveur pour recréer l'espace de noms du serveur de rapports. Si votre déploiement contient plusieurs serveurs de rapports, vous pouvez exécuter le script sur chaque serveur individuellement pour configurer tous les serveurs de la même manière.

La liste suivante décrit les étapes nécessaires à la migration de rapports d'un serveur vers un autre.

  1. Définissez votre variable de script sur l'URL du serveur de rapports source.
  2. Utilisez la méthode GetReportDefinition et GetReportDefinition pour récupérer la définition et les propriétés du rapport.
  3. Définissez l'URL de manière à pointer vers le serveur de destination.
  4. Utilisez la méthode CreateReport, à l'aide des propriétés retournées par CreateReport et de la définition de rapport retournée par CreateReport.

En utilisant une combinaison de méthodes « get » et « create », vous pouvez suivre une procédure analogue pour la migration des paramètres, des dossiers, des sources de données partagées et des ressources. Pour plus d'informations sur les méthodes qui s'offrent à vous, consultez Documentation de référence de la programmation managée de Reporting Services.

ms159720.note(fr-fr,SQL.90).gifRemarque :
Notez que les scripts s'exécutent avec les informations d'identification Microsoft Windows de l'utilisateur qui exécute le script, excepté si des informations d'identification sont définies explicitement.

Pour plus d'informations sur les exemples de scripts, consultez Exemples de scripts (Reporting Services). Pour plus d'informations sur le mode de formatage et d'exécution d'un fichier de script, consultez Scripting with the rs Utility and the Web Service.

Exemple de script pour la définition des propriétés de serveur

Vous pouvez écrire un script ou du code qui définit les propriétés système du serveur de rapports. Le script suivant Microsoft Visual Basic .NET présente une méthode de définition des propriétés. Cet exemple désactive le contrôle RSClientPrint ActiveX, mais vous pouvez remplacer EnableClientPrinting et False par le nom et la valeur d'une propriété valide. Pour afficher la liste complète des propriétés de serveur, consultez Report Server System Properties.

Pour utiliser le script, enregistrez-le dans un fichier doté d'une extension .rss, puis utilisez l'utilitaire de ligne de commande rs.exe pour exécuter le fichier sur le serveur de rapports. Étant donné que le script n'est pas compilé, il n'est pas nécessaire de disposer d'une installation de Visual Basic. Cet exemple part du principe que vous disposez d'autorisations sur l'ordinateur local qui héberge le serveur de rapports. Si vous n'êtes pas connecté sous un compte possédant des autorisations, vous devez spécifier des informations de compte par le biais d'arguments de ligne de commande supplémentaires. Pour plus d'informations, consultez Utilitaire rs.exe.

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

Voir aussi

Concepts

Administration de Reporting Services
Utilitaires d'invite de commandes du serveur de rapports
Prise en charge des navigateurs dans Reporting Services
Vue d'ensemble des composants Reporting Services

Autres ressources

GenerateDatabaseCreationScript Method (WMI MSReportServer_ConfigurationSetting Class)
GenerateDatabaseRightsScript Method (WMI MSReportServer_ConfigurationSetting Class)
GenerateDatabaseUpgradeScript Method (WMI MSReportServer_ConfigurationSetting Class)
Procédure : installer SQL Server 2005 à partir de l'invite de commandes
Configuration par défaut pour l'installation de Report Server
Déploiement de Reporting Services

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Contenu modifié :
  • Créer, mettre à jour ou configurer la base de données du serveur de rapports.
  • Configuration de la messagerie du serveur de rapports.

17 juillet 2006

Nouveau contenu :
  • Ajout d'un exemple indiquant comment définir des propriétés de serveur par le biais d'un script.

14 avril 2006

Contenu modifié :
  • Révision importante.