Sql Server 數據庫超時問題
- 來源:縱橫數據
- 作者:中橫科技
- 時間:2013/2/21 14:28:11
- 類別:新聞資訊
1.由于數據庫設計問題造成SQL數據庫新增數據時超時 特別注意:本站所有轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系
癥狀: !
Microsoft OLE DB Provider for SQL Server 錯誤 '80040e31' ([ODBC SQL Server Driver]超時已過期); .
服務器上看CPU、內存占用率很低; 特別注意:本站所有轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系
事件日志中提示: 數據庫 '*********' 中文件 '***********' 的自動增長在 453 毫秒后已取消或出現超時。使用 ALTER DATABASE 設置更小的 FILEGROWTH 或設置新的大小。 。
原因: .
數據庫設置時,[文件增長]按百分比來增長,當數據庫文件很大時(1G以上),新增操作都會報超時,而這時候其實CPU、內存占用率都非常非常的低。 ..
解決方法: 版權申明:本站文章均來自網絡.
把上述的文件增長這里設置為一個更低的百分比或者直接指定增加多少兆字節。 !
2.SQL Server數據庫超時設置 .
修改客戶端的連接超時設置。默認情況下,通過企業管理器注冊另外一臺SQL Server的超時設置是 4 秒,而查詢分析器是 15 秒。 。
企業管理器中的設置: .
A、在企業管理器中,選擇菜單上的"工具",再選擇"選項"; ...
B、在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡; .
C、在"連接設置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數字,如 30。 ..
查詢分析器中的設置: .
單擊“工具”->"選項"->"連接"; 將登錄超時設置為一個較大的數字,連接超時改為0。 對真正的成功者來說,不論他的生存條件如何,都不會自我磨滅
3.查詢語句時超時 ..
原因分析: ..
查詢超時一般來說首先要從sql語句和數據表的結構上找原因,優化sql語句和為數據庫的查詢字段建索引是最常用的辦法。 對真正的成功者來說,不論他的生存條件如何,都不會自我磨滅
另外,數據庫的查詢超時設置一般是sqlserver自己維護的(在你沒有修改query wait配置前),只有當你的實際查詢時間超過估計查詢時間的25倍時,才會超時。 ..
而造成超出估計值那么多的原因有兩種可能: .
一是估計時間不準確; 。
二是sql語句涉及到大量占用內存的查詢(如排序和哈希操作),內存不夠,需要排隊等待資源造成的。 .
解決辦法: .
A.優化語句,創建\使用合適的索引; !
B.解決第一個問題的方法,更新要查詢表的索引分發統計,保證估計時間的正確性,UPDATE STATISTICS