Mamy czasem problem by przejrzeć błędy w ErrorLogu MS SQL Server. Poniżej prosty skrypt, który przeszukuje wpisy w errorlogu od danego dnia, szukając podciąg znaków (opcja).
SET NOCOUNT ON
DECLARE @maxLog INT,
@searchStr VARCHAR(256),
@startDate DATETIME;
--------------------------------
SELECT @searchStr = 'Error:',
@startDate = '2025-03-08 09:00';
DECLARE @errorLogs TABLE (
LogID INT,
LogDate DATETIME,
LogSize BIGINT );
DECLARE @logData TABLE (
LogDate DATETIME,
ProcInfo VARCHAR(64),
LogText VARCHAR(MAX) );
INSERT INTO @errorLogs
EXEC sys.sp_enumerrorlogs;
SELECT TOP 1 @maxLog = LogID
FROM @errorLogs
WHERE [LogDate] <= @startDate
ORDER BY [LogDate] DESC;
WHILE @maxLog >= 0
BEGIN
INSERT INTO @logData
EXEC sys.sp_readerrorlog @maxLog, 1, @searchStr;
SET @maxLog = @maxLog - 1;
END
SELECT [LogDate],[ProcInfo], [LogText]
FROM @logData
WHERE [LogDate] >= @startDate
ORDER BY [LogDate];