blog.Mainzer Datenfabrik

SQL-Server Fehleranalyse

cover image of blog article 'SQL-Server Fehleranalyse'

Error Logs, System Event Logs, profiler Data oder Performance counter data? Was sollte die erste Anlaufstelle sein, wenn Sie schnellstmöglich Ihren Bug in den Logs finden und beheben möchten? Diese Frage ist nicht immer ganz einfach - aus diesem Grund erklären wir Ihnen in diesem Artikel, wie Sie dabei vorgehen sollten!

Die oben aufgeführten Tools bieten die Möglichkeit, unterschiedlichste Vorkommen einer SQL-Server Instanz zu analysieren. Dabei fallen jedoch schnell so viele Daten an, dass es kaum noch möglich ist, diese effizient zu nutzen. Die Lösung hierfür kann es sein, sich seinen eigenen Filter zu erstellen, der einem nur die Informationen bereitstellt, die für Sie vonnöten sind:

DROP TABLE IF EXISTS #errorLog;  -- neuer Syntax seit SQL Server 2016

CREATE TABLE #errorLog (LogDate DATETIME, ProcessInfo VARCHAR(64), [Text] VARCHAR(MAX));

INSERT INTO #errorLog
EXEC sp_readerrorlog 6    -- Log Nummer spezifizieren
SELECT * 
FROM #errorLog a
WHERE EXISTS (SELECT * 
              FROM #errorLog b
              WHERE [Text] like 'Error:%'
                AND a.LogDate = b.LogDate
                AND a.ProcessInfo = b.ProcessInfo)

Der angegebene Parameter nach

sp_readerrorlog

bestimmt welche Log Datei Sie abfragen möchten. In SSMS ist es möglich diese Ziffer herauszufinden.

Log Datei

Wenn Sie keinen Parameter oder 0 angeben, wird ein fortlaufendes Log angezeigt. Dies ist hilfreich, wenn Sie versuchen den Fehler zu reproduzieren.

Nun einmal das Log ohne einen Filter:

Log ohne einen Filter

Anschließend mit dem Skript:

Log mit Skript

Wie Sie bereits erkennen können, ist dieses Log deutlich übersichtlicher, verglichen zu dem Obigen.

Wir hoffen, Ihnen mit dieser Anleitung die Fehlerbehebung in den Logs zu vereinfachen.

Wenn Sie Hilfe bei der Konfiguration Ihrer SQL-Server Instanz brauchen, kontaktieren Sie uns gerne unverbindlich über das Kontaktformular!