有一個(gè)會(huì)計(jì)朋友的電腦安裝了用友暢捷通T+軟件后,電腦的C盤隔斷時(shí)間就滿了,后來經(jīng)過 zzerp 的排查發(fā)現(xiàn)主要原因是SQL數(shù)據(jù)庫安裝目錄下的log文件夾下不斷生成臨時(shí)文件怎么辦?具體數(shù)據(jù)庫的安裝路徑為:x:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\下不斷生成:*.mdmp,*.txt,*.trc,ERRORLOG.* 文件,而且每一分鐘就能夠生成一批,導(dǎo)致占用電腦存儲(chǔ)空間,數(shù)據(jù)庫的安裝目錄爆滿,電腦無法開機(jī)如下圖所示:
在處理此問題的過程中用友軟件免費(fèi)下載網(wǎng)站還搜索到了如類似的此類問題:
1、數(shù)據(jù)庫的log下有好多mdmp文件,占用了好多電腦空間怎么辦,可不可以刪除?
2、后綴名為mdmp是什么文件?干什么用的?可以刪除嗎?
3、為什么數(shù)據(jù)庫安裝目錄下會(huì)產(chǎn)生大量SQLDump****.mdmp文件,導(dǎo)致硬盤沒有空間了?
4、也有數(shù)據(jù)庫升級(jí)后出現(xiàn)的,比如:SQL2005的數(shù)據(jù)庫升級(jí)2008以后,一直出現(xiàn):日志文件夾不斷生成SQLDump****.mdmp,導(dǎo)致C盤爆滿,電腦開機(jī)藍(lán)屏,得用啟動(dòng)盤去刪除這些文件再重啟電腦才行。
以上現(xiàn)象,都可以使用本文提供的解決方案進(jìn)行解決,基本是類似的,我們先來了解一下原因,可能的原因如下:
1、用友軟件的數(shù)據(jù)庫損壞(或者數(shù)據(jù)庫本身的系統(tǒng)庫)中存在置疑的數(shù)據(jù)庫。
2、數(shù)據(jù)庫監(jiān)測服務(wù)開啟,導(dǎo)致不斷產(chǎn)生回滾的事務(wù)日志。
3、數(shù)據(jù)庫系統(tǒng)庫索引出現(xiàn)損壞,導(dǎo)致不斷產(chǎn)生臨時(shí)文件。
那么,怎么解決這一類問題呢?我們需要一個(gè)個(gè)進(jìn)行排查。
第一種情況如下:
1、使用 dbcc checkdb 逐一檢查是否有數(shù)據(jù)庫存在一致性錯(cuò)誤,保證最終檢測結(jié)果為:發(fā)現(xiàn) 0 個(gè)分配錯(cuò)誤和 0 個(gè)一致性錯(cuò)誤。
2、如果存在數(shù)據(jù)庫損壞的情況,可以參考用友軟件數(shù)據(jù)庫修復(fù)的文章進(jìn)行修復(fù):http://bainianle.cn/shujuku/1458.html 。
注意:上述操作過程,是指需要針對(duì)所有的數(shù)據(jù)庫進(jìn)行排查,包括系統(tǒng)庫,用友財(cái)務(wù)軟件的所有賬套庫,都要排查到。
第二種情況如下:
1、除了保留數(shù)據(jù)庫主服務(wù):sql server(mssqlserver)服務(wù)外,將其他數(shù)據(jù)庫服務(wù)先全部停止,看看停止后還會(huì)不會(huì)生成臨時(shí)文件。
2、操作步驟:開始,運(yùn)行,輸入 services.msc,到達(dá)服務(wù)列表,找到數(shù)據(jù)庫的其他服務(wù),右擊,選停止。
第三種情況,針對(duì)所有數(shù)據(jù)庫進(jìn)行索引重建,注意,是所有數(shù)據(jù)庫,包括系統(tǒng)庫和用友暢捷通T+軟件的數(shù)據(jù)庫,全庫重建索引的語句如下:
EXEC SP_MSFOREACHTABLE 'DBCC INDEXDEFRAG(0,''?'')'
最后,如果上述方法仍然未解決,需要自行根據(jù)數(shù)據(jù)庫log目錄下的 errorlog.* 文件進(jìn)行排查,然后根據(jù)具體情況進(jìn)行分析,一般情況下,前面3種情況的方法都能夠順利解決SQL數(shù)據(jù)庫安裝目錄下的log文件夾下不斷生成臨時(shí)文件的問題。