我写了一份SSRS报告,以帮助我跟踪SSRS订阅.我重新调整了一个脚本,它将使用Reportserver.dbo.Subscriptions.LastStatus来查看电子邮件收件人,但是,它只会列出LastStatus的前520个字符.因为我们的一些通讯组列表非常大,所以找不到我的脚本搜索的一些名称(即使它们是发行版的一部分).以下是我使用的脚本:
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
Run Code Online (Sandbox Code Playgroud)
我在网上找到的任何代码都使用LastStatus列来显示这些数据.如果有人对我列出报告分发列表的所有成员的更完整方式有任何建议,我将不胜感激.