在 SQL Server 2005 的 SQL Server 代理中,我有一个只有一个步骤的作业,即运行一个存储过程。
当存储过程运行完成时,它会产生大约 500 条消息(不包括空行)。
当作业运行时,历史记录总是会将消息截断为存储过程生成的非常小的样本。当作业成功时,这没什么问题,但当作业失败时,就会出现问题,因为通常不会包含解释失败的消息。
对于失败作业的任何给定步骤,是否有办法获取以下任一项?
- 所有消息;或
- 最后几条消息,其中应包含失败详细信息。
我注意到,我在作业历史记录中看到的所有消息都是警告,详细信息为“聚合或其他 SET 操作消除了空值”,对于此存储过程可以忽略这些消息。有没有办法让历史记录仅包含更严重的错误并忽略警告?
答案1
至于使历史记录仅包含更严重的错误并忽略警告,我没有解决方案……但为了包含整个消息:
我会进入该工作的高级部分。
选择“失败时:退出报告失败的作业”,然后选择“输出文件”选项将其输出到文件,或选择“记录到表”选项。
其中任何一个都不应该像历史记录那样截断到 1024。