Я написал отчет SSRS, чтобы помочь мне отслеживать подписки на SSRS. Я перепробовал script, который будет использовать Reporterver.dbo.Subscriptions.LastStatus для просмотра получателей электронной почты, однако он будет перечислять только первые 520 символов LastStatus. Поскольку некоторые из наших списков распространения довольно велики, некоторые имена, которые ищет мой script, не найдены (хотя они и являются частью дистрибутива). Ниже представлен script, который я использую:
SELECT Reportname = c.Name
,FileLocation = c.Path
,SubscriptionDesc=su.Description
,Subscriptiontype=su.EventType
,su.LastStatus
,su.LastRunTime
,Schedulename=sch.Name
,ScheduleType = sch.EventType
,ScheduleFrequency =
CASE sch.RecurrenceType
WHEN 1 THEN 'Once'
WHEN 2 THEN 'Hourly'
WHEN 4 THEN 'Daily/Weekly'
WHEN 5 THEN 'Monthly'
END
,su.Parameters
FROM Reportserver.dbo.Subscriptions su
JOIN Reportserver.dbo.Catalog c
ON su.Report_OID = c.ItemID
JOIN Reportserver.dbo.ReportSchedule rsc
ON rsc.ReportID = c.ItemID
AND rsc.SubscriptionID = su.SubscriptionID
JOIN Reportserver.dbo.Schedule Sch
ON rsc.ScheduleID = sch.ScheduleID
WHERE LastStatus like @Email
ORDER BY LastRunTime DESC
Любой код, который я нашел в Интернете, использует столбец LastStatus для отображения этих данных. Если у кого-нибудь есть предложения относительно более полного способа для меня перечислить всех членов списка распространения отчетов, я был бы признателен.