SQL Server代理作业崩溃

时间:2012-04-04 12:10:43

标签: sql sql-server-2005 sql-server-agent

运行带有SQL Server 2005的Windows 2003,每小时运行一次约85-90个作业(在不同时间),为服务器上托管的每个网站生成新的站点地图,以及取消发布页面。 / p>

我在服务器上遇到的问题是,服务器似乎分三个阶段运行,每天上午8点到下午6点之间运行,每天早上2-3点左右重启服务器。

一旦工作在早上开始,它们将成功运行大约90分钟(上午9:30),大约需要3-5秒才能完成工作。

9.30之后,作业将正确启动,然后停止执行(使用100%CPU)。

如果我手动停止作业,服务器将恢复正常,但之后作业将无法执行,从而引发错误。 (他们被改为每隔60分钟运行一次,而不是几个月前的每15分钟运行一次,但这些名字从未改变过)

Step ID     1
Server      [Server Name]
Job Name        Execute Replicate File For [website] web
Step Name       Vbscript for Replicate File  every 15Minutes
Duration        00:00:00
Sql Severity        0
Sql Message ID      0
Operator Emailed        
Operator Net sent       
Operator Paged      
Retries Attempted       0

Message
Executed as user: [Domain]\[User]. The step did not generate any output. 
The step failed.

有关正在运行的脚本的信息:它是VBScript

Dim IEObj 
Set IEObj=CreateObject("InternetExplorer.Application")
IEObj.Navigate "[weblink]/ReplicateFile.asp"
IEObj.visible=false
do Until IEObj.ReadyState=4
loop
IEObj.quit
Set IEObj=Nothing

@mellamokb - 脚本在常规设置中作为ActiveX脚本而不是T-SQL脚本关闭,因此我无法为错误指定输出文件。

注意:我没有在此服务器或正在复制的CMS上设置任何内容,而且我对数据库的了解相当低。

1 个答案:

答案 0 :(得分:0)

我的猜测是,您在浏览器中显示的页面[weblink] /ReplicateFile.asp在至少一个会话中出错。

代码

do Until IEObj.ReadyState=4
loop

在运行时会导致大量CPU使用。而且,更重要的是,如果浏览器永远不会进入ReadyState 4,则此代码将继续运行。将其中三个中的两个卡住,您将看到服务器上100%的CPU使用率。