Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SSRS - Deploying a Reporting Services Report to Multiple Servers at Once

I have a Visual Studio Project with some reports I created. Each report has its own DataSource, with a defined user and password and a embedded connection, and I use this expression for the string connection that works perfectly:

="Data Source="+Parameters!server.Value+ ";Initial Catalog="+Parameters!database.Value

When I want to deploy a single report to a specified server , I have to change the TargetServerURL everytime, in the property pages of the project:

enter image description here

This works perfectly when I deploy a report in the server I want. The problem comes when I want to deploy the same report in many servers, for different reasons (a new report is created, changes in a report, etc) because I have to do the same process many times (change TargetServerURL, then to deploy). Is there a way to deploy one single report in multiple servers at the same time?

I already checked this link:

How to deploy many reports to many SSRS Servers

I tried the point with the manually script, but the problem is that the whole project is deployed and DataSource properties in each report lost his value, so doesn't work for me.

EDIT

The script I've tried is in this link:

https://github.com/Microsoft/sql-server-samples/blob/master/samples/features/reporting-services/ssrs-migration-rss/ssrs_migration.rss

But as can seen in the LIMITATIONS part, the data sources with stored credentials must be re-entered. Also this deploy the entire project, and not an specified report.

like image 441
CyborgNinja23 Avatar asked Oct 16 '18 14:10

CyborgNinja23


People also ask

What are the different modes of deployment for SSRS?

A Reporting Services report server runs in one of two deployment modes; Native mode or SharePoint mode.

Can you cluster SSRS?

In order to add SSRS to a clustered instance, you will need to run the installation setup on your active node followed by your passive node. During the setup on both nodes, you will want to choose the 'Install but do not configure' option.

How do I deploy an RDL file in SSRS?

By Uploading RDL file in Report Server. Open SSRS Server from webportal URL. There, you will see the upload button. Click the upload option and browse the rdl file of the report from the location. It uploads your report to the report server.


2 Answers

The modern tool for this sort of task is Azure DevOps. There is a leading extension in the marketplace for this which should get you started. It is quite well supported by the developer and a few other contributors, and is all open-source. The heart of it is a PowerShell script that integrates DevOps and SSRS deployment:

https://marketplace.visualstudio.com/items?itemName=mmajcica.deploy-ssrs

Here's the github repo with source code, more doco and an active issues register:

https://github.com/mmajcica/DeploySsrs

like image 154
Mike Honey Avatar answered Oct 03 '22 22:10

Mike Honey


You can use a configuration manager on top right to set up various environments. It just won't be one click in all servers. You will still need to go and choose the environments you wish to deploy to.

like image 22
junketsu Avatar answered Oct 03 '22 21:10

junketsu