0
votes

We had a problem earlier when deploying a single report to the production environment, when, for reasons we don't understand, SSRS decided to also overwrite the Data Source associated with the report with settings that do not even match those currently in the project.

We want to understand why/how this happens, and what we need to be doing to control it - ie, what are we missing about SSRS that we need to be aware of.

The steps we took were as follows:

  • Before starting: This is to update an existing report, not a new report, so the Prod report server already has the Data Source and the (old) Report Definition. The Data Source (shared) does not need to be changed at all, nor do we believe we did anything that should have prompted SSRS to do so. We only intended to overwrite the old report definition with the new one.

  • Data Source within project modified to point to the production Sql Server source

  • Deployment settings within the project modified to point to the production Report Server
  • The single report deployed (literally by right-clicking TheReport.rdl in the Solution Explorer and then clicking Deploy). That is everything we did. We did not deploy or change anything else.

Expected result: report definition on the prod server overwritten with the new report. Data Source completely unchanged, because why would it be? We didn't deploy that (and in any case, the one in the project is pointing to prod, so it shouldn't even matter if it did)

Actual result: Report overwritten as expected. Data Source also overwritten... with the old dev settings. Not the ones currently in the project. All the other reports sharing this data source suddenly stop working or display dev server data.

What are we doing wrong? SSRS quietly overwriting the associated Data Source on the server when deploying a single report seems dangerous (we would likely have missed that it had even happened, had the data on these particular dev and live environments been similar enough) so I presume we are missing something we should be doing/checking when deploying reports, but are at a loss as to exactly what.

1
In the configuration settings (it's been a while, I use Report Builder), for the data source setting there is a flag to overwrite, is that set to true? If it is, then that's your culprit.SS_DBA
@WEI_DBA OverwriteDatasets and OverwriteDataSources are both set to False, but I'll keep that setting in mind in future as I wasn't aware of itKai
Possible duplicate of How SSRS deployment works?Pants
@ChanceFinley That question is about general deployment, and does not answer (or ask) why deploying a single report definition would also overwrite the data source. I've changed the question title to be clearer.Kai
To be clear, you're talking about a shared datasource, correct? Not a datasource embedded in the RDL itself?Wesley Marshall

1 Answers

0
votes

That is configuration to copy your datasources and datasets to the report portal or not. You can change the configuration by right click on your report project and select properties that will open up the property pages. There is an option to overwrite default settings. Please check below image for more details

Property pages

By using the above configuration it will deploy dataset and data sources on SSRS server only if it is not exists on the server.

Hope this will work.