写入SQL代理作业的历史记录

时间:2009-12-21 16:39:39

标签: vbscript scheduled-tasks sql-server-agent

刚刚创建了一个SQL代理作业,我认为能够将一些信息写入作业的历史记录是很方便的,以防我想稍后检查。

我在这个实例中使用了VBScript,并注意到我可以使用Error对象在历史记录中记录信息,例如:

Err.Raise 999, "The code died"

如果您右键单击该作业并选择“查看历史记录”,则可以查看错误编号和说明。

但成功完成怎么样?我可以Return以某种方式获得价值吗?如果说“在处理34个文件后完成确定”或其他什么,那就太好了。

这次我对VBScript的答案很感兴趣,但是如果你知道如何用T-SQL或CmdExec来做这件事会有所帮助,以防万一。感谢。

1 个答案:

答案 0 :(得分:2)

如果在SQL作业中使用VBScript,最好将VBScript保存为.vbs文件,并使用CmdExec作业步骤执行它,如下所示

CScript c:\test.vbs

然后,在.vbs文件中,您可以使用WScript.Echo命令显示消息

WScript.Echo "This is a test"

如果要双击.vbs文件,它将显示一个消息框,但是当使用SQL作业中的CScript.exe执行时,应将echo输出写入作业的历史记录以供您查看。

请注意,尝试在具有VBScript作业步骤的SQL作业中直接使用WScript.Echo不起作用。

如果您使用的是T-SQL步骤,则只需使用PRINT语句,因为这将写入历史记录。