SSMS 開啟巨大 ERRORLOG 極慢,需程式化過濾提取攻擊者 IP 封鎖防火牆。
-- 參數:檔案索引(0=目前)、日誌類型(1=SQL、2=Agent)、搜尋字串1、搜尋字串2
EXEC xp_readerrorlog 0, 1, 'Login failed', 'sa';
-- 進階:日期範圍 (SQL 2012+)
EXEC xp_readerrorlog 0, 1, 'Login failed', 'sa', '2023-01-01', '2023-01-02', 'DESC';
-- 取得預設追蹤檔案路徑
SELECT path FROM sys.traces WHERE is_default = 1;
-- 使用 fn_trace_gettable 讀取
SELECT LoginName, ClientHost, StartTime, TextData
FROM fn_trace_gettable('C:\...\log_123.trc', DEFAULT)
WHERE EventClass = 20 -- Audit Login Failed
AND LoginName = 'sa';
ERRORLOG, ERRORLOG.1~.6)。sp_cycle_errorlog / DBCC ERRORLOG 循環產生新檔。EXEC xp_enumerrorlogs (參數 1=SQL、2=Agent)。


