Die tägliche To-Do-Liste von Datenbankadministratoren (DBA) ist lang: Das Überprüfen von Backups und der Wiederherstellbarkeit, Betriebssystem- und SQL-Server-Protokollen, der Server-Ressourcennutzung sowie das Ermitteln, Verhindern und Beseitigen von potenziellen Datenbankbeschädigungen sind nur einige der alltäglichen Routineaufgaben.
Für das Abarbeiten der gesamten Liste kann pro Server ein Zeitaufwand von etwa 30 Minuten veranschlagt werden. Die Realität sieht in vielen Unternehmen jedoch anders aus: Den DBAs bleiben bei ihrer täglichen Arbeitsbelastung eher 15 Minuten, die sie jeweils für die Überprüfung eines Servers erübrigen können. Fehlt es ihnen darüber hinaus an geeigneten Tools, schrumpft das Zeitkontingent für die Überprüfung eines Servers sogar auf nur wenige Minuten. Die Aktivitäten bleiben damit auf das Reaktionäre beschränkt: Man reagiert nur auf akute Probleme und wendet lediglich Energie auf, wenn eine Lösung dringend gefordert ist.
In vielen Betrieben ist dieser Ablauf bereits so eingespielt, dass er kaum mehr hinterfragt wird. Dass man sich damit in ein Hamsterrad begibt, dem man nur schwer entkommen kann, wird übersehen. Indem man vorwiegend auf schwerwiegende Vorfälle reagiert, werden Wartungsaktivitäten vernachlässigt. Dies wiederum vernichtet jegliche Optimierungsmöglichkeiten. Der Weg, dem Hamsterrad zu entkommen und mehr proaktiv anstelle von reaktiv zu handeln, führt über die Automatisierung der anfallenden Wartungs- und Überwachungsarbeiten. Zu diesem Zweck gibt es zahlreiche Lösungen für SQL Server Monitoring.
Bei der Auswahl sollten Datenbankadministratoren allerdings gewisse Eigenschaften im Blick behalten, um sicherzustellen, dass die Lösung für ihre Zwecke ausreichend ist:
1. Skalierbarkeit
Mit Blick auf den aktuellen Bestand der SQL Server lassen Unternehmen diesen Punkt gern außer Acht, nicht zuletzt deshalb, weil skalierbare Lösungen meist auch in eine höhere Preiskategorie fallen. Dies ist angesichts der fortschreitenden Digitalisierung jedoch äußerst kurzsichtig. Das Datenaufkommen kann sich auf Grund neuer Technologien schnell dramatisch erhöhen und an diesem Punkt ist auch aus betriebswirtschaftlicher Sicht Agilität gefordert. Von vornherein auf eine skalierbare Lösung zu setzen, ist also keinesfalls falscher Luxus, sondern vielmehr Praktikabilität.
2. Erkennung fehlerhafter Datenbanken
Fehlerhafte Datenbanken (corrupted databases), insbesondere in Produktionsumgebungen, können, sofern sie unentdeckt bleiben, auf Grund der beeinträchtigten Leistungsfähigkeit massive geschäftliche Schäden nach sich ziehen. Eine Monitoring-Lösung sollte die Kapazitäten besitzen, sämtliche Ursachen fehlerhafter Datenbanken auf Speicher-, Bearbeitungs-, und Serverebene identifizieren zu können.
3. Benachrichtigungen und Alerts
Generell ist mit Alerts das Risiko verbunden, wieder in reaktive Handlungsmuster zurück zu fallen. Lösungen, die eher als Analyse- denn als Monitoringtools verfügen, bringen es beispielsweise mit sich, dass unnötige Warnungen generiert werden, auf die DBAs reagieren müssen, auch wenn es sich um keine unmittelbare Dringlichkeit handelt. Ein zuverlässiges Überwachungssystem bietet nicht nur auf Vorlagen basierende Alerts, bei denen DBAs die Alarmschwelle nach ihren Vorgaben ändern können, sondern auch besser konfigurierbare Alerts, bei denen Benutzer wählen können, wann sie alarmiert werden möchten. Schließlich kann es Zeiten geben, in denen der typische Alarm nur Lärm und nicht gerechtfertigt ist. Fortgeschrittene Überwachungslösungen bieten die Möglichkeit, benutzerdefinierte Alerts zu erstellen, wobei man aus einer Vielzahl von Datenquellen wählen und diese Datenquellen zu einem idealen Alert zusammenstellen kann.
Übersicht aller relevanten Metriken
Bei der Fehlerbehebung macht sich in IT-Abteilungen häufig die Einstellung „was einmal funktioniert hat, wird auch in Zukunft die Lösung bringen“, breit. Beispielsweise sieht sich ein Entwickler ausschließlich die laufenden Abfragen an, ein DBA nur die Wait-Statistiken, ein SAN-Admin nur die Festplatten und ein VMware-Admin nur den Hypervisor. Es können jedoch jederzeit Umstände auftreten, in denen diese Vorgehensweise völlig unangemessen ist. Reagiert man darauf mit den gewohnten Operationsmechanismen, kann dies zu falschen Schlussfolgerungen führen und die Problembehebung unnötig erschweren.
Um Probleme mit der Datenbankleistung effizient lösen zu können, muss man eine Vielzahl an Leistungsmetriken heranziehen. IT-Verantwortliche sollten nicht auf einem Bildschirm den Speicher, auf einem anderen den IO betrachten und auf einem weiteren die Statistiken abwarten müssen. Diese Informationen sollten übersichtlich in einer Oberfläche zusammengetragen werden, um die zu Grunde liegenden Ursachen von Problemen schnell ermitteln zu können. Gute Monitoringtools veranschaulichen die Normalwerte auch durch Baselines, so dass man bei leichten Abweichungen schnell kritische Bereiche identifizieren kann.
5. Virtuelle Protokolldateien
Oberflächlich betrachtet handelt es sich bei virtuellen Protokolldateien (Virtual-Logfiles, VLFs) um Strukturen innerhalb des Transaktionsprotokolls. Mit VLFs kann der SQL Server verfolgen, welche Daten bei der Wiederverwendung des Transaktionsprotokolls überschrieben werden können und welche Daten erhalten bleiben müssen, um sicherzustellen, dass die Daten im Falle einer Wiederherstellung nach einem Absturz transaktionskonsistent bleiben.
Bei einer hohen Anzahl an kleinen VLFs, verringern diese den Transaktionsdurchsatz und kosten mehr Speicherplatz und Verarbeitungszeit, was in der Cloud zu höheren Kosten führen kann.
Nutzt man lediglich Wait-Statistiken, lässt sich zwar erkennen, dass die Writelog-Wartezeit und BACKUPIO-Wartestatistik erhöht ist. Doch die Verbindung zur Ursache beider Phänomene – den VLFs – kann so nicht hergestellt werden. Viele ziehen daraus die falsche Schlussfolgerung, es handle sich um ein IO-Problem, anstelle eines Datenbankkonfigurationsproblems. Eine SQL Server Monitoring-Lösung sollte dementsprechend unbedingt auch VLFs abbilden, um zutreffende Schlüsse ziehen zu können.
6. Unterstützung für andere Technologien
Datenexperten müssen zahlreiche Ebenen sowie deren zukünftige Erweiterung im Blick behalten. Bei der Auswahl einer geeigneten Monitoring-Lösung sollte sichergestellt sein, dass diese auch weitere Technologien, wie Cloud-Angebote wie beispielsweise AWS und Azure, SQL Server Analysis Services (SSAS) und Hypervisor unterstützen kann. So ist sichergestellt, dass die benötigten Schnittstellen vorhanden sind, um auf allen Plattformen die gewohnte Warnmeldungs-Engine bereitstellen zu können.
7. Granularität
Beschweren sich Nutzer über auftretende Probleme, möchte man als IT-Verantwortlicher die Ursache kennen und Auskunft geben zu können. Eine bloße Vermutung verunsichert die Anwender lediglich und führt außerdem dazu, dass sie ihrem Unmut weiterhin wiederholt Luft machen. Um derartige Entwicklungen nicht Alltag werden zu lassen, sollte eine Monitoring-Lösung über ausreichend Granularität verfügen. Nur wenn Analysemöglichkeiten in ausreichender Tiefe vorhanden sind, gelingt es, den Ereignissen einen Schritt voraus zu sein.
Intelligentes Management ermöglicht effizientes Arbeiten
Mit der wachsenden Bedeutung funktionierender Datenbankprozesse für das digitale Geschäftswesen kommt auch den DBAs eine entscheidende Rolle zu. Mit der wachsenden Verantwortung sind die Anforderungen an sie gegenwärtig so vielseitig wie nie zuvor. Um aus dem Hamsterrad, dass durch reaktives Arbeiten geschaffen wird, herauszukommen, ist es notwendig, einen Überblick der eigenen Arbeitsweise und den damit verbundenen Prozessen zu gewinnen. Auf diese Weise kann ein geeignetes Anforderungsprofil für eine SQL Server Monitoring-Lösung gewonnen werden. Mit ihnen lassen sich Routineaufgaben automatisieren, was DBAs in die Lage versetzt, proaktiver handeln zu können. Die durch die Optimierung frei gewordenen Kapazitäten tragen schließlich zu einem effizienteren Arbeiten bei.
Von Richard Douglas, Principal Solutions Engineer bei Sentryone