During the operation of our Reporting Service Server, one of our clients reported accidental reports unavailability. Following is the screen capture on his browser :
Accoding to server maintenance history, there was no action performed on that server. So, what can caused this sudden unavailability?
To investigate the issue, we activate ASP.NET debuging in web.config, and browse to the report page. And now we have more precise information that Microsoft.ReportingServices.Diagnostics.Utilities.DataSourceDisabledException has occured :
This exception happened when the data source for reports has been disabled. Its easy to re-enable data source for the report, but why it disabled accidentally?
I am tracking down to the Event Logs and ULS log (since this is Reporting Service SharePoint Integration) – and found out that database connection exception had occured for relatively long time when clients tried to access the report and thus triggered the Reporting Service application to disable the database connection. I can not find technical explaination in Microsoft site, however I think this is a safety belt measure to protect server's performance.
How to fix it?
- Re-enable Affected Data Connection
Browse to the data connection library and re-enable affected data connection. Click OK and then Publish it.
- Resolve Database Unavailability Issue
Since the underlying problem is the database unavailability which is greater than safety threshold. You have to investigate the unavailability event in your database server. The reason may varies, for example unlimited growth of tempdb, low disk, low memory etc. Fix the database issue to completely resolve data connection un-availability problem.