Ho scritto un rapporto SSRS per aiutarmi a tenere traccia degli abbonamenti SSRS. Ho riorganizzato uno script che utilizzerà Reportserver.dbo.Subscriptions.LastStatus per visualizzare i destinatari delle e-mail, tuttavia elencherà solo i primi 520 caratteri di LastStatus. Poiché alcune delle nostre liste di distribuzione sono piuttosto grandi, alcuni dei nomi cercati dal mio script non vengono trovati (anche se fanno parte della distribuzione). Qui di seguito è lo script che sto usando:Sottoscrizioni SSRS - Come visualizzare TUTTI i destinatari del report
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
Qualsiasi codice che ho trovato utilizza la colonna laststatus per visualizzare questi dati on-line. Se qualcuno ha qualche suggerimento su un modo più completo per elencare tutti i membri della lista di distribuzione del rapporto, lo apprezzerei.
Era esattamente quello che stavo cercando! La possibilità di cercare sia il TO che il CC è perfetta, perché speravo di correggere quella parte del rapporto in seguito. Sceneggiatura molto bella! Grazie per il tuo aiuto Jamie – Wendy
Questo è assolutamente fantastico. Come faccio ad aggiornare un indirizzo e-mail in massa, però? Il caso d'uso è un ex dipendente che ha inserito il proprio indirizzo email aziendale nel report. –