在工作中更改next_run_time

时间:2014-11-13 10:56:49

标签: sql scheduled-tasks jobs

我在sql中有一些工作,我需要从代码中更改下一个运行日期和时间。我有以下存储过程更新作业,但作业不在指定时间开始:

CREATE PROCEDURE [dbo].[pu_usp_update_ssis_package]
    @job_id varchar(50) ,
    @next_run_date int,
    @next_run_time int
AS
begin
    update 
        msdb.dbo.sysjobschedules 
    set 
        next_run_date = @next_run_date,
        next_run_time = @next_run_time
    where 
        job_id = @job_id
end

我的工作表msdb.dbo.sysjobschedules中的数据已更新,但我不知道为什么作业无法启动

1 个答案:

答案 0 :(得分:0)

这是更新存储过程

CREATE PROCEDURE [dbo].[pu_usp_update_ssis_package]
    @job_id varchar(50) ,
    @next_run_date int,
    @next_run_time int
AS
begin
declare @schedule_id int
set @schedule_id = (select 
                        msdb.dbo.sysjobschedules.schedule_id 
                    from 
                        msdb.dbo.sysjobschedules 
                    where 
                        job_id = @job_id)

    exec msdb..sp_update_schedule @schedule_id = @schedule_id,
                            @active_start_date  = @next_run_date, 
                            @active_start_time = @next_run_time

end