2011-03-14 81 views
3

我們有生產服務器數據庫和Widnows客戶端項目。突然間,我們在查詢數據庫時遇到了這個錯誤。完成操作或服務器沒有響應之前已超時的時間

「之前完成上述操作超時時間已過或服務器沒有響應」

我們怎樣才能從數據庫端/ C#的Windows解決呢?

感謝, Velusamy

+0

您需要提供更多信息才能獲得有用的答案。 – cairnz 2011-03-14 19:50:23

回答

5

快速和骯髒的答案:設置SqlCommand.CommandTimeout到一個更高的價值。

長的答案:

  • 運行在SSMS查詢以「顯示實際執行計劃」開啓。檢查結果索引提示。
  • 檢查數據庫服務器日誌可疑事件
  • 驗證的統計數據並沒有過時的

此查詢顯示統計的年齡:

SELECT Object_Name(ind.object_id) 
,  ind.name 
,  STATS_DATE(ind.object_id, ind.index_id) 
FROM SYS.INDEXES ind 

查詢優化器使用統計信息時,它選擇如何執行查詢。如果統計數據比較陳舊,可能會造成(真的)不好的選擇。

相關問題