exec msdb..sp_start_job @job_id = 0xB85AD5191546C04CA5429610E8338085

解决方案 »

  1.   

    USE msdb
    EXEC sp_update_jobschedule @job_name = '作业名', 
       @name = '调度名',
       @enabled = 1
      

  2.   

    — 添加作业
      EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'TSQL_Job_1', @owner_login_name = N'sa', @description = N'No description available.', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback  — 添加作业步骤
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'第 1 步', @command = N'select * from systypes', @database_name = N'Measure', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 0, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
      EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback  — 添加作业调度
      EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'第 1 调度', @enabled = 1, @freq_type = 64
      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
      

  3.   

    不行,这只是更新一个调度的,没有启用一个作业。
    在SQL SERVER 中:
    启动:使用一次,不管你是否多次循环调用,是用SP_START_JOB实现的
    启用:一直使用知道你的终止时间到了。是我现在希望得到的答案。
    真的用于微妙啊
      

  4.   

    不是的,我用企业管理器是可以启用的,但是用T-SQL 语言就不行了。
    我希望我SQL 语言。
    我的作业、调度、步骤、服务器等都创建了的。
      

  5.   

    语句是这样的
    use msdbexec sp_add_job @job_name='LimitTimeRun',
    @enabled=1,
    @description='warn in time',
    @Start_step_id=1,
    @notify_level_netsend=3,
    @notify_netsend_operator_name='192.168.0.188'exec sp_add_jobschedule @job_name='LimitTimeRun',
    @name='MyStep1',
    @enabled=1,
    @freq_type=4,--dayly
    @freq_interval = 1,
    @freq_subday_type=0x4,
    @freq_subday_interval=1exec sp_add_jobstep @job_name='LimitTimeRun',
    @Step_id=1,
    @Step_name='RealStep1',
    @Subsystem='TSQL',
    @command='select * from tttt',
    @on_success_action=1,
    @database_name='testDb',
    @retry_attempts=5exec sp_add_jobserver @job_name='LimitTimeRun',
    @server_name='CCL'exec sp_start_job @job_name='LimitTimeRun',
    @server_name='CCL',
    @step_name='RealStep1'
      

  6.   

    添加作业刚才写错了
    exec sp_add_job @job_name='LimitTimeRun',
    @enabled=1,
    @description='warn in time',
    @Start_step_id=1,
    @notify_level_netsend=3,
    @notify_netsend_operator_name='wuqiuzhi'
      

  7.   

    不行吗??
    USE msdb
    EXEC sp_update_jobschedule @job_name = '作业名', 
       @name = '调度名',
       @enabled = 1     -----------------------------这里
      

  8.   

    我的确这样做了,但是只能启动而不能启用。
    现在我知道了问题的所在了,
    sp_update_jobschedule @job_name = '作业名', 
       @name = '调度名',
       @enabled = 1     ----是表示可以调度了。
    sp_update_job @job_name = '作业名', 
       @enabled = 1     ----是表示启用这个作业了。
    当禁用一个作业的时候,应该发生了
    sp_update_jobschedule @job_name = '作业名', 
       @name = '调度名',
       @enabled = 0     ----是表示不可以使用这个作业了。
    而我一直去修改
    sp_update_jobschedule @job_name = '作业名', 
       @name = '调度名',
       @enabled = 1 或者其他,所以一直达不到目的。感谢大力和浪人对我的热情帮助和提供的思路。