在SQL Server 2005 ReportingServices 中可以对发布的报表进行订阅,在建立订阅时可以设置执行计划,已确定在什么时间发送报表邮件,但要想根据自己的需要发送邮件,每次都去修改执行计划显然太麻烦。其实在创建订阅时,会自动在SQL Server作业下创建一个作业,用于实现该订阅的功能。可以根据需要来执行该作业,以便实现自己的需要来邮件的发送
方法:
1) 首先找出创建订阅时,自动在Agent
中添加的作业名称
SELECT sd.Name JobName
FROM [Catalog] clg
INNER JOIN Subscriptions sc ON clg.itemID=sc.Report_OID
INNER JOIN Schedule sd ON sd.EventData=sc.SubscriptionID
WHERE clg.Name='ReportName'
2) 通过作业名称找到作业ID
SELECT CAST(sv.job_ID AS NVARCHAR(100)) AS [job_di]
FROM msdb.dbo.sysjobs_view AS sv
WHERE (sv.name=N'Jobame' AND sv.category_id=N'100')
3)执行作业
EXEC msdb.dbo.sp_start_job @job_id=N'JOB_ID'
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15042150/viewspace-627783/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15042150/viewspace-627783/