Reporting Services Best Practices: Deployment


Since most of us have to deploy our reports to different environments, building and deploying reports and shared data sources in Microsoft SQL Server Reporting Services can become cumbersome. So, I'm recommending this set of best practices:
  1. leverage the shared data source feature for your reports
  2. create different solution configurations for each deployment environment
  3. use the web interface to manage your shared data sources
For example, we'll create 1 shared data source for our 3 reports. We will setup the connection string to communicate with our database on the development server.

Next, we'll create 3 solution configurations; one for each environment (development, test, and production). You can do this from the Project Properties window. For each configuration, we'll set the TargetFolder and TargetURL appropriately. We'll also set the "Overwrite Data Sources" to False.

Finally, we are ready to deploy. First set your Active Solution Configuration appropriately (development, test, or production). You can do this from the Project Properties window, too. Next, deploy your project. You can do this from the Solution window by right-clicking on the project name, and clicking Deploy.

Now that the project has been deployed, we have to update the shared data source (you don't have to do this step for deployments to the development environment). open the Reporting Services web interface (i.e. http://test.reports.com/Reports). Find the shared data source in the target folder and appropriately set the connection string for that environment.

Next time, [since we decided not to overwrite data sources] you won't have to make any changes to the shared data source. Just set the Active Solution Configuration and deploy!

1 comments:

Anonymous at: 6:26 PM said...

Thank you! I spent a couple of hours going in circles until I found this. Very Helpful!

Post a Comment

Aaron Hursman
Aaron Hursman is a passionate user-advocate who is lucky enough to do what he loves for a living. As a user experience architect, he applies user-centered design principles and techniques including user research, persona development, information architecture, storyboards, wireframes, prototyping, visual design, graphic design, interaction design, and usability. Aaron has a background in web development, enterprise applications, and the social web. At nGame, he is applying his craft to design and build the next generation of enterprise software. Aaron is available as a speaker and author upon request.
Disclaimer: The information in this website is provided "as is" with no warranties, and confers no rights. This website does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my own personal opinion. Inappropriate comments will be deleted at the authors discretion. All instructions and code samples (if any, ever) are provided "as is" without warranty of any kind, either express or implied.