SSRS – Purge Rows from dbo.catalog in SQL Server 2012

sql serversql-server-2012ssrsssrs-2012

We have a third party software that generates reports by adding a new "temp" report to the SSRS catalog every time a user prints a report so now the dbo.catalog table is almost 3 GB and has 16K+ rows worth of one time only reports. Is there a way to safely purge these rows from this table?

To be clear, I am talking about ReportServer not ReportServerTempDB so EXEC FlushReportFromCache @Path and EXEC CleanExpiredCache are of no help.

From what I am reading online Microsoft does not want you messing with this table directly so there is little documentation. I can't find any sort of official maintenance function that works on dbo.catalog. I don't expect many people want to mass delete their reports so this does not surprise me.

Best Answer

Check and see if these temporary reports show up through the web service interface. You should be able to setup a powershell script to call the deleteitem web service method to delete the reports.
That or unhide them in the report manager interface and manually delete them.
Those would be the supported ways to do it.