我希望获得最新的原始作业历史记录,并在每次完成作业后将其保存为我的格式。
我编写了一个存储过程来获取sp_help_jobhistory
的历史记录,然后格式化结果,然后将它们保存到新表中。
但是,何时调用此存储过程?
作业完成后是否有某些事件被触发?
也许还有其他一些解决方案。
感谢您的意见/答案。
答案 0 :(得分:0)
正如Akhil所说,只需在工作中添加一个步骤并确保其链接正确(假设您的工作链仅基于成功,最后一步成功,执行存储过程)。
答案 1 :(得分:0)
我尝试过这个解决方案,效果很好。 步骤1:将调用sp BeginHistoryLog,此sp将从[msdb]。[dbo]。[sysjobs] tabel按作业名称获取作业信息。此SP将初始数据写入JobHistory,记录历史消息。
第2步:将调用执行实际工作的sp。
步骤3:将调用SP EndHistoryLog,此SP将通过作业ID和步骤id从msdb.dbo.sysjobhistory和INNER JOIN [msdb]。[dbo]。[sysjobs]获取step2执行信息。这个sp会将执行信息写入JobHistory表。