【问题标题】:Run a specific SQL Server job step from a stored procedure从存储过程运行特定 SQL Server 作业步骤
【发布时间】:2014-12-03 09:31:32
【问题描述】:

我有一个任务,其中包含 5 个步骤,这些步骤计划依次运行。

我想要一个存储过程,用户可以在其中执行存储过程并将步骤号作为参数。

然后将只执行此作业步骤,不再执行其他步骤。

最好的方法是什么?

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案1】:

    试试这个以运行作业中的特定步骤

    EXEC dbo.sp_start_job N'Job Name', @step_name = N'step_name'
    

    http://msdn.microsoft.com/en-us/library/ms186757.aspx

    更新

    如果您只想运行特定步骤,而不是从步骤开始,请尝试获取 step 命令并运行它:

    exec sp_help_job @job_name = 'job_name', @job_aspect = 'STEPS'
    

    这将返回为步骤运行的命令,然后您可以过滤步骤名称并运行步骤的命令。

    http://msdn.microsoft.com/en-AU/library/ms186722.aspx

    【讨论】:

    • [ @step_name= ] 'step_name' 开始执行作业的步骤的名称。但是我只想执行 1 步。如果我从第 3 步开始。只有第 3 步可能会被执行。
    • 请注意 sp_start_job 帮助程序位于 msdb 中。所以确切的命令应该是 EXEC msdb.dbo.sp_start_job
    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 2016-04-28
    • 1970-01-01
    相关资源
    最近更新 更多