[英]SQL Server Agent Jobs Crashing
在 SQL Server 2005 上运行 Windows 2003,大约每小时运行一次(在不同时间)约 85-90 个作业,为服务器上托管的每个网站生成新站点地图,以及未发布的页面。
我在服务器上遇到的问题是,服务器似乎分三个阶段运行,作业在每天上午 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 脚本关闭,因此我无法为错误指定 output 文件。
注意:我没有在此服务器或它正在复制的 CMS 上设置任何东西,而且我对数据库的了解相当低。
我的猜测是您在浏览器中显示的页面 [weblink]/ReplicateFile.asp 至少在一个会话中出错。
代码
do Until IEObj.ReadyState=4
loop
运行时会导致大量的 CPU 使用率。 而且,更重要的是,如果浏览器永远不会进入 ReadyState 4,这段代码将永远运行下去。 如果其中三个中的两个卡住,您将看到服务器上的 CPU 使用率为 100%。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.