通常資料庫發生了什麼情況,第一步大都會去查看SQL Error Log檔曾經紀綠了什麼事件,
因此如果可以寫個排程透過SQL指令讀取Log,並且分析找出特定事件的發生,
便可以即時通知相關人員進行處理。
我常用的指令介紹如下:
sp_readerrorlog
後面可以接四個參數
參數 | 預設值 | 說明 |
---|---|---|
@p1 | 0 | 讀取目前在使用的Log檔 |
@p2 | NULL | 1是讀取SQL Server Error Log檔,2是讀取SQL Agent Log檔 |
@p3 | NULL | 搜尋關鍵字 |
@p4 | NULL | 同樣也是搜尋關鍵字 |
使用範例: | ||
如此一來就抓出了特定帳號登入失敗的情況。
以上的介紹,如果可以透過Store Procedure和SQL Agent的定期執行排程,
相信可以減少日常查看這些記錄檔的時間,如此一來也能做到比較自動化的管理方式。