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上设置任何东西,而且我对数据库的了解还很少。
我的猜测是,您在浏览器中显示的页面[weblink] /ReplicateFile.asp在至少一个会话中出错。
的代码在运行时
do Until IEObj.ReadyState=4
loop
会导致显著的CPU使用率。而且,更重要的是,如果浏览器永远不会进入ReadyState 4,那么这个代码将会持续运行。其中三个中的两个卡住了,您将在服务器上看到100%的CPU使用率。
这似乎是脚本中的问题,我制定了如何防止它完全锁定,一旦我停止了一项工作,那是由脚本创建的过程IE仍在运行,因此,任何新的作业无法创建他们的IE版本。 我正在寻找一种错误检查该循环的方法或对其添加时间限制,但我从不使用VBScript编写代码,只使用C#。 – ItWontWork 2012-04-04 14:16:59
安装详细日志记录,这样你可以得到一些有用的输出,看看是否有帮助:http://www.mssqltips.com/sqlservertip/1411/verbose-sql-server-agent-logging/ – mellamokb 2012-04-04 12:15:06
告诉我们更多关于这些工作。那些VBScripts?你能告诉我们来源吗?也许有一个错误导致他们进入无限循环? – surfen 2012-04-04 12:22:40