Tsql SP_启动_作业在本地调用本地执行时失败

Tsql SP_启动_作业在本地调用本地执行时失败,tsql,reporting-services,ssms,Tsql,Reporting Services,Ssms,我正试图建立一个周期,将同一份报告发送给多个经理,修改参数以适应他们的团队 我已经设置了一个订阅,我成功地测试了它,在我第一次尝试之前和我使用的代码通过设置一个在1分钟内启动的计划循环之后 但是,SP_Start_作业无法启动作业,仅返回1。每运行5次,就会重新出现错误: Msg 14262,16级,状态1,程序sp_验证_作业_标识符,第41行 指定的@job_id“5274E5CB-9D5A-4998-96E4-B82017CA0588”不存在 显而易见的解决方案——我的错误 SP_开始_作

我正试图建立一个周期,将同一份报告发送给多个经理,修改参数以适应他们的团队

我已经设置了一个订阅,我成功地测试了它,在我第一次尝试之前和我使用的代码通过设置一个在1分钟内启动的计划循环之后

但是,SP_Start_作业无法启动作业,仅返回1。每运行5次,就会重新出现错误:

Msg 14262,16级,状态1,程序sp_验证_作业_标识符,第41行 指定的@job_id“5274E5CB-9D5A-4998-96E4-B82017CA0588”不存在


显而易见的解决方案——我的错误

SP_开始_作业需要作业名称/id,而不是订阅名称id

将我的订阅ID阶段更改为使用

SELECT @SubscriptionID = a.SubscriptionID , @jobID= s.ScheduleID
FROM ReportServer$TOFINOREPORTING.dbo.[Subscriptions] a
INNER JOIN ReportServer$TOFINOREPORTING.dbo.[Catalog] AS b ON a.[Report_OID] = b.[ItemID]
    INNER JOIN ReportServer$TOFINOREPORTING.dbo.ReportSchedule rs
        ON rs.SubscriptionID = a.SubscriptionID
    INNER JOIN ReportServer$TOFINOREPORTING.dbo.Schedule S
        ON rs.ScheduleID = S.ScheduleID
WHERE b.NAME =
行政长官 St_Start_job@job_Name=@jobID

解决了这个问题


谢谢@Manoj的代码。我看了好几眼才明白这一点。

您可以在测试/开发环境中尝试第五次执行代码吗?还是循环中的第五次迭代?因为您选择的是循环之外的作业_IDSubscriptionID,所以可能需要进行跟踪/审核,以查看是否有代码一直在删除作业。第5次迭代,并且在我的开发环境中没有任何变化。请遵循此链接manoj,谢谢。这很有趣,但我在代码中看不到任何不适合我的地方?
SELECT @SubscriptionID = a.SubscriptionID , @jobID= s.ScheduleID
FROM ReportServer$TOFINOREPORTING.dbo.[Subscriptions] a
INNER JOIN ReportServer$TOFINOREPORTING.dbo.[Catalog] AS b ON a.[Report_OID] = b.[ItemID]
    INNER JOIN ReportServer$TOFINOREPORTING.dbo.ReportSchedule rs
        ON rs.SubscriptionID = a.SubscriptionID
    INNER JOIN ReportServer$TOFINOREPORTING.dbo.Schedule S
        ON rs.ScheduleID = S.ScheduleID
WHERE b.NAME =