SQL Server代理作业崩溃

问题描述:

运行带有SQL Server 2005的Windows 2003,其中大约85-90个作业每小时运行一次(在不同时间),为服务器上托管的每个网站生成新的站点地图以及un - 发布网页。SQL Server代理作业崩溃

我与服务器有关的问题是,服务器似乎分三个阶段运行,每天早上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上设置任何东西,而且我对数据库的了解还很少。

+0

安装详细日志记录,这样你可以得到一些有用的输出,看看是否有帮助:http://www.mssqltips.com/sqlservertip/1411/verbose-sql-server-agent-logging/ – mellamokb 2012-04-04 12:15:06

+0

告诉我们更多关于这些工作。那些VBScripts?你能告诉我们来源吗?也许有一个错误导致他们进入无限循环? – surfen 2012-04-04 12:22:40

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

的代码在运行时

do Until IEObj.ReadyState=4 
loop 

会导致显著的CPU使用率。而且,更重要的是,如果浏览器永远不会进入ReadyState 4,那么这个代码将会持续运行。其中三个中的两个卡住了,您将在服务器上看到100%的CPU使用率。

+0

这似乎是脚本中的问题,我制定了如何防止它完全锁定,一旦我停止了一项工作,那是由脚本创建的过程IE仍在运行,因此,任何新的作业无法创建他们的IE版本。 我正在寻找一种错误检查该循环的方法或对其添加时间限制,但我从不使用VBScript编写代码,只使用C#。 – ItWontWork 2012-04-04 14:16:59