Vous avez fait des tableaux de bord et des états avec Microsoft SQL Server 2008 Reporting Services (SSRS). Vous voudriez les passer dans un autre serveur…
Vous pouvez bien entendu vous connecter aux deux serveurs et vous “amuser” à ouvrir chaque état d’un serveur et de les sauver dans le second… Un peu fastidieux. Et puis cela oblige que vous ayez accès aux deux serveurs simultanément.
Mais comment diffuser les états d’un serveur et les “installer” dans un autre; Via un CD par exemple ou une clé USB ? Voici une procédure qui vous rendra assurément service.
Merci à Lucas Maitenaz et Grégory Le Houëzec pour cette étape de leur stage.
Pré-requis
Pour déployer les tableaux de bord chez un client, vous devez tout d’abord avoir installé :
– SQL Server 2008 ;
– SQL Server Reporting Services ;
– Reporting Services Scripter[1].
Sauvegarde des états
Assurez-vous que tous les états créés sont connectés à une source de données stockée sur le serveur, et non à la base de données en direct. Il sera ainsi beaucoup plus simple de modifier la connexion, et de paramétrer le modèle avec les données clients (nom de la base, …). Sauvegardez ensuite l’ensemble des états et sources de données souhaitées. Une façon de faire ce travail simplement et rapidement est d’utiliser l’outil Reporting Services Scripter directement sur le serveur srvsqlrd.
Sur le serveur, allez dans le dossier C:RSScripter. Ouvrez tout d’abord le fichier servers.xml et vérifiez que l’url spécifiée pour SQL 2008 est bonne, à savoir :
http://localhost//ReportService2005.asmx (oui 2005 même avec SQL2008 😉 )
Exécutez ensuite RSScripter.exe. Cliquez sur « Options » en bas de la fenêtre pour vérifier que bonnes cases sont cochées.
Au passage vérifiez que l’adresse du champ « SQL2008 RS.EXE Location » dans l’onglet « Global » est la suivante :
C:Program FilesMicrosoft SQL Server100ToolsBinnRS.EXE.
Cliquez sur « Apply » quand vous avez tout configuré.
Dans le menu déroulant en haut de la fenêtre principale, sélectionnez votre instance SSRS et cliquez sur « Get Catalog ». L’ensemble des rapports, connections et autre items du serveur s’affichent. Cochez ceux que vous désirez déployer puis cliquez sur « Script » en bas à droite. L’ensemble sélectionné a été téléchargé dans le dossier indiqué en Output. Il ne reste plus qu’à archiver l’ensemble.
Restauration
A l’étape précédente, plusieurs scripts ont été générés par Reporting Services Scripter. Sur le serveur client, extrayez l’archive dans un dossier et placez-vous dans celui-ci.
Exécutez le fichier « RS Scripter Load All Items.cmd ». L’ensemble des items ont été copiés sur le serveur.
Modification des informations de la base de données
Les états ne nécessiteront pas de modifications. En revanche vous devrez peut-être modifier les sources de données si elles changeaient avec le serveur.
Pour faire ces changements, exécutez Internet Explorer et connectez-vous à l’endroit où vous avez restauré les sources de données, cliquez sur celle que vous souhaitez modifier et modifiez les champs « Chaîne de connexion » et « Nom d’utilisateur » / « Mot de passe ».
[1] Outil disponible à l’adresse suivante : http://www.sqldbatips.com/showarticle.asp?ID=62. La version actuelle est 2.0.0.17.
[2] Explications sur toutes les options : http://www.sqldbatips.com/samples/code/RSScripter/readme.htm
J’ai testé votre solution, en effet il est plus intéressant de procéder comme ça plutôt que de jongler entre les deux.