SSRS Report Caching and Snapshots Explained
By Tom Nonmacher
As a SQL Server Reporting Services (SSRS) developer or administrator, one of your challenges could be optimizing report performance. Two useful features to help with this are report caching and snapshots. Both aim to minimize the time it takes to generate a report, but they achieve it in different ways. Report caching generates and stores a temporary copy of a processed report, while snapshots save a report's layout and query results at a specific point in time.
Report caching in SSRS is a feature that can be used to improve the performance of your reports. Once a report is executed, the results are stored in a cache on the report server. The next time the report is requested, SSRS retrieves the cached copy, rather than re-executing the report's query against the database. This is particularly beneficial when you have reports that deal with large amounts of data and are frequently accessed by users.
-- T-SQL code to enable caching
USE ReportServer
GO
EXEC SetCacheOptions @ReportPath = '/AdventureWorks Sample Reports/Sales Order Detail',
@CacheOptions = 1, -- 1 for Cache, 0 for Do Not Cache
@CacheExpirationMinutes = 30 -- Cache duration
Snapshots, on the other hand, store a report's layout and data at a specific point in time. This is useful for reports that take a long time to process due to complex calculations or large data volumes. With snapshots, you do not need to rerun the report for each new viewer; instead, all users see the same data. Snapshots also help you manage report server resources by scheduling large reports to run during off-peak hours.
-- T-SQL code to create a snapshot
USE ReportServer
GO
EXEC CreateSnapshot @ReportPath = '/AdventureWorks Sample Reports/Sales Order Detail'
These features are not exclusive to SQL Server 2019. If you are working with MySQL 8.0, DB2 11.5, Azure SQL, or Azure Synapse, similar functionality can be achieved. In MySQL, query caching can be enabled to store the result of a SELECT statement in the cache, so subsequent identical SELECTs can be retrieved faster. For DB2, the equivalent of snapshots is known as materialized query tables, which store the results of a query and can be refreshed at specific intervals.
In the Azure ecosystem, Azure SQL Database provides an automatic tuning feature that includes the intelligent query processing capabilities of SQL Server 2019. In Azure Synapse Analytics, you can use materialized views, which are similar to snapshots, to store the results of complex queries and hence improve the performance of analytic workloads.
In conclusion, SSRS report caching and snapshots are powerful tools for optimizing report performance. By understanding when and how to use each feature, you can provide a better experience for your report users and more efficiently use your server resources. Whether you are using SQL Server, MySQL, DB2, or Azure-based databases, these features or their equivalents can help you deliver fast, consistent, and reliable reports.
Check out the latest articles from all our sites:
- How to Take Advantage of Flash Sales at Grocery Stores [https://www.ethrift.net]
- A brief history of the Galveston Hurricane of 1900 [https://www.galvestonbeachy.com]
- How to Plant and Maintain Chokeberry Bushes [https://www.gardenhomes.org]
- New Query Store Enhancements in SQL Server 2022 [https://www.sqlsupport.org]
- Heat: Why My Laptop Is Cooking My Lap [https://www.SupportMyPC.com]
- The Best Months to Visit South Korea for Cherry Blossoms and Fall Colors [https://www.treasureholidays.com]
Privacy Policy for sqlsupport.org
Last updated: Feb 03, 2026
sqlsupport.org respects your privacy and is committed to protecting any personal information you may provide while using this website.
This Privacy Policy document outlines the types of information that are collected and recorded by sqlsupport.org and how we use it.
Information We Collect
- Internet Protocol (IP) addresses
- Browser type and version
- Pages visited
- Time and date of visits
- Referring URLs
- Device type
Cookies and Web Beacons
sqlsupport.org uses cookies to store information about visitors preferences and to optimize the users experience.
How We Use Your Information
- Operate and maintain our website
- Improve user experience
- Analyze traffic patterns
- Prevent fraudulent activity
Contact
Email: admin@sqlsupport.org