0
votes

I have a report project setup in Visual Studio 2013 and have been requested to design a release package for our SSRS reports for our clients. These are core reports to our system and need to go out with our releases. From within Visual Studio, I do know how to right-click and select Deploy and that correctly deploys the report (and any related objects) to our internal report server.

Is there a built-in mechanism for deploying reports so that a client can import them on their server?

UPDATE:
Thinking through this further, all of the datasets, datasources, and reports are all serialized in the ReportServer database, so couldn't I in theory create a script that would generate these records on another server?

3

3 Answers

1
votes

There is no deployment package feature, unfortunately. The best you can do is write a script (vb.net is the language) for the rs.exe tool.

http://blogs.msdn.com/b/johndesch/archive/2012/12/17/using-the-rs-exe-utility-to-deploy-a-report-server-project-and-shared-dataset.aspx

https://msdn.microsoft.com/en-us/library/dn531017.aspx

0
votes

If you are not comfortable with rs.exe, Please follow these steps to deploy the reports in report server from SSDT:

  1. Right Click on Project on the solution explorer and click on properties
  2. Set the following value: TargetServerURL: http://yourservername/reportserver TargetReportFolder: /MyFolder/Reports (In Report Manager, all the reports will be placed in Home>MyFolder>Reports path)
  3. Set TargetDatasetFolder, DatasourceFolder etc accordingly.
  4. After all fields are set, click ok
  5. Right Click on the Project and click on Deploy

Note: If you don't have proper privileges you may not deploy the reports successfully. For this please open SSDT with Run as Administrator option and follow above steps.

0
votes

It may be possible to deploy your reports via a sql package, however I suspect that is not supported by microsoft.

It is also possible to deploy your report server setup via a database restore, although I believe it is not possible to fully automate this. the part that might be difficult or impossible to automate is that after you restore the ReportServer database, you have to recreate the encryption keys, by bringing up the SSRS configurator and dropping/recreating the keys. (It will force you to take a backup of the keys, but the backup will not be useful to you. If you want a backup to keep, take another once the keys have been recreated.) This has the additional downside that it will overwrite the customer's entire ssrs deployment. The scripted solution suggested by JC is the best and you can hook into it directly from your installer program if applicable.