簡體   English   中英

SQL 服務器代理作業崩潰

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM