We recently had a customer trying to upgrade an SSRS solution and they were receiving some of the errors below. Some were from when they were trying to deploy the new reports and some were when they tried to go directly to their SSRS server as an admin user via http://MyServer/Reports (link depends on the configuration).

ERROR: Throwing Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: , Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing.

ERROR: Sql error while calling GetDBVersion:Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database. —> System.Data.SqlClient.SqlException: The EXECUTE permission was denied on the object ‘GetDBVersion’, database ‘ReportServer’, schema ‘dbo’.

ERROR: System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing. —> Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing.

What can you do?

The thing that stands out here is.

The report server cannot open a connection to the report server database

The first thing to do is to verify how the SSRS server is properly configured to connect to the database.

  • Open Reporting Services Configuration Manager

  SSRS_ConfigManager

  • Connect to your reporting server

 SSRSCM1

  • Under Database, Check the “Current Report Server Database Credential”

SSRSCM2

  • When you originally configured this credential for SSRS it gave this user rights to the ReportServer and ReportServerTampDB databases. You need to verify the user still has rights. You could just reconfigure the user in the wizard by changing the credentials, but first you should manually verify this is the issue by going to SSMS (SQL Server management Studio) and connecting to the Database Server that the ReportServer database resides.

DB_Security

  • Open the Security folder, under Logins Right Click on the Login referenced as the “Current Report Server Database Credential” above, and select Properties.

DB_SeucrityProp

  • On the Login Properties Screen select User Mapping, verify the ReportServer and ReportServerTempDB databases have rights for the configured credential. By Default the SSRS configuration wizard would have given the login db_owner and RSExecRole rights to both the ReportServer and ReportServerTempDB databases.

DB_security_UserMap

Once you correct the login credentials your SSRS server should again be able to connect to the ReportServer databases and connecting to your report server can continue.

If you found this helpful please leave a comment below.