SQL Server作业完成后是否有任何事件?

时间:2012-05-08 00:44:43

标签: sql-server jobs

我希望获得最新的原始作业历史记录,并在每次完成作业后将其保存为我的格式。 我编写了一个存储过程来获取sp_help_jobhistory的历史记录,然后格式化结果,然后将它们保存到新表中。

但是,何时调用此存储过程?

作业完成后是否有某些事件被触发?

也许还有其他一些解决方案。

感谢您的意见/答案。

2 个答案:

答案 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表。