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