В продолжении темы с ReportingServices.
Предыдущие были про обновление ReportingServices и про SSL и с ним связанной ошибки. Теперь, после того как обновили до последней версии наш сервер отчетов, настроили SSL, мы решили провести аудит своих более 200 отчетов:
Какие отчеты используются? Как часто и кем? Что вообще не используются?
Получение данной информации не составит труда и база данных ReportingServicesуже содержит необходимую информацию для ответов наших вопросов в предоставлении [dbo].[ExecutionLog] которая берет информацию из таблицы [dbo].[ExecutionLogStorage].
В данной таблице содержится информация об истории выполнения отчетов. По умолчанию срок хранения равен 60 дням, но можно его изменить в настройках ReportingServicesв ManagementStudio:
.
Итак, к примеру, можно получить количество выполнения отчетов:
selectdistinct c.Name,c.Path,count(*)as CountExec
FROM ExecutionLog e
innerjoinCatalog c on e.ReportID=c.ItemID
groupby c.Name, c.Pathorderby 3 desc
Получим сколько раз отчет из каталог c.Path выполнялся за время хранения в журнале информации.
Добавим себя, можно убрать себя из статистики
selectdistinct c.Name,c.Path,count(*)as CountExec
FROM ExecutionLog e
innerjoinCatalog c on e.ReportID=c.ItemID
where UserName!=SUSER_NAME()
groupby c.Name, c.Pathorderby 3 desc
Можно получить самых активных пользователей Вашего сервера отчетов:
selectdistinct username ,count(*)as CountExec FROM ExecutionLog
groupby UserName orderby 2 desc
Если вы имеет в результате пользователя подобного «NT SERVICE\SQLServerReportingServices» или пользователя службы RS, то это отчёты выполняющиеся по расписанию по подписке.
У нас, лидером оказался пользователь системы монитонга J.
Отчеты , которые не запускались за время хранения истории выполнения:
select Path,Namefrom [dbo].[Catalog]
where ItemID notin(select ReportID FROM[ReportServer].[dbo].[ExecutionLogStorage])
andName!='System Resources'
Так что вот так, парочку простых запросов и можно получить статистку вашего сервера отчетов.
Дополнительная информация: