我正在尝试分析Sql Server Reporting Services实例中的报表使用情况。
这很好用:
SELECT c.Name,el.UserName,el.TimeStart
FROM ExecutionLog el
INNER JOIN CATALOG c ON EL.reportid = c.itemid
但后来我意识到ExecutionLog中有几条记录没有CATALOG中的条目:
SELECT c.Name,el.UserName,el.TimeStart
FROM ExecutionLog el
LEFT JOIN CATALOG c ON EL.reportid = c.itemid
WHERE c.Path IS NULL
我认为这是由于报告被更新/删除。无论如何都要保留目录项。 我可以创建一个夜间工作来保存目录信息,但这似乎有点矫枉过正
答案 0 :(得分:0)
该历史记录数据的默认保留期为60天。
您需要将ExecutionLogDaysKept
属性设置为-1,以便ExecutionLog数据不会“过期”。
您可以在以下地方阅读和了解有关 EnableExecutionLogging 和 ExecutionLogDaysKept 主题的更多信息:https://docs.microsoft.com/en-us/sql/reporting-services/tools/server-properties-advanced-page-reporting-services?view=sql-server-2017