Report Server Database
A report server is a stateless server that uses the SQL Server Database Engine to store metadata and object definitions. A Reporting Services installation uses two databases to separate persistent data storage from temporary storage requirements. The databases are created together and bound by name. By default, the database names are reportserver and reportservertempdb, respectively.
You can use an instance of the Database Engine from SQL Server 2005 or SQL Server 2008 to host the databases. The databases can run on a local or remote Database Engine instance. Choosing a local instance is useful if you have sufficient system resources or want to conserve software licenses, but running the databases on a remote computer can improve performance. For more information about how these configurations compare, see the Planning a Deployment Topology.
You can port or reuse an existing report server database from previous installation or a different instance with another report server instance. The schema of the report server database must be compatible with the report server instance. If the database is in an older format, you will be prompted to upgrade it to the current format. Newer versions cannot be retrofitted to an older version. If you have a newer report server database, you cannot use it with an earlier version of a report server instances. For more information about how report server databases are upgraded to newer formats, see Upgrading a Report Server Database.
The table structure for both databases is optimized for server operations and should not be modified or tuned. Microsoft might change the table structure from one release to the next. If you modify or extend the database, you might limit or prevent the capability to perform future upgrades or apply service packs. You might also introduce changes that impair report server operations.
All access to a report server database must be handled through the report server. To access content in a report server database, you can use report server management tools, (such as Report Manager and SQL Server Management Studio), or programmatic interfaces such as URL access, Report Server Web service, or the Windows Management Instrumentation (WMI) provider.
The connection to the report server database is usually defined through the Reporting Services Configuration tool. However, it can be defined during setup if you choose to install the default configuration. For more information about the report server connection to the database, see Configuring a Report Server Database Connection and Planning for Services, Accounts, and Connections.
The report server database is a SQL Server database that stores the following content:
Items managed by a report server (reports and linked reports, shared data sources, report models, folders, resources) and all of the properties and security settings that are associated with those items.
Subscription and schedule definitions.
Report snapshots (which include query results) and report history.
System properties and system-level security settings.
Report execution log data.
Symmetric keys and encrypted connection and credentials for report data sources.
Because the report server database stores application state and persistent data, you should create a backup schedule for this database to prevent data loss. For recommendations and instructions on how to back up the database, see Moving the Report Server Databases to Another Computer.
Each report server database uses a related temporary database to store session and execution data, cached reports, and work tables that are generated by the report server.
Reporting Services does not re-create the temporary database if it is missing, nor does it repair missing or modified tables. Although the temporary database does not contain persistent data, you should back up a copy of the database anyway so that you can avoid having to re-create it as part of a failure recovery operation.
If you back up the temporary database and subsequently restore it, you should delete the contents. Generally, it is safe to delete the contents of the temporary database at any time. However, you must restart the Report Server Windows service after you delete the contents.
If you delete the temporary database, you can create a new database, and then run the Catalogtempdb.sql script to add the table structure. The temporary database must have the same root name as the primary report server database.