Reporting Services error: “RSInternalError: Invalid object name 'ReportServerTempDB.dbo.PersistedStream'."

 

I decided to share this information in case this happens to you when running reports in Reporting Services 2008 R2 after moving the Reporting Services databases to another computer (https://technet.microsoft.com/en-gb/library/ms156421.aspx)

Error:

"An internal error occurred on the report server. See the error log for more details. (rsInternalError)

Invalid object name 'ReportServerTempDB.dbo.PersistedStream'."

 

The most probable reason for getting this error is after renaming Reporting Services databases (in an unsupported way)

See Renaming the databases is an unsupported operation (https://technet.microsoft.com/en-us/library/ms159093.aspx )

Renaming a report server database is not supported because the report server databases are considered internal components. Renaming the report server databases causes errors to occur.

Specifically, if you rename the primary database, an error message explains that the database names are out of sync. If you rename the ReportServerTempdb database, the following internal error occurs later when you run reports:

"An internal error occurred on the report server. See the error log for more details. (rsInternalError)

Invalid object name 'ReportServerTempDB.dbo.PersistedStream'."

This error occurs because the ReportServerTempdb name is stored internally and used by stored procedures to perform internal operations. Renaming the temporary database will prevent the stored procedures from working properly.

To confirm that that is your case, you can check if all the StoredProcedures make reference to the [ReportServerTempDB] instead of the actual name of the temp database which is now ReportServer_NEWNAME_TempDB.

In this case, the database might have being renamed afterwards manually, and the solution would be to restore the databases from backups before the renaming was done and point the SSRS instance to those dbs.

Other non-supported solutions exist and can be tried out at your own risk, for example simply renaming back the databases (making sure that the objects that were manually altered are rolled-back – CopyChunksOfType has been changed in one place) or modifying all the references to the ReportServerTempDB to reflect the new name. Again, this is unsupported.

 

Good Luck,

Maria Esteban

Reporting Services Support Engineer