[英]TimeoutException in SQL Server 2005 migrated from SQL Server 2000
我最近將MSSQL服務器從2000版本更新到2005,以利用UDF並調整系統中的某些結果。 問題是我們沒有源代碼。
因此,我替換了SQL版本,並且一切正常。。。除非必須進行大型查詢。 我收到此錯誤:
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
我已經搜索過它,得到的是它曾經是CommandTimeout
問題,我必須以編程方式解決它,因為它應該在客戶端,但這很奇怪,因為即使在大型應用程序中它也總是有效查詢。
我的猜測是那不是客戶端,因為在SQL Server 2000中可以正常工作。
有什么辦法可以消除任何超時? 該系統完全是內部的,只有很少的人使用它,因此不存在中斷的風險...我更喜歡一個永遠運行的查詢,而不喜歡這個令人討厭的消息。
提前致謝!
升級后,您是否更新了所有統計信息?
將數據庫引擎升級到SQL Server 2005之后,請完成以下任務:
...
更新統計信息 -為了幫助優化查詢性能,建議您在升級后更新所有數據庫的統計信息。 使用sp_updatestats存儲過程可更新SQL Server 2005數據庫中用戶定義的表中的統計信息。
更新使用情況計數器 -在早期版本的SQL Server中,表和索引行計數以及頁數的值可能會變得不正確。 要更正任何無效的行數或頁數,建議您在升級后在所有數據庫上運行DBCC UPDATEUSAGE。
您可以在配置文件中或在設置連接時設置連接超時。
SqlCommand1.CommandTimeout = 400000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.