f T-SQL 查看SQL Server 系統記錄檔 ~ 迪貝之家

T-SQL 查看SQL Server 系統記錄檔

不是SSMS就可以看log了嗎 ?? 對...沒錯!!但當你的log裡頭包含了幾千或幾萬行的記錄時,用scroll bar慢慢往下拉,你要看到甚麼時候??我的DBA生涯,沒有碰過只管幾個資料庫的狀況,如果你真那麼lucky,那你就慢慢拉...慢慢看!!我抓了我手上一個系統的貼圖出來給大家參考看看,每分鐘拋出兩筆login failed的記錄,client我確認過,是 AP Server IP, 我不知道為何他們要用sa登入資料庫?? 詢問過AP單位,他們說沒有阿!! 我們哪有用sa帳號............恩!!客戶的外包廠商,又能夠說什麼哩!

sql server log

















程式我是google來的,改一改就成了我自己的,如果你有需要, 歡迎你拿回去依據你的需求進行修改。

DECLARE @fliecnt int
DECLARE @tbFile TABLE (myfilecnt int, myfiledate datetime, myfilesize int)
DECLARE @tbLog TABLE (rid INT IDENTITY, LogDate datetime, ProcessInfo nvarchar(10),Text nvarchar(3950))

INSERT @tbFile EXEC master.dbo.sp_enumerrorlogs

SELECT @fliecnt =MAX(myfilecnt) FROM @tbFile

WHILE (@fliecnt >=0)
BEGIN
 INSERT @tbLog EXEC master.dbo.xp_readerrorlog @fliecnt,1,N'錯誤'
 INSERT @tbLog EXEC master.dbo.xp_readerrorlog @fliecnt,1,N'Failed'
 INSERT @tbLog EXEC master.dbo.xp_readerrorlog 0,1,N'Server is listening on'
 SET @fliecnt = @fliecnt -1
END

SELECT LogDate N'記錄時間', ProcessInfo N'來源', Text N'訊息'
FROM @tbLog
where logdate between getdate() -1.5 and getdate()
and  processinfo not in ('登入' ,'Logon')
ORDER BY rid DESC

杜書伍:懶而美的文明 ,他說的沒錯,就是懶才會想辦法解決麻煩進步來自於人性,懶就是人的天性!! 誰不怕麻煩.........