為何說(shuō)是無(wú)聊的記錄呢? 因?yàn)槭孪劝褑栴}想復(fù)雜了,事后發(fā)現(xiàn)的時(shí)候覺得更是無(wú)聊的行為。還是寫下來(lái),畢竟很少弄這么無(wú)聊的事情。 事情起因是需要給服務(wù)器做性能基數(shù)(baseline),用sqldiag提取了大量的log信息,當(dāng)然這里的數(shù)據(jù)庫(kù)日志并不是指ldf文件。當(dāng)我打
為何說(shuō)是無(wú)聊的記錄呢?
因?yàn)槭孪劝褑栴}想復(fù)雜了,事后發(fā)現(xiàn)的時(shí)候覺得更是無(wú)聊的行為。還是寫下來(lái),畢竟很少弄這么無(wú)聊的事情。
事情起因是需要給服務(wù)器做性能基數(shù)(baseline),用sqldiag 提取了大量的log信息,當(dāng)然這里的數(shù)據(jù)庫(kù)日志并不是指ldf文件。當(dāng)我打開SQL 2005或2008的對(duì)象資源管理器-->管理-->SQL Server 日志察看發(fā)現(xiàn)日志大約有百萬(wàn)行,當(dāng)然原因我就不說(shuō)了。
日志log數(shù)據(jù)太大怎么辦?
先查看日志log如何被調(diào)用的,在TSQL中執(zhí)行
顯示結(jié)果為
有了存檔號(hào),接著查看某一個(gè)日志文件異常大的log內(nèi)容(圖中的異常日志已經(jīng)被清除了,所以這里記錄的時(shí)候暫且認(rèn)為存檔#為4的日志是異常大文件)
接下來(lái)看看存檔4的log內(nèi)容,在TSQL中執(zhí)行
通常結(jié)果會(huì)返回如下圖的內(nèi)容
話說(shuō)到這兒,才開始我那愚蠢且無(wú)聊的做法。(直到現(xiàn)在我仍然認(rèn)為這個(gè)做法相當(dāng)怪異)
因?yàn)檫@個(gè)日志log內(nèi)容非常大,大約為數(shù)百萬(wàn)行,導(dǎo)致用sqldiag提取的__sp_sqldiag_Shutdown.OUT文件大小有近2G。于是有清除這個(gè)日志的想法,因?yàn)橐呀?jīng)備檔(備檔的方式是將內(nèi)容存為文本),所以可以清除日志。
于是我就想找到這個(gè)log內(nèi)容是存放在數(shù)據(jù)庫(kù)MASTER的哪個(gè)表中,以便于干掉它。找來(lái)找去,只讓我看到xpstar.dll 和xpstar90.dll這些信息。既然是調(diào)用動(dòng)態(tài)鏈接庫(kù),我也要看看這個(gè)dll的內(nèi)容,于是從網(wǎng)上下載Reflector 和Depends 進(jìn)行反編譯,接著反編譯出錯(cuò)。
到這里,其實(shí)GOD已經(jīng)提醒我該走出去呼吸一下新鮮空氣再回來(lái)思考,結(jié)果我沒有那樣做。這段過(guò)程大約花費(fèi)近3個(gè)小時(shí)時(shí)間,用《 Becoming a Technical Leader 》里的話說(shuō),我已經(jīng)進(jìn)入了神游狀態(tài),當(dāng)然我自己絲毫沒有發(fā)覺。
隔日清晨,來(lái)到辦公室,當(dāng)我下意識(shí)的打開系統(tǒng)中下面路徑時(shí),“密碼”被破譯了。其實(shí)只要?jiǎng)h除log目錄下ERRORLOG以及一系列ERRORLOG.1文件即可。
X:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/Log
其實(shí)我可以對(duì)自己說(shuō)一句“神啊”,從結(jié)果看過(guò)程原來(lái)一切都是那么簡(jiǎn)單。
當(dāng)然,為了清除這個(gè)日志log內(nèi)容,也有問一些朋友,不過(guò)他們都誤以為我要清除ldf日志文件。寫下來(lái)也是告訴自己:方向錯(cuò)了,停下來(lái)就是前進(jìn)!!
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com