MSSQL Server Error Log Dosyasını Okumak

Bu makalede sql server error loglarını okurken filter özelliğini kullanmayı ele almış olacağız. Filter özelliği error log dosyamızın içinden geçen bir ifadenin  veya özelliğin çalışması şeklinde olmaktadır.

SQL Server Logs ifadesinin içinde hangi tarih aralığında olan bir değere bakmak istiyorsak ilgili log dosyasına sağ tıklanıp View SQL Server Log ifadesine girilir.

Gelen ekranda SQL Server  kısmında bulunan Archive #4 kısmında log dosyasını seçiyorum. Bu ekranda istediğimiz log dosyasını seçebiliriz. Alt tarafta dikkat edersek sql server agent log dosyalarımızıda seçebiliriz. Filter özelliği sql server agent log dosyalarındada aynıdır.

Aşağıda Sql Server Agent bölümünden de görebiliriz.

Daha sonra sağ üst tarafta bulunan Filter kısmına tıklıyoruz.

Gelen ekranda user ve computer kısmından kullanıcımızı ve bilgisayarımızı belirtebiliriz.

Data bölümünde ise log’un başlangıç ve bitiş tarihini belirtebiliriz.

General bölümünde  bulunan Message contains text kısmında aramak istediğimiz kelimeyi girebiliriz. Source, instance name ve event bölümünde gerekli konfigürasyon yapabiliriz. Belirli filtrelemeden sonra sol alt tarafta bulunan Apply filter kısmını işaretleyip belirlediğimiz filtrelemeleri uygulayabiliriz.

Message contains text kısmına filtreleyeceğimiz ifadeyi yazmamız yeterli. Sonuç olarak filtrelediğimiz değer dönmüş oldu.

İlgili tarihteki log’a tıkladığımızda alt tarafta log’la ilgili kayıtların bilgilerinide görmüş oluyoruz.

Aşağıdaki resimde ise filtrelediğimiz log kayıtlarını  sol üstte bulunan Export kısmında text uzantılı bir dosyaya kayıt edebiliriz.

İlgili kaydı açtığımızda filtrelemiş olduğumuz log kayıtlarının geldiğini görmüş oluyoruz.

Aşağıdaki ekranda Search kısmında ise  bir alt filtreleme yapabiliriz.

Error log dosyasını okumak için bir başka kullanılacak komut aşağıda belirtilmiştir. Bu komut ile hangi ifade aranmak isteniyorsa tırnak içerisine yazılabilir.

exec sp_readerrorlog 0,1,N'Login Failed'

Yukarıdaki kod parçasında 0 = geçerli günlük dosyası 1= bir ilk arşiv dosyası 2= 2. Arşiv dosyasını okuyacağımızı belirtmekteyiz. Virgülden sonraki ikinci kısımda ise 1 = SQL Server error log, 2 = SQL Server Agent günlüğünü belirtmektedir.

Bir tablo oluşturulup dönen sonucu bir tablo içerisine atabiliriz.

CREATE TABLE FailedLoginAttempts (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    LogDate DATETIME,
    ProcessInfo NVARCHAR(50),
    Message NVARCHAR(MAX)
);
--Tabloya verilerin atıldığı komut

INSERT INTO FailedLoginAttempts (LogDate, ProcessInfo, Message)
EXEC xp_readerrorlog 0, 1, N'Login failed';

Not olarak şunu belirtmek gerekirse sql server error log current klasörünün en altında sunucuma yüklü olan sql server’ın sürümünü göstermektedir. Yukarılara doğru bakarsak sunucu ve sql serverla  alakalı başka konfigürasyonlarıda görebiliriz.

Bu makalede sql server error loglarının nasıl okunması gerektiğini ele almış olduk.

Bir sonraki makalede görüşmek dileğiyle.

“Şüphesiz peygamberlerimize ve iman edenlere, hem dünya hayatında, hem şahitlerin şahitlik edecekleri günde yardım ederiz.” Mü’min Suresi; 51. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir