2015年3月12日 星期四

查詢SQL Server ERROR LOG

/*查詢SQL Server ERROR LOG,18456 (帳號密碼錯誤), 18487(密碼過期),錯3次以上,
可用StartTime籂選區間條件,可替換ERROR查詢不同錯誤,可塞入Table自動發信*/

DECLARE @path varchar(max)
DECLARE @s1 varchar(max)
SELECT @path = path FROM sys.traces
SELECT HostName , LoginName, ApplicationName, StartTime, ServerName, Error, TextData
FROM fn_trace_gettable(@path, default)
WHERE Error IN ( 18456, 18487 )
AND LoginName IN (
SELECT LoginName
FROM fn_trace_gettable(@path, default)
WHERE Error IN ( 18456, 18487 )
GROUP BY LoginName
HAVING COUNT(*) > 2 )

/*未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。請改用擴充事件。*/

沒有留言:

張貼留言