2012-04-04 111 views
0

運行帶有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

回答

0

我的猜測是,您在瀏覽器中顯示的頁面[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