SQL Server Default Trace analysieren – Instanz-Ereignisse untersuchen

Der SQL Server Default Trace ist ein eingebautes Logging-Feature, das kontinuierlich wichtige Server-Ereignisse aufzeichnet – Konfigurationsänderungen, Fehler, Datenbank-Events und mehr. Er läuft automatisch und ist ein unverzichtbares Forensik-Tool.

Default Trace aktivieren und lokalisieren

-- Prüfen ob Default Trace aktiv ist
SELECT * FROM sys.configurations
WHERE name = 'default trace enabled';

-- Pfad der Trace-Datei finden
SELECT path FROM sys.traces
WHERE is_default = 1;

Wichtige Events aus dem Default Trace lesen

-- Trace-Datei in Tabelle laden und analysieren
DECLARE @TracePath NVARCHAR(500);
SELECT @TracePath = path FROM sys.traces WHERE is_default = 1;

-- Konfigurationsänderungen der letzten 24h
SELECT
    CAST(StartTime AS DATETIME) AS EventTime,
    TextData,
    ApplicationName,
    LoginName,
    SPID
FROM fn_trace_gettable(@TracePath, DEFAULT)
WHERE EventClass = 22  -- ErrorLog
   OR EventClass = 116 -- Configuration change
ORDER BY StartTime DESC;

Datenbankwachstums-Events

-- Automatische Datei-Wachstums-Events
SELECT
    StartTime,
    DatabaseName,
    FileName,
    IntegerData * 8.0 / 1024 AS GrowthMB
FROM fn_trace_gettable(@TracePath, DEFAULT)
WHERE EventClass IN (92, 93)  -- Data/Log File Auto Grow
ORDER BY StartTime DESC;

Der Default Trace ist oft die einzige Quelle für historische SQL Server-Ereignisse, wenn kein dediziertes Monitoring vorhanden ist. Er sollte zu jedem DBA-Toolkit gehören und ist der erste Anlaufpunkt bei der Ursachenforschung nach Vorfällen.