Änderungs-Timeline

Die Seite Änderungen beantwortet die Frage, die bei jeder Störung als erste gestellt wird: Was hat sich geändert?

Jedes Überwachungswerkzeug zeigt Ihnen, dass die CPU um 14:03 hochging. Diese Seite zeigt Ihnen, dass um 13:58 der Index IX_Auftrag_Datum gelöscht wurde.

Warum es diese Seite gibt

SQL Server protokolliert DDL-Änderungen selbst — im Default Trace. Dieser rolliert jedoch nach fünf Dateien à 20 MB und ist dann endgültig verloren. Auf einer aktiven Instanz kann das eine Frage von Stunden sein.

Genau darin liegt der Nutzen: Wir ernten fortlaufend, was der Server anschließend wegwirft, und legen es dauerhaft ab. Das Erntintervall ist damit der eigentliche Aufbewahrungs-Regler:

"ChangeTracking": {
  "Enabled": true,
  "IntervalMinutes": 10,
  "RetentionDays": 180
}

Auf sehr schreibaktiven Instanzen sollten Sie IntervalMinutes verkleinern.

Was erfasst wird

Kategorie Quelle Verursacher bekannt?
Schema — Tabellen, Prozeduren, Indizes, Views Default Trace ja
Berechtigungen — Logins, Serverrollen, DB-Rollen Default Trace ja
Serverkonfiguration — sp_configure Vergleich nein
Trace-Flags — global Vergleich nein
DB-Optionen — Wiederherstellungsmodell, Kompatibilitätsgrad, Auto-Shrink, RCSI, Seitenprüfung Vergleich nein
Datenbank — angelegt oder gelöscht Vergleich nein

Nur der Default Trace liefert Login, Host und Anwendung. Konfigurationsvergleiche stellen die Änderung fest, können sie aber niemandem zuordnen — dort steht bewusst „—" statt einer Vermutung.

Schweregrade

Die Messlatte für Kritisch liegt bewusst hoch. Eine Timeline, in der die Hälfte der Zeilen rot ist, liest niemand.

Kritisch sind Änderungen mit bekannter Ausfall- oder Datenverlustwirkung:

  • Wiederherstellungsmodell auf SIMPLE — bricht die Log-Kette. Point-in-Time-Recovery funktioniert ab diesem Moment nicht mehr, während alle Sicherungsjobs weiter grün melden. Das ist der wertvollste einzelne Fund dieser Kategorie.
  • AUTO_SHRINK oder AUTO_CLOSE eingeschaltet
  • Seitenprüfung abweichend von CHECKSUM — zerrissene Seiten bleiben unentdeckt
  • Datenbank verlässt den Zustand ONLINE
  • MAXDOP auf 1 gesetzt, priority boost eingeschaltet, Speicherobergrenze entfernt
  • Datenbank gelöscht

Beachtenswert ist alles, was bei einer Regressionssuche als Ursache in Frage kommt: Kompatibilitätsgrad, RCSI, Trace-Flags, gelöschte Objekte, Berechtigungsänderungen.

Info ist die normale Bewegung — geänderte Tabellen und Prozeduren.

Überlagerung in den Diagrammen

Unter Performance → History blenden Sie über den Schalter Änderungen einblenden alle erfassten Änderungen als senkrechte Markierungen in sämtliche Diagramme ein. Beim Überfahren mit der Maus erscheint, was genau passiert ist.

Eingeblendet werden nur Änderungen ab Schweregrad Beachtenswert — Info-Rauschen würde die Diagramme auf jeder Instanz mit aktiver Entwicklung zumalen.

Erste Ausführung

Beim ersten Kontakt mit einer Instanz wird nur der Ausgangszustand festgehalten: keine Ereignisse. Andernfalls würde jede Instanz beim Einschalten der Überwachung hundert Falschmeldungen erzeugen und die gesamte Historie des Trace-Puffers nachträglich einspielen — was Sie nicht beauftragt haben. Ab der zweiten Ausführung werden Änderungen gemeldet.

Voraussetzungen

  • Der Monitoring-Login benötigt ALTER TRACE, um die Trace-Datei zu lesen, sowie VIEW SERVER STATE für die Katalogsichten.
  • Der Default Trace muss aktiv sein: EXEC sp_configure 'default trace enabled', 1; RECONFIGURE;
  • Trace-Flags erfordern sysadmin. Fehlt die Berechtigung, wird dieser Teil stillschweigend übersprungen — alles andere läuft weiter.

Ist kein Default Trace verfügbar (abgeschaltet oder Azure SQL Database), meldet die Seite dies einmalig und beschränkt sich auf Konfigurationsvergleiche. Damit entfallen Schema- und Berechtigungsänderungen, die übrigen Kategorien bleiben vollständig.

Zeitzonen

Der Default Trace schreibt in der lokalen Zeit des überwachten Servers. Beim Erfassen wird der Versatz gegen UTC ermittelt und umgerechnet; gespeichert wird ausschließlich UTC. Die Anzeige erfolgt in Ihrer lokalen Zeit.