2017-07-17 82 views
0

让我expain什么,我需要做的:我有一个SQL Server和我有时运行的作业使用SQL服务器:跳步

EXECUTE [msv].[dsf]._sp_startjob 'Test1' 

这个命令手动将启动Test1的工作对我来说。

作业测试1有10个步骤,有时作业在第3步失败。我的问题是如何跳过该步骤并再次运行,但从步骤4到10?因为如果我从步骤0再次启动它,它会再次在步骤3失败

请帮

回答

0

使用@step_name参数sp_start_job

sp_start_job 
    { [@job_name =] 'job_name' 
     | [@job_id =] job_id } 
    [ , [@error_flag =] error_flag] 
    [ , [@server_name =] 'server_name'] 
    [ , [@step_name =] 'step_name'] 
    [ , [@output_flag =] output_flag] 

[@ STEP_NAME =] 'STEP_NAME'执行作业的步骤名称。仅适用于本地工作。 step_name的是 sysname类型,NULL

按您的评论的默认,

EXEC msdb.dbo.sp_start_job @job_name = 'job_name',@step_name = 'test2' 
+0

请更具体因此,可以说一步一个名为“测试”第2步称为“测试1”,在步骤3呼吁“test2”可以说我wanaa跳过第2步我做EXECUTE [msv]。[dsf] ._ sp_startjob'jobs's name''test2“? – NICK

+0

执行时使用参数名称。 'EXECUTE sp_startjob @job_name ='job_name',@ step_name ='test2'' –