【IT专家网独家】问题:
采用SQL Agent的时候,有时候很难判断为什么任务作业会失败,或弄清楚到底发生了什么事情。SQL Server针对每一个作业步骤都会有一个记录信息,但是有时候还是不好弄清楚到底那一个步骤发生了什么。储存在任务记录里的默认信息为1024个字符,在大多数情况下,1024个字符足够记录任务信息,但是假如您需要运行一个很长的程式,就可能需要多余1024个字符才能记录完整的任务信息。有什么办法能够获得更长的作业步骤信息记录,并且如何才能清楚知道作业时发生的具体情况?
回答:
SQL Server 2005里能够记录超过1024个字符的SQL Agent作业输出信息存储于msdb.dbo.sysjobhistory表里。但是这个功能在默认配置里没有开启,您需要在每一个作业步骤里开启这一功能。
举个例子,我们在给数个数据库运行DBCC CHECKDB命令,运行这个命令的情况下,除非您使用WITH NO_INFOMSGS选项,否则会生成大量的输出数据。假如您没有使用WITH NO_INFOMSGS选项,那么命令的输出信息很快就会超过1024个字符,您最后能在作业历史记录信息里看到的只有输出信息的一部份。
下面就是运行DBCC CHECKDB命令获得的任务历史记录的屏幕捕获图像。您能够看到我们只能获得命令输出信息的一小部份。

要获得更多的输出信息,您需要在任务中的每一个任务步骤都开启一些配置,编辑任务步骤(Job Step)属性,选择Advanced高级选项卡。
在下面这个窗口里,您需要开启“Log to table”和“Include step output in history”两个选项。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




