Я написал отчет SSRS, чтобы отслеживать подписки на SSRS. Я переделал сценарий, который будет использовать Reportserver.dbo.Subscriptions.LastStatus для просмотра получателей электронной почты, однако он будет отображать только первые 520 символов LastStatus. Поскольку некоторые из наших списков рассылки довольно велики, некоторые имена, которые ищет мой сценарий, не найдены (даже если они являются частью рассылки). Ниже приведен сценарий, который я использую:
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 для отображения этих данных. Если у кого-нибудь есть какие-либо предложения относительно более полного способа перечисления всех членов списка рассылки отчетов, я был бы признателен.