Quick one today:
On SSRS, during one of the troubleshooting efforts, some ReportServer tables came up to surface that seemed interesting. Here is the question:
Is there a place where history of each SSRS report execution is stored? When the SSRS report is emailed or just generated using API or web browser?
Obviously, the answer is yes. Below is the query that could look it up:
-- -- History of a report execution on SSRS -- SELECT C.name , CASE(E.RequestType) WHEN 0 THEN 'Interactive' WHEN 1 THEN 'Subscription' WHEN 2 THEN 'Refresh Cache' ELSE 'Unknown' END AS RequestType , E.InstanceName , E.ReportID , E.UserName , E.[Format] , E.TimeStart , E.TimeEnd , E.TimeDataRetrieval , E.TimeProcessing , E.TimeRendering , E.[Source] , E.[Status] , E.ByteCount , E.[RowCount] FROM ExecutionLog AS E INNER JOIN dbo.catalog AS C ON E.reportid = C.itemid WHERE c.name = N'Replication Latency Common' ORDER BY E.TimeEnd DESC GO
Result would look something like this:
Most of the columns are self-explanatory; But for source column, details are added below.
Source
1: Live
2: Cache
3: Snapshot
4: History
5: Ad Hoc (Report Builder, etc)
6: Session (some session calling this session, etc)
7: RDCE – Report Definition Customization Extension
;nbsp;
_Sqltimes