Im Test: SolarWinds SQL Sentry – Microsoft SQL Server Durchleuchtet

Die Indexübersicht und weitere Funktionen

Was die Indizes angeht, so verfügt SQL Sentry über die bereits erwähnte Indexübersicht, die am oberen Rand Aufschluss über die Fragmentierung, die Buffer-Nutzung und den auf den Festplatten genutzten Speicher gibt. Darunter findet sich eine Liste der vorhandenen Indizes. Wählt man aus dieser Liste einen aus, so erscheinen im unteren Bereich Informationen, die sich auf diesen ausgewählten Index beziehen, nämlich die Fragmentierung, der benutzte Disk-Speicherplatz und die Aktivität (also User-Scans, die den Index verwenden).

Auf ähnliche Art und Weise können sich die Anwender über den genutzten Disk-Space informieren. In dem entsprechenden Reiter finden sich nicht nur Informationen über den freien Speicher, sondern auch Daten zum letzten Backup und vieles mehr.

Ein Blick in den Event-Kalender (Screenshot: IT-Testlab Dr. Güttich)

Weitere Reiter befassen sich mit “Blocking SQL” und “Deadlocks”. Interessanter ist die QuickTrace-Funktion. Ein QuickTrace stellt einen umfassenden Aktivitäts-Snapshot dar, der sich aus Trace-Events und Prozess-Level-Daten zusammensetzt, die währen eines kurzen Zeitraums gesammelt wurden. Dabei führt SQL Sentry verschiedene Messwerte zusammen, wie I/O, Cache Misses, CPU und so weiter. Das Ergebnis ist eine klare Übersicht über die Prozesse, Hosts, Anwendungen und Benutzer, die für die Aktivitäten während der Datensammlung verantwortlich waren.

Der Event-Kalender stellt schließlich eine zentrale Ressource zum Log-Management dar. Er stellt die Ereignisse, die auf den überwachten SQL-Server-Instanzen stattgefunden haben, grafisch dar und hilft beim Automatisieren von Workflows, um proaktiv die Leistung zu verbessern. Die Events werden in einer Outlook-ähnlichen Oberfläche angezeigt, in der man die dazugehörigen Daten einsehen kann.

Der Aufbau des Event-Kalenders

Der Event-Kalender liefert nicht nur eine Übersicht über alle Events, die auf dem Server ablaufen, sondern gibt zudem Aufschluss über die Runs, die simultan ablaufen. Die Anwender sehen hier beispielsweise, ob die Server mit zu vielen Jobs belastet werden. Dabei hebt das System die einzelnen Einträge mit Farben hervor. Ein blauer Balken bezieht sich auf die Runtime, bei historischen Einträgen zeigen sie die echte Runtime, bei zukünftigen die durchschnittliche. Direkt daneben befindet sich noch ein zweiter Farbbalken, der Aufschluss über die Advisory-Konditionen gibt, rot für fehlerhaft und grün für erfolgreich. Auf diese Weise wird auf einen Blick klar, was wie lang gedauert hat und welche Ergebnisse zustande kamen.

Führt man einen Klick auf einen solchen Event aus, so erscheint ein Fenster mit weiteren Hintergrundinformationen, wie Name, Typ, Benutzer, Queue Settings und so weiter. Es steht nach einem Rechtsklick auch ein passendes Menü zu jedem Event zur Verfügung, über das man unter anderem Jobs startet und stoppet sowie die Option hat, Runtime Stats einzusehen. Man kann die Events auch filtern, die Ansicht anpassen, Jobs per Drag-and-Drop planen und so weiter, der Event-Kalender ist also extrem leistungsfähig. Es gibt sogar die Möglichkeit, eigene Ansichten für die Kalender zu erzeugen, so dass es beispielsweise Kalender gibt, die nur Failed Jobs oder Backups anzeigen.

Der Einsatz der Alarmfunktion

Es lassen sich auf jeder Server-Hierachie Alarme anlegen. Von der ganzen Infrastruktur über Server-Gruppen bis hin zu einzelnen Jobs. Es gibt vier Arten von Alarmen, die durch die bereits angesprochenen Konditionen ausgelöst werden. “General Conditions” beziehen sich auf Dinge wie langsame Jobs, Fehler, Deadlocks, Blocks und so weiter. “Failsafe Conditions” decken Cluster Failover und ausfallende SQL Server ab. Diese Alarme werden nicht aktiv, wenn ein Wartungsfenster auf dem betroffenen Server aktiv ist. “Audit Conditions” wiederum thematisieren Änderungen innerhalb von SQL Sentry selbst. Nimmt ein Mitarbeiter zum Beispiel eine Konfigurationsänderung vor, so kann man das System so einrichten, dass der Administrator einen Mail-Alert dazu erhält. Es sind aber auch andere Aktionen möglich, wie zum Beispiel das Ausführen von Jobs, Powershell-Skripts und SQL-Abfragen sowie das Senden von SNMP-Traps.

Am interessantesten sind in diesem Zusammenhang sicher die “Advisory Conditions”. Mit ihnen legen die zuständigen Mitarbeiter Konditionen an, die sich genau auf die jeweilige Umgebung und die darin unterstützten Applikationen beziehen. Diese können die Ergebnisse von T-SQL-Queries, WMI-Abfragen, Performance-Counter-Werten oder beliebige Kombinationen daraus enthalten. Bei den Performance-Countern hat das System auf alle Counter Zugriff, die auf dem betroffenen Server existieren.

Die Liste der Advisory-Conditions den Erklärungen unten rechts (Screenshot: IT-Testlab Dr. Güttich)

Es gehören bereits 85 Advisory Conditions (wie beispielsweise “High Active User Sessions”, “Log File Growth” oder “Network Bottleneck – Outbound”) zum Lieferumfang von SQL Sentry, die Anwender haben aber jederzeit Gelegenheit, eigene anzulegen. Wechselt der Administrator auf die Liste der vorhandenen Advisory Conditions und wählt eine Kondition aus, so zeigt ihm das System unten die dazugehörige Query und unten rechts eine Erklärung, die ihn darüber informiert, was die Kondition genau macht. Bei manchen Einträgen finden sich in dieser Erklärung auch Links zu dazugehörigen Blog-Einträgen. Die Thresholds, die bei den vordefinierten Advisory Conditions gesetzt wurden, basieren übrigens auf den Empfehlungen von Microsoft.

Die ganze Alert-Funktionalität ist sehr mächtig und ermöglicht sowohl einfache Alarme, die zum Beispiel bei hoher CPU-Last einen SNMP-Trap auslösen oder eine Mail schicken, als auch Alarme, die aktiv werden, wenn eine geschäftskritische Abfrage länger als den festgelegten Zeitraum in Anspruch nimmt. Es ist allerdings auch möglich, viel kompliziertere Alarme zu erzeugen, die zum Beispiel nur dann aktiv werden, wenn das SQL Blocking während der Arbeitszeit dreimal pro Stunde länger als eine Minute gedauert hat.

Browser-Version von SQL Sentry

Um SQL Sentry zu nutzen, müssen die IT-Verantwortlichen übrigens nicht zwingend die Client-Software installieren. Es existiert auch eine Web-Version der Anwendung mit einem anpassbaren Dashboard. Diese kann zum Einsatz kommen, um das System zu überwachen. Die verfügt momentan noch nicht über alle Konfigurationsoptionen, wird aber ständig verbessert.

Das Dashboard im Web-Interface (Screenshot: IT-Testlab Dr. Güttich)

Fazit

SQL Sentry hilft Datenbankadministratoren dabei, schnell die Informationen zu erhalten, die ihnen dabei helfen, Leistungsprobleme ihrer Datenbanken zu beseitigen. Sie müssen mit dem Tool keine wertvolle Arbeitszeit verschwenden, um an den falschen Stellen nach Antworten zu suchen. Die Lösung liefert im Betrieb alle relevanten Informationen für die Problemlösung. Aufgrund des großen Leistungsumfangs ist allerdings eine gewisse Einarbeitungszeit erforderlich, um das Produkt in vollem Umfang nutzen zu können.

Dieser Beitrag ist auch als PDF verfügbar:

Anmerkung:

Wir haben diesen Test im Auftrag des Herstellers durchgeführt. Der Bericht wurde davon nicht beeinflusst und bleibt neutral und unabhängig, ohne Vorgaben Dritter. Diese Offenlegung dient der Transparenz.