引起SQL數據庫超時的一種問題_動易Cms教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
錯誤信息是最常見的那種:Microsoft OLE DB Provider for SQL Server 錯誤 '80040e31' ([ODBC SQL Server Driver]超時已過期)
服務器上看CPU、內存,都非常非常的低呀,這么低的占用率也能導致超時!后來到處查看,后來在事件日志中看到一個非警告的日志:
其實此時找出一條正在阻塞的更新語句,在查詢分析器中執行,此時是沒有超時時間的。忍過幾分鐘,當這條語句執行完后,數據文件就會增長完成,所有的blocking也就解開了
服務器上看CPU、內存,都非常非常的低呀,這么低的占用率也能導致超時!后來到處查看,后來在事件日志中看到一個非警告的日志:
事件類型: 信息
事件來源: MSSQLSERVER
事件種類: (2)
事件 ID: 17055
日期: 2005-8-23
事件: 9:39:00
用戶: N/A
計算機: ********
描述:
5144:
數據庫 '*********' 中文件 '***********' 的自動增長在 453 毫秒后已取消或出現超時。使用 ALTER DATABASE 設置更小的 FILEGROWTH 或設置新的大小。
竟然是數據庫文件在增加的時候超時了!而不是平經常以為的具體的SQL語句超時。把 FILEGROWTH 設置為一個更低的值,ok 一切都恢復了。
FILEGROWTH 的設置就是在數據庫的 Enterprise Manager 中,對數據庫的屬性的如下窗口進行設置:
一旦你的數據庫文件大了后,上述超時就可能出現。這時候不要簡單地以為服務器壓力太大了。也許就是你的一個設置導致了超時。
默認SQL Server 在數據庫文件滿了后,是自動增加原數據庫文件的10%大小,用來繼續使用。
假如你的數據庫文件很大了,這時候麻煩就來了,因為大文件*10%,是很大的。
然后其它所有的新增操作都會報超時,而這時候其實CPU、內存占用率都非常非常的低。
假如你的數據庫文件很大了,這時候麻煩就來了,因為大文件*10%,是很大的。
然后其它所有的新增操作都會報超時,而這時候其實CPU、內存占用率都非常非常的低。
解決方法就是把上述的文件增長這里設置為一個更低的百分比或者直接指定增加多少兆字節。
這個問題,在企業的生產環境中經常碰到。不僅是數據文件滿會導致此問題,日志文件滿也一樣。某一條數據更新語句在數據庫或日志文件即將滿的時候執行,數據庫增長的IO操作會導致延時,此延時會阻塞其他數據庫操作,連鎖反應,形成blocking。
其實此時找出一條正在阻塞的更新語句,在查詢分析器中執行,此時是沒有超時時間的。忍過幾分鐘,當這條語句執行完后,數據文件就會增長完成,所有的blocking也就解開了
相關動易Cms教程:
- MAC錯誤的解決方法
- 如何屏蔽動易后臺導航里的某個功能菜單?
- 動易.NET版本留言自動選定欄目方法
- 動易SiteFactoty整合Discuz!NT3.0
- 在任意位置獲取根節點ID標簽
- 如何開啟SiteWeaver6.8的支持,反對功能
- Windows 2008安裝動易.NET系統之四----動易系統安裝篇
- Windows 2008安裝動易.NET系統之三----數據庫篇
- Windows 2008安裝動易.NET系統之二----IIS、目錄環境配置篇
- 數據庫修復,SQL Server 2005內部操作不一致的處理
- 如何安裝動易.net程序權限配置
- 為什么提示對Windows系統文件夾下的Temp目錄沒有訪問權限?
- 相關鏈接:
- 教程說明:
動易Cms教程-引起SQL數據庫超時的一種問題。