首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSRS:报告订阅按非周期计划运行。

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

Stack Overflow用户
提问于 2018-08-03 20:49:50
回答 1查看 1.1K关注 0票数 0

Server 2014

我有一个共同的季度报告时间表,计划在1月、4月、7月和10月的第一天发布。然而,该报告于8月1日发布。我检查了报表服务器,并确认计划没有设置为8月运行,但实际调度表显示报表确实在8月1日运行。在SQL作业历史记录中,只有一次运行,即8月1日,它由服务帐户执行。订阅显示下一个运行日期是10月1日。

因此,我不明白为何这份报告会偏离时间表。系统似乎确认报告的计划是正确的,但系统似乎没有按计划运行报告。对此,我还可以遵循其他的故障排除步骤吗?

更新(截图):

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-06 23:06:30

经过我们在评论中的讨论,我想有人想把原来的工作重新命名为订阅一个人类可读的名字,而在他离开公司之前没有告诉你。要找到该工作,当然可以查看Server代理的作业列表,看看是否可以找到与报表/订阅有关的名称的工作。如果这还不够,请在SSMS中打开作业活动监视器(在Server代理下),并查找在电子邮件发送时最后一次执行的作业。如果这不是成功的,并且有太多的工作要手动完成,我建议执行以下操作:

  • 在ItemID数据库的目录表中查找报表的ReportServer (使用路径和名称标识报表)。
  • 在SubscriptionID数据库的订阅表中找到订阅的Report_OID,使用报表的ItemID过滤Report_OID列。

然后,使用类似于<SubscriptionID> msdb数据库中的查询,在Server代理的作业步骤中找到这个:

代码语言:javascript
复制
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 )。

我猜您将(至少)使用此查询找到两个作业,一个带有季度计划,另一个计划在8月1日运行,这两个作业都使用在EXEC dbo.AddEvent @EventType='TimedSubscription', @EventData='<SubscriptionID>'数据库中执行的作业步骤命令(与<SubscriptionID>一起执行)。对第二份工作做任何合适的事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51679942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档