我的網站正確運行在IIS下。但工作很長時間後。它開始給出超時錯誤,看起來像是在忙於其他工作。但是SQL服務器運行在我的本地主機上,除了當前的應用程序以外,沒有服務器使用/加載。獲取錯誤「超時已過期,操作完成或服務器沒有響應之前已超時。」
「超時過期。之前的操作的完成超時時間已過或服務器未響應」。
做系統重啓後只有我能繼續我的工作。需要幫助。在此先感謝
我的網站正確運行在IIS下。但工作很長時間後。它開始給出超時錯誤,看起來像是在忙於其他工作。但是SQL服務器運行在我的本地主機上,除了當前的應用程序以外,沒有服務器使用/加載。獲取錯誤「超時已過期,操作完成或服務器沒有響應之前已超時。」
「超時過期。之前的操作的完成超時時間已過或服務器未響應」。
做系統重啓後只有我能繼續我的工作。需要幫助。在此先感謝
這聽起來像是你正在執行超時。如果你達到這個門檻,你可能想要做一些分析,看看是否有性能瓶頸。要解決這個問題,你可以在web.config
指定執行超時:
<httpRuntime executionTimeout="180" /> <!-- in seconds -->
要更改SQL Server中的執行超時轉到服務器屬性:
http://img197.imageshack.us/img197/3152/srvrprops.png
在這裏看到更多詳細信息:
Changing the CommandTimeout in SQL Management studio
HTTP運行時執行超時與SQL Server的超時無關。另外,在SQL Server Management Studio中更改執行超時不會影響從Management Studio外部執行的SQL查詢。這純粹是Management Studio設置,而不是SQL Server設置。 –
@JakobChristensen:更新了插圖,用於設置查詢超時。 –
看起來像它會做的伎倆 –
最後通過從過程緩存中清除執行計劃來解決此問題。
要清除計劃緩存中運行以下腳本...
SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
where objtype = 'Proc' AND st.[text] like '%[Enter stored procedure name here]%'
如果存儲過程中你的結果應該是這樣的緩存中存在:
從結果返回替換 plan_handle在下面的示例中...
-- Remove the specific execution plan from the cache.
DBCC FREEPROCCACHE (0x050017005CBF201940A1CE91000000000000000000000000);
GO
更多信息here
請發表一個例子作爲代碼,而不是鏈接 – jev
我已經使用了重新編譯來解決這個問題。
EXEC sp_recompile N'myproc'
聽起來像是你有泄漏的地方。你的網站在做什麼?你可以發佈代碼嗎? – zimdanen
什麼是資源利用率統計數據,例如當這個盒子正在工作還是超時時?您是否正在使用IIS服務器或SQL Server消耗大量內存?處理器是否掛鉤? –