我们遇到的问题有点困难,让我尽我所能解释场景,问题以及我们所尝试的。如何获得SQL Server作业以重新启动?
- 我们有它记录到标有追加到结束日期的特定文件的SQL作业
- 第一步检查我们的日志文件是什么例如log_01012012.log,如果这是不正确的,我们更新表sysjobsteps以获得所有步骤的新文件位置 - 例如log_02012012.log。我们通过在第一个工作步骤中调用存储过程来完成此操作。
- 虽然这在表中得到更新,但剩余的步骤仍使用旧日志,这是由于我假定该表只在作业启动时读取一次。
我们试图用下面的代码存储的过程中重新启动作业:
EXEC msdb.dbo.sp_stop_job @job_name = 'My Job'
waitfor delay '00:00:15'
EXEC msdb.dbo.sp_start_job @job_name = 'My Job'
然而,当我们终止作业显示为它杀死的存储过程(我猜是这意味着它永远不会重新开始工作。
有没有一种方法可以使作业自行重新启动,以便再次查看sysjobsteps表并使用正确的位置进行日志记录?
事情可能会解决这一问题将是
- 能够从工作本身
- 如果能够刷新工作在某些方面重新开始工作。
任何我需要澄清我会尽我所能,但我们目前卡住,所有的输入将不胜感激!
嗨,Rhian,我们不需要定期运行这个工作,它是检查一个条件的第一步,如果遇到了更新sysjobsteps表,那么意味着我们必须重新启动它才能执行剩下的步骤新的价值 – purchas