问题 SQL Server代理作业:如何在不执行整个作业的情况下执行作业步骤


我有一个以前有两个步骤的SQL Server代理作业。今天,我必须整合第三步,很快我就需要整合第四步。

我想确保步骤正确执行,但我不想执行整个工作。

前两个步骤需要相当多的时间来执行,并且在白天他们占用了我的用户所需的大量SQL资源。

有没有办法可以执行工作步骤而不是整个工作流程?

在SSMS中,如果我右键单击作业,则会有一个选项,指出“在步骤中启动作业...”,除非我尝试该选项时会显示一个似乎暗示整个作业已启动的对话框。我可以做些什么来测试工作中的一个步骤?

提前致谢。


10474
2018-06-20 14:39


起源



答案:


“在步骤中启动作业”将在您指定的步骤中启动作业。但是 - 如果您不希望执行任何后续步骤 - 请务必调整步骤逻辑,以便在完成您开始的步骤后“退出报告成功”。


15
2018-06-20 16:23



好的,我现在看它是如何运作的。我之前使用过这种方法,并回忆起有点困惑。就像我刚才提到的那样,我的第一个步骤耗尽了很多资源,所以我不想尝试。谢谢你的澄清。 - RLH


答案:


“在步骤中启动作业”将在您指定的步骤中启动作业。但是 - 如果您不希望执行任何后续步骤 - 请务必调整步骤逻辑,以便在完成您开始的步骤后“退出报告成功”。


15
2018-06-20 16:23



好的,我现在看它是如何运作的。我之前使用过这种方法,并回忆起有点困惑。就像我刚才提到的那样,我的第一个步骤耗尽了很多资源,所以我不想尝试。谢谢你的澄清。 - RLH


用这个:

EXEC msdb.dbo.sp_start_job N'job_name' , 'step_name'

1
2017-08-29 15:43



这不是仅仅执行给定步骤,而是与通过GUI在给定步骤中启动作业相同,并且按顺序将按照作业正常流程执行,因此除非您在不更改时运行最后一步它可以运行作业中所有步骤的逻辑,具体取决于您从哪个步骤开始。 - Jevl


转到作业属性并手动执行该步骤。例如,有一个包含16个步骤的作业,您希望运行第12步,然后转到该作业属性,看看步骤12到底做了什么。如果它在命令提示符下执行批处理文件,请手动执行。但是这种逻辑不能用于所有情况。


0
2018-04-24 09:51