繁体   English   中英

SSRS:报告订阅按非周期计划运行

[英]SSRS: Report subscription ran on off-cycle schedule

SQL Server 2014

我有一个共享的季度报告计划,计划于1月,4月,7月和10月1日发布。但是,该报告于8月1日发布。 我检查了报表服务器,并确认未将计划设置为在8月运行,但是实际的计划表显示报表确实在8月1日运行。 在SQL Agent作业历史记录中,仅运行一次,该运行是8月1日,由服务帐户执行。 订阅显示下一个运行日期为10月1日。

因此,我不知所措,为什么报告不能按计划进行。 系统似乎确认报告已正确安排,但系统似乎已超出计划。 我还可以执行其他任何故障排除步骤吗?

更新(屏幕截图):

在此处输入图片说明

在评论中进行讨论之后,我想有人想到了将要订阅的原始作业重命名为人类可读的名称,并且在离开公司之前没有告诉您。 要找到该作业,您当然可以遍历SQL Server Agent的作业列表,并查看是否可以找到一个名称与报告/订阅有关的作业。 如果这还不够,请在SSMS中打开“ 作业活动监视器” (在SQL Server代理下),然后查找最后一次在电子邮件发出时于8月1日执行的作业。 如果这不成功,并且手动进行的工作太多,则建议执行以下操作:

  • 在ReportServer数据库的Catalog表中找到报告的ItemID (使用PathName标识您的报告)。
  • 发现在Report Server数据库的订阅表订阅的SubscriptionID,过滤使用报告的项目IDReport_OID列。

然后,使用msdb数据库中的查询在SQL Server代理的作业步骤中找到此<SubscriptionID>

SELECT j.[name] AS job_name, s.step_name
FROM dbo.sysjobs j
  INNER JOIN dbo.sysjobsteps s ON j.job_id = s.job_id
WHERE s.command like '%<SubscriptionID>%'

(用您的订阅的SubscriptionID替换<SubscriptionID> )。

我猜想您将通过该查询找到(至少)2个工作,一个与您的季度计划有关,一个计划于8月1日运行,这两个工作都使用像EXEC dbo.AddEvent @EventType='TimedSubscription', @EventData='<SubscriptionID>'这样的工作步骤命令: EXEC dbo.AddEvent @EventType='TimedSubscription', @EventData='<SubscriptionID>'在ReportServer数据库中执行EXEC dbo.AddEvent @EventType='TimedSubscription', @EventData='<SubscriptionID>' (使用您的<SubscriptionID> )。 做第二件事是适当的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM