一件關於資料庫日誌log的無聊事情

2021-05-22 19:13:57 字數 897 閱讀 2750

為何說是無聊的記錄呢?

因為事先把問題想複雜了,事後發現的時候覺得更是無聊的行為。還是寫下來,畢竟很少弄這麼無聊的事情。

事情起因是需要給伺服器做效能基數(baseline),用sqldiag 提取了大量的log資訊,當然這裡的資料庫日誌並不是指ldf檔案。當我開啟sql 2005或2008的物件資源管理器-->管理-->sql server 日誌察看發現日誌大約有百萬行,當然原因我就不說了。

日誌log資料太大怎麼辦?

先檢視日誌log如何被呼叫的,在tsql中執行

顯示結果為

有了存檔號,接著檢視某乙個日誌檔案異常大的log內容(圖中的異常日誌已經被清除了,所以這裡記錄的時候暫且認為存檔#為4的日誌是異常大檔案)

接下來看看存檔4的log內容,在tsql中執行

通常結果會返回如下圖的內容

話說到這兒,才開始我那愚蠢且無聊的做法。(直到現在我仍然認為這個做法相當怪異)

因為這個日誌log內容非常大,大約為數百萬行,導致用sqldiag提取的__sp_sqldiag_shutdown.out檔案大小有近2g。於是有清除這個日誌的想法,因為已經備檔(備檔的方式是將內容存為文字),所以可以清除日誌。

》裡的話說,我已經進入了神遊狀態,當然我自己絲毫沒有發覺。

隔日清晨,來到辦公室,當我下意識的開啟系統中下面路徑時,「密碼」被破譯了。其實只要刪除log目錄下errorlog以及一系列errorlog.1檔案即可。

x:/program files/microsoft sql server/mssql10.mssqlserver/mssql/log

其實我可以對自己說一句「神啊」,從結果看過程原來一切都是那麼簡單。

當然,為了清除這個日誌log內容,也有問一些朋友,不過他們都誤以為我要清除ldf日誌檔案。寫下來也是告訴自己:方向錯了,停下來就是前進!!

關於資料庫日誌log

先檢視日誌log如何被呼叫的,在tsql中執行 exec master.dbo.sp enumerrorlogs 顯示結果為 有了存檔號,接著檢視某乙個日誌檔案異常大的log內容 圖中的異常日誌已經被清除了,所以這裡記錄的時候暫且認為存檔 為4的日誌是異常大檔案 接下來看看存檔4的log內容,在ts...

log4j日誌儲存到資料庫

昨天公司說要在系統中新增日誌查詢統計功能,剛開始第乙個念頭就是用io流讀取日誌檔案,然後持久化,最後在系統中查詢。結果看了一些log4j的說明文件後發現,原來log4j本身就有將日誌資訊存入資料庫功能,這樣就大大節省了開發的時間,半天搞定。現在把方法記錄下來,希望對有需要的朋友有所幫助。一 前提條件...

自動備份mysql資料庫,並清空log日誌資料

周海漢 文 2010.3.17 mysql資料庫有幾個表分別記錄cpu等占用資訊的日誌,有大量記錄。這些日誌對於定位問題很重要,但如果沒有問題,則比較多餘。運維手工清除不僅麻煩,而且容易出錯。因此,寫乙個指令碼,放到crontab裡,定期備份和清除日誌。bin sh file root bcdb.s...