Score:0

2016 - 2019 - Wrong SSRS Instance Processing Report Render Request

bd flag

I have inherited a very weird anomaly in SSRS. A new SSRS instance was created using 2019 and it appears it is using the same ReportServer DB as previous 2016 instance. This may have been done to avoid porting thousands of reports and associated items.

  • The 2016 instance seems to still be running, however, the account used to access the ReportingService db is no longer valid, thus any attempts to access a report using the 2016 url end with a 'cannot access the report server database.'

  • When I access a report in 2019 I can render it in the report manager.

  • When I invoke the same report, using the 2019 instance's url, through a wcf service call to ReportService2010.Render(), I get the same error as if I were accessing the services vis the 2016 instance.

  • Alos, I know the 2016 version is trying to render the call made to 2019 because the log information about the render attempt and "can't connect to report server database" error only show up in 2016's error log.

  • I have re-checked the iis log and see the that the wcf service is calling the 2019 server to request the render with 200 result (it is fire and forget so a 200 is always returned if the endpoint is accessible).

It seems like the wcf is in fact calling the 2019 instance and requesting a report, however, the logging for that request is being done over at the 2016 instance of SSRS.

Could this be something not well configured in the report sever database?

Manu avatar
us flag
Verify if both Instances are using the same DB for sure (can’t imagine). Check if both still are ative (with SQL Profiler or tool of your choice). Give us some more information about these Instances: Server Mode, SQL Instance with DB on same Host, Editions, Scale-Out Deployment ect… Check the Table ProductInfoHistory in the Report Server DB to verify it is actually on the correct version.
Ross Bush avatar
bd flag
@Manu - Thanks for your help. It seems, as I thought (and always seems to be the case), there was something really silly causing this. It turns out the configs. In this case it was duplicate entries.
Score:0
bd flag

This was user error. The app.config for the WCF service was pointing to the correct instance, hence the correct logging messages. The web.config in the API project, which referenced all WCF services, had two app settings with the same key. One key was incorrect and that was used for the ReportExecution endpoint binding.

I assumed the configs were pristine.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.