【发布时间】:2014-02-03 16:43:59
【问题描述】:
是否可以在作业历史消息中记录来自 SQL Server 代理作业的自定义消息? 如果不是,那么做这种事情的最佳方法是什么?
【问题讨论】:
标签: sql-server tsql sql-agent-job sql-agent
是否可以在作业历史消息中记录来自 SQL Server 代理作业的自定义消息? 如果不是,那么做这种事情的最佳方法是什么?
【问题讨论】:
标签: sql-server tsql sql-agent-job sql-agent
对于 T-SQL 作业步骤,您可以使用 print 语句。对于 CmdExec 步骤,请在可执行文件中使用 Console.Writeline。如果有很多输出,那么默认情况下 SQL Agent 不会保留所有的,只会保留一定数量的字符。要让它保留一个步骤的所有输出,请转到步骤属性高级,然后选中“在历史记录中包含步骤输出”复选框。
【讨论】:
我已经有一段时间没有这样做了,但我相信由作业执行的代码中的 PRINT 语句生成的文本最终会出现在历史记录表中。如果这不起作用,那么严重性小于 11 的 RAISERROR 应该这样做。 (11 岁及以上肯定会,但随后作业会被标记为失败。)
【讨论】: