SQL Server’da Önceki Haftanın Başarısız Oturum Açma Listesini Getiren Prosedür

Herkese merhaba,

Bu yazıda SQL Server’da önceki haftanın başarısız oturum açma listesini getiren prosedür hakkında bilgi vereceğim.

SQL Server’da başarısız oturum açma girişimlerini takip etmek güvenlik açısından da oldukça önemlidir.

Aşağıdaki prosedür yardımıyla siz de başarısız oturum açma işlemlerini takip edebilirsiniz.

CREATE PROC sp_OncekiHaftaninBasarisizOturumAcmaListesi
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @ErrorLogCount INT;
    DECLARE @LastLogDate DATETIME;

    DECLARE @ErrorLogInfo TABLE
    (
        LogDate DATETIME,
        ProcessInfo NVARCHAR(50),
        [Text] NVARCHAR(MAX)
    );

    DECLARE @EnumErrorLogs TABLE
    (
        [Archive#] INT,
        [Date] DATETIME,
        LogFileSizeMB INT
    );

    INSERT INTO @EnumErrorLogs
    EXEC sp_enumerrorlogs;

    SELECT @ErrorLogCount = MIN([Archive#]),
           @LastLogDate = MAX([Date])
    FROM @EnumErrorLogs;

    WHILE @ErrorLogCount IS NOT NULL
    BEGIN

        INSERT INTO @ErrorLogInfo
        EXEC sp_readerrorlog @ErrorLogCount;

        SELECT @ErrorLogCount = MIN([Archive#]),
               @LastLogDate = MAX([Date])
        FROM @EnumErrorLogs
        WHERE [Archive#] > @ErrorLogCount
              AND @LastLogDate > GETDATE() - 1;

    END;

    SELECT COUNT(Text) AS NumberOfAttempts,
           Text AS Details,
           MIN(LogDate) AS MinLogDate,
           MAX(LogDate) AS MaxLogDate
    FROM @ErrorLogInfo
    WHERE ProcessInfo = 'Logon'
          AND Text LIKE '%fail%'
          AND LogDate > GETDATE() - 1
    GROUP BY Text
    ORDER BY NumberOfAttempts DESC;

    SET NOCOUNT OFF;
END;


--Kullanımı

EXEC sp_OncekiHaftaninBasarisizOturumAcmaListesi;

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

237 Kez Okundu