All those temporary files (RSTempFiles)

When you install Reporting Services, we create a few directories:

  1. LogFiles
  2. ReportManager
  3. ReportServer
  4. RSTempFiles

Most of these are fairly self explanatory.  LogFiles... well we put our log files in there.  ReportManager contains the Report Manager application (what you get when you browse to https://<server>/reports) and ReportServer contains the Report Server application which is the proper 'Report Server' which implements our Web Service and HTTP handler endpoints... it is what you get when you go to https://<server>/reportserver.

So what about that RSTempFiles thing?  Well it contains files that are temporary of course!

These temporary files can be broken down into a few categories:

  • Temporary Report Snapshot files.
    • These files are only created if you have opted into using temporary file storage (see the WebServiceUseFileShareStorage).
    • For RS2000/2005, snapshots are more or less completely independent and each is contained in its own directory (identified by a GUID).  Each snapshot contains a set of files (internally, they are referred to as "chunks"). 
    • For RS2008, snapshots oftentimes contain some shared data.  The folder-per-snapshot hierarchy used in RS2000/2005 is replaced by a single directory called "Chunks."  Each chunk is a discrete file in this directory.
    • These files are automatically cleaned up by the Report Server on a time-based interval (same as snapshot data stored in ReportServer and ReportServerTempDB catalog databases).
  • Output/Intermediate Streams
    • These files are all created directly within the the RSTempFiles directory.  There is no way to differentiate between these two sub-categories of files currently.
    • Output streams - these streams are generated as output from the renderers.  The server spools them to disk if they grow large enough.  RS has an output cache that may cause these streams to survive beyond the lifetime of the request so that subsequent accesses can be served directly from the cache. 
    • Intermediate files - these files contain results of intermediate calculations during report processing and rendering.  Generally, these contain data which is never returned to the client, but rather holds temporary results in order to relieve memory pressure.  These files are cleaned up when the request completes (no caching across requests).
  • Conversion files
    • These are stored under a folder named _Conversion. 
    • Our compression format for snapshots changed between RS2000 and RS2005.  This folder would contain temporary files supporting the on-demand one-time upgrade of these persisted snapshots.  Unless you are upgrading from an RS2000 instance, you should never see this directory or files created. 
  • Shadow Copy Files
    • This is only for RS2008.
    • After the CTP6 release of RS2008, we enabled shadow copy for our ASP.Net worker domains under the new hosting model.