警惕數(shù)據(jù)庫自增長(zhǎng)導(dǎo)致系統(tǒng)宕機(jī)
故障現(xiàn)象:
1、電腦運(yùn)行緩慢,幾乎不能操縱
2、此數(shù)據(jù)源支持的web程序已down,暴露出來的Error:獲得連接超時(shí)。
3、本地連接數(shù)據(jù)庫沒有問題,但是本地的Web程序居然獲得不了數(shù)據(jù)連接
4、CPU利用率、內(nèi)存占用并不高
系統(tǒng)出現(xiàn)當(dāng)機(jī)的可能性很多,造成了確定原因很困難。只能地毯式搜索。
1、系統(tǒng)已經(jīng)進(jìn)行了全面的查毒、查木馬操作,沒有發(fā)現(xiàn)可疑文件,系統(tǒng)補(bǔ)丁也及時(shí)進(jìn)行修復(fù),被人掛馬的可能性不大。
根據(jù)系統(tǒng)的LOG進(jìn)行排查:
2、遠(yuǎn)程登錄加載的程序錯(cuò)誤。盡管爆出多次錯(cuò)誤,但不致于數(shù)據(jù)庫連接中斷。同樣出現(xiàn)類似問題的其它機(jī)器并未出現(xiàn)宕機(jī)。
3、日志自動(dòng)增長(zhǎng)超時(shí),這個(gè)可能性很大。在兩次系統(tǒng)當(dāng)機(jī)前,這個(gè)Error曝出的最多,而且系統(tǒng)正常之后,此類ErrorLog消失。
錯(cuò)誤信息:
原因分析:
默認(rèn)SQL Server 在數(shù)據(jù)庫文件滿了后,是自動(dòng)增加原數(shù)據(jù)庫文件的10%大小,用來繼續(xù)使用。還有日志文件,同樣如此。假如你的數(shù)據(jù)庫文件很大了,文件再增加10%,將會(huì)是一種較大的負(fù)擔(dān)。
經(jīng)查詢,其中一數(shù)據(jù)庫的日志文件已經(jīng)有2.37GB之多,如果增加10%,就要增加超過200MB,需要較長(zhǎng)的時(shí)間時(shí)間來完成,這種操作很可能超時(shí)。然后其它的插入、更新、查詢操作產(chǎn)生連鎖反應(yīng)。而且,還有定時(shí)器,在不斷進(jìn)行數(shù)據(jù)訪問,如果出現(xiàn)超時(shí),則很有可能出現(xiàn)死鎖,致使w3wp.exe進(jìn)程中線程數(shù)明顯增加。
如果數(shù)據(jù)庫在事務(wù)中進(jìn)行更新操作時(shí),而恰巧此時(shí),日志空間不足,需要增加10%的日志空間,而數(shù)據(jù)庫事務(wù)執(zhí)行超時(shí)時(shí)間默認(rèn)為30秒,這時(shí)如果操作超時(shí),事務(wù)將進(jìn)行回滾,此時(shí),其它的數(shù)據(jù)庫操作會(huì)產(chǎn)生連鎖反應(yīng),形成阻塞。
小型實(shí)驗(yàn):為了證明這個(gè)問題,簡(jiǎn)單做了一個(gè)小例子,設(shè)置:日志滿后自動(dòng)增加1G的空間。結(jié)果,也出現(xiàn)了此類錯(cuò)誤,而且在此期間,不能對(duì)數(shù)據(jù)庫進(jìn)行任何操作。
MSDN相關(guān)介紹:
如果您運(yùn)行的事務(wù)需要的日志空間大于可用空間,并且您已經(jīng)為該數(shù)據(jù)庫的事務(wù)日志打開自動(dòng)增長(zhǎng)選項(xiàng),則在完成事務(wù)所花費(fèi)的時(shí)間中,有一部分是事務(wù)日志按配置量增長(zhǎng)所花費(fèi)的時(shí)間。如果該增長(zhǎng)量很大,或者有其他因素導(dǎo)致時(shí)間延長(zhǎng),則您在其中打開事務(wù)的查詢可能因超時(shí)錯(cuò)誤而失敗。數(shù)據(jù)庫的數(shù)據(jù)部分的自動(dòng)增長(zhǎng)可能會(huì)造成此類問題。 http://support.microsoft.com/kb/315512/zh-cn
解決方法:將文件增長(zhǎng)設(shè)置為一個(gè)更低的百分比或者直接指定增加多少兆字節(jié)。
事件類型: 信息
事件來源: MSSQLSERVER
事件種類: (2)
事件 ID: 5144
日期: 2009-3-3
事件: 11:57:18
用戶: N/A
描述:
數(shù)據(jù)庫 'databaseName' 中的文件 'databaseName_log' 的自動(dòng)增長(zhǎng)已由用戶取消,或已在 30687 毫秒后超時(shí)。請(qǐng)使用 ALTER DATABASE 為此文件設(shè)置較小的 FILEGROWTH 值,或顯式設(shè)置新的文件大小。
有關(guān)更多信息,請(qǐng)參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支持中心。
認(rèn)真查閱了一些資料,在網(wǎng)絡(luò)中也得到幾位同病者的提供的分析結(jié)果,基本已經(jīng)確定了問題的所在。
【編輯推薦】