2011-06-20 124 views
10

我有一个以前有两个步骤的SQL Server代理作业。今天,我必须整合第三步,很快我需要整合第四步。SQL Server代理作业:如何在不执行整个作业的情况下执行作业步骤

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

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

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

在SSMS中,如果我右键单击该作业,则会出现一个选项,指出“开始作业在步骤...”,除非我尝试使用该选项时,会显示一个对话框,似乎意味着整个作业都有已经开始。我可以做什么来测试工作中的一步?

在此先感谢。

回答

15

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

+0

好吧,我看它是如何工作了。我早些时候使用过这种方法,并回忆起来有点困惑。就像我刚才提到的那样,我的第一步骤耗尽了大量资源,所以我不想尝试。感谢您的澄清。 – RLH

0

转到工作属性并手动执行该步骤。例如,有16个步骤的工作,并且您想要运行第12步,然后转到该工作属性并查看第12步的确切步骤。如果它在命令提示符下执行批处理文件,请手动执行。但是这种逻辑不能在所有情况下使用。

0

使用此:

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

这并不是只运行一个给定的步骤,而是通过图形用户界面执行相同的操作,它在给定的步骤开始作业,并且按顺序将按照作业正常流程运行,因此除非您运行最后一步,否则改变它可以运行作业中所有步骤的逻辑,这取决于你开始的步骤。 – Jevl