2

Используя SSRS 2012, мы используем подписки на отчеты, чтобы сохранять отчеты о сетевых местоположениях и отправлять отчеты по электронной почте. Я знаю, как отлаживать ошибки, но я ищу решение, чтобы предупредить нашу службу поддержки, когда подписка не была отправлена. Назовите меня сумасшедшим, чтобы быть активным.Мониторинг ошибок подписки SSRS

Я вижу решение для мониторинга таблиц ReportServer для статуса, но предполагается, что все подписки по электронной почте (only handles email statuses).

Я также вижу таблицу журнала выполнения (ExecutionLog3), но в таблице не отображаются все ошибки. Я заставил подписку выйти из строя, удалив сетевой доступ к файлу, но ошибка не появляется в таблице.

Я хотел бы написать отчет SSRS, который можно запустить, чтобы просмотреть все ошибки подписки, которые произошли за день. Любые предложения приветствуются.

ответ

0

Для этого не существует встроенного способа. Вам придется проанализировать журнал ошибок Windows или журнал служб отчетов. Я не пробовал это, но ssrs api мог вернуть последний статус подписки для отчетов, основанных на подписке, однако не существует журнала истории за пределами базы данных ReportingService, и даже там я не уверен, что были зарегистрированы ошибки.

0

Заканчивать это решение, которое я нашел в блоге Jeff Prom, http://jeffprom.com/2008/08/22/ssrs-failed-subscription-notifications/

SELECT C.Name, S.LastRunTime, S.LastStatus, S.Description 
FROM Subscriptions AS S 
LEFT OUTER JOIN [Catalog] AS C 
ON C.ItemID = S.Report_OID 
WHERE LEFT (S.LastStatus, 12) != ‘Mail sent to’ 
    AND LEFT (S.LastStatus, 12) != ‘New Subscrip’ 
+0

Статус - это только последний статус, так что это не дает вам всех неудачных подписок, только последний. Кроме того, текст «Отправленный почтой» и «Новый подписчик» не будет работать для файлов, сохраненных в сетевых местоположениях. Успешный статус выглядит так: «Файл« имя файла »был сохранен в общей папке общего доступа. – RollTide

3

Это только обработать сообщение последний статус так не в полной мере ответить на этот вопрос (я наткнулся на этот пост, потому что я ищу тот же ответ), но это не похоже на работу для меня с точки зрения уловить все ошибки подписки, в том числе проблемы с файлами:

select count(*) 
from ReportServer.dbo.[Subscriptions] S 
where 0 = case 
      when S.[LastStatus] = 'New Subscription' then 1 
      when substring(S.[LastStatus],1,9) = 'Mail Sent' then 1 
      when substring(S.[LastStatus],1,5) = 'Done:' 
      and right(S.[LastStatus],9) = '0 errors.' then 1 
      when substring(S.[LastStatus],1,9) = 'The file ' 
      and patindex('%has been saved to the%',S.[LastStatus]) > 1 
      and right(S.[LastStatus],11) = 'file share.' then 1 
      else 0 
     end 
Смежные вопросы