我需要在MS SQL Server中的一个sysjobxxx表上创建一个触发器,当插入作业记录时,需要触发该触发器。 例如。当jobA被执行时,一些sysjobxxx表(sysjobhistory,sysjobs,sysjobsteps)会插入记录。我的触发器需要 在表上构建,插入jobA的成功/失败信息。我认为sysjobhistory就是那个,但当我用失败的虚拟作业进行测试时,它插入了2条记录,而不是1条 - 这会触发我的触发器(插入时)两次而不是一次。
我想要完成的是获取作业失败的完整描述,每次作业失败并插入到sysjobxxx表中。 我知道有一个可以发送的电子邮件通知,但失败的描述被截断(到1024个字符),除非完整的查看历史记录'在工作中完成,无法看到完整的工作失败描述。
有没有办法可以在其中一个sysjobxxx表上创建一个触发器,在插入作业记录时,检查一列(我不知道哪一个 指示作业失败),然后发送一封电子邮件(直接从触发器内通过sp_sendmail或调用另一个存储的proc然后 使用完整的作业失败描述执行sp_sendmail)到收件人列表?