SSRS ReportServer помогает нам найти подробную информацию о выполнении отчетов и другие подробности. Таким образом, мы можем использовать следующий запрос, чтобы узнать ответы на следующие вопросы:
- Сколько раз была вызвана подписка?
- Сколько времени потребовалось для запуска?
SELECT TMP_TBL.*,sc.LastStatus,sc.LastRunTime FROM (
select ROW_NUMBER() OVER(ORDER BY TimeEnd DESC) AS Rw_Nr,CASE(RequestType)
WHEN 0 THEN 'Interactive'
WHEN 1 THEN 'Subscription'
WHEN 2 THEN 'Refresh Cache'
ELSE 'Unknown'
END AS RequestType ,DATEDIFF(second,TimeStart,TimeEnd) AS Execution_Time ,Status ,UserName ,Format ,c.ItemID
FROM ExecutionLogStorage EL WITH(NOLOCK)
LEFT JOIN Catalog C WITH(NOLOCK) ON (EL.ReportID = C.ItemID)
where RequestType=1
-- AND el.TimeEnd BETWEEN @BegTime AND @EndTime
) AS TMP_TBL LEFT JOIN Subscriptions sc ON sc.Report_OID = TMP_TBL.ItemID and TMP_TBL.Rw_Nr=1