Share via

can i check an SQL report from a specific date in the past?

LONGMATEY, Yaw 0 Reputation points
2026-03-15T16:15:30.8633333+00:00

can i check an SQL report from a specific date in the past?

SQL Server Reporting Services
SQL Server Reporting Services

A SQL Server technology that supports the creation, management, and delivery of both traditional, paper-oriented reports and interactive, web-based reports.

0 comments No comments

2 answers

Sort by: Most helpful
  1. Akhil Gajavelly 1,725 Reputation points Microsoft External Staff Moderator
    2026-03-16T06:37:10.4133333+00:00

    Hi @LONGMATEY, Yaw ,

    Yes, but it depends on how the report and database are configured.

    If the tables use system-versioned temporal tables, you can query the data as it existed on a specific date using FOR SYSTEM_TIME AS OF.

     SELECT * FROM dbo.YourTable FOR SYSTEM_TIME AS OF '2021-09-01T10:00:00';

    If you want to check when the report ran (SSRS), you can view Report History/Snapshots in the Report Portal or query the execution logs:

    SELECT  * FROM ReportServer.dbo.ExecutionLog3 ORDER BY TimeStart DESC;

    If the database does not store historical data or snapshots, the report can only show the current data, and the exact report from a past date cannot be recreated.

    Thanks,
    Akhil.

    0 comments No comments

  2. Q&A Assist
    2026-03-15T16:15:42.03+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    Yes, but how depends on how the data/reporting is set up.

    For SQL Server Reporting Services (SSRS) specifically, there are two main approaches based on the context provided:

    1. If the report data is stored in system-versioned temporal tables in SQL Server:
      • Temporal tables allow querying the data as it existed at a specific point in time using FOR SYSTEM_TIME AS OF.
      • Example to see how a table looked at a past time:
             SELECT [DeptID],
                    [DeptName],
                    [ValidFrom],
                    [ValidTo]
             FROM [dbo].[Department]
             FOR SYSTEM_TIME AS OF '2021-09-01T10:00:00.7230011';
        
      • A report dataset can be based on such a query to show the report “as of” that past date.
      • This also works via a view that joins multiple temporal tables, then querying the view with FOR SYSTEM_TIME AS OF.
    2. If the report execution itself is what needs to be checked (when it ran, not what the data was):
      • SSRS provides report execution logs that record when reports ran, who ran them, execution time, and delivery details. These logs can be copied into database tables and queried.
      • For snapshots and cached reports, SSRS surfaces “when it ran” in the Web Portal (Report Manager):
        • Report snapshot:
          • Go to the folder containing the report → switch to Details view → check the When Run column.
        • Snapshot in report history:
          • Open the report → PropertiesHistory tab → check When Run.
        • Cached report:
          • Open the report → PropertiesExecution tab → open the schedule to see when the cache is created/refreshed.

    If the underlying tables are not temporal and there are no snapshots/history, SSRS cannot reconstruct the exact data state for an arbitrary past date; only execution metadata (when it ran) is available via logs and history.


    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.