服務(wù)器c盤空間不夠,先刪掉了IIS日志,發(fā)現(xiàn)sql數(shù)據(jù)庫居然也占用了幾十G的空間,ErrorLog文件特別大,想手動(dòng)刪除,結(jié)果還刪除不了,文件在 MSSQL C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG 目錄下存放這一些日志文件,一共是7個(gè),常常會(huì)因?yàn)檫@些日志文件不斷增大而導(dǎo)致C盤沒有空間,我的這些日志曾經(jīng)就達(dá)到過12G,嚇?biāo)牢伊耍?/p>
sql2005的 error一共有6個(gè),從errorlog,errlog.1一直到errorlog.6貌似是7個(gè)。。執(zhí)行一次EXEC sp_cycle_errorlog就會(huì)產(chǎn)生一個(gè)新的errorlog,然后把errorlog.6給刪掉。就是先進(jìn)先出(隊(duì)列類似的情況)這樣循環(huán)6次 就可以把errorlog都刷新一遍。老的那個(gè)就被刪掉了。
找了一些辦法都不能清除這些日志信息,網(wǎng)上有說用Maintenance Plans( 維護(hù)計(jì)劃 )功能的,但我發(fā)現(xiàn)我的維護(hù)計(jì)劃用不了,沒辦法,只得另尋其他途徑。
直接刪除吧,又擔(dān)心有什么后顧之憂!!
最后發(fā)現(xiàn)一個(gè)很簡(jiǎn)單好用的方法,分享如下:
sql2005的error一共有7個(gè),從errorlog,errlog.1一直到errorlog.6
要清除這些日志文件的內(nèi)容,可以在新建查詢里執(zhí)行下面語句:
EXEC sp_cycle_errorlog
每執(zhí)行一次就會(huì)產(chǎn)生一個(gè)新的errorlog,首先刪除errorlog.6,依次往下刪,就是先進(jìn)先出(隊(duì)列類似的情況)
這樣連續(xù)執(zhí)行7次就可以把errorlog都刷新一遍。老的那些就被刪掉了。
最后看了系統(tǒng)的日志,發(fā)現(xiàn)這些錯(cuò)誤日志是由于一些莫名其妙的主機(jī)不斷的在連我的服務(wù)器,審核不成功產(chǎn)生的。
由于默認(rèn)情況下,SQL Server 保存 7 個(gè) ErrorLog 文件,名為:
ErrorLog
ErrorLog.1
ErrorLog.2
ErrorLog.3
ErrorLog.4
ErrorLog.5
ErrorLog.6
--清除 SQL Server 錯(cuò)誤日志文件 存檔
EXEC sp_cycle_errorlog
GO
執(zhí)行一次EXEC sp_cycle_errorlog就會(huì)產(chǎn)生一個(gè)新的errorlog,然后把errorlog.6給刪掉。就是先進(jìn)先出(隊(duì)列類似的情況)這樣循環(huán)6次就可以把errorlog都刷新一遍。
看了系統(tǒng)的日志,發(fā)現(xiàn)這些錯(cuò)誤日志是由于有人不停的嘗試破解sa密碼所造成的。
找到根源后,將sa賬戶密碼設(shè)置的復(fù)雜點(diǎn),然后在關(guān)閉掉sa用戶。這樣就萬保了。
記得操作前備份!!!!!!
執(zhí)行一次EXEC sp_cycle_errorlog就會(huì)產(chǎn)生一個(gè)新的errorlog去覆蓋舊errorlog。只要循環(huán)7次就可以把errorlog都覆蓋一遍。
用EXEC sp_cycle_errorlog來生成errorlog用以限制errorlog大小這招說實(shí)話真的很好使!網(wǎng)絡(luò)上的高人果然數(shù)不勝數(shù)!佩服佩服。