SQL Server-Überwachung

Der erste Schritt zur Optimierung der Datenbankleistung

SentryOne Monitor Icon

Gründe für die Überwachung von SQL Server

Bei der SQL Server-Überwachung werden Nutzungs-, Leistungs- und Ereignismetriken für Microsoft SQL Server fortlaufend gesammelt und analysiert. Diese Überwachung ist der erste Schritt zur Optimierung der Leistung von Anwendungen, die von Ihrer Datenplattform abhängen.

Eine effektive Überwachung liefert eine Übersicht über Ihre Datenumgebung aus der Vogelperspektive. Außerdem erhalten Sie damit die notwendigen Ursachenanalysen, um besonders komplexen Leistungsproblemen auf den Grund zu gehen. Mit Baselines und Verlaufsdaten können Sie Leistungstrends messen und hervorheben. Eine umfassende Überwachungslösung bietet außerdem leistungsstarke Optionen für proaktive Warnungen und automatisierte Reaktionen auf bekannte Leistungsprobleme.

Mit einer optimalen Leistungsüberwachung können Sie die SQL Server-Leistung in einer einheitlichen Lösung messen und optimieren.

sql-sentry-dashboard

Drei Vorteile der SQL Server-Leistungsüberwachung

Nr. 1: Weniger leistungsbedingte Vorfälle und Ausfälle

Leistungsbedingte Vorfälle sind extrem kostspielig für Ihr Unternehmen. Wenn Sie Ihre SQL Server-Leistung proaktiv überwachen, können Sie leistungsbedingte Probleme und offene Tickets minimieren. Ihr Team kann sich darauf konzentrieren, die Leistung der gesamten Plattform zu optimieren und andere Geschäftsbereiche zu unterstützen, anstatt ständig Feuerwehr zu spielen.

Nr. 2: Niedrigere Infrastrukturkosten

Maximieren Sie Ihre Infrastrukturinvestitionen, indem Sie sicherstellen, dass Ihre Anwendungen innerhalb der gegebenen Dienst- und Hardwarebeschränkungen optimal funktionieren. Wenn Sie Ihre Clouddienste oder Ihre Hardware erweitern müssen, können Sie dies vertrauensvoll und ohne verschwendete Ressourcen tun.

Nr. 3: Risiken verwalten

Überwachen Sie die Leistung fortlaufend, um dafür zu sorgen, dass Ihre Datenplattform fehlerfrei und ohne Ausfälle läuft. Ausfälle schmälern die Produktivität Ihres Unternehmens und zwingen das für die Datenplattform zuständige Team in eine problematische reaktive Position.

Automatisierte SQL Server-Leistungsüberwachung

Es ist mühsam, SQL Server manuell zu überwachen. Sie könnten jeden Tag Stunden damit verbringen, Daten von Leistungsindikatoren, Ereignisprotokollen und DMVs aus Hunderten von Servern und Instanzen zu sammeln. Und anschließend benötigen Sie immer noch eine Lösung, um die Verlaufsdaten zu speichern und zu analysieren.

Außerdem möchten Sie die Daten nach dem Erfassen logisch und übersichtlich formatieren und darstellen. All dies führt dazu, dass Sie weniger Zeit haben, um tatsächliche Probleme proaktiv zu lösen.

DBAs, die diese Aufgaben manuell ausführen, geben die alltägliche Überwachung oft komplett auf.

Das Ergebnis ist ein nie endender Zyklus der reaktiven Fehlerbehebung. Diese reaktive Haltung schmälert die Leistung auf lange Sicht und beeinträchtigt die Einnahmen und die Produktivität des Unternehmens. Durch die reaktive Haltung entsteht ein unvorhersehbarer Status der Datenplattform, und DBAs stehen ständig unter Stress.

Erste Schritte mit der Überwachung Ihrer SQL Server-Umgebung

SQL Sentry bietet eine SQL Server-Leistungsüberwachungslösung der Spitzenklasse als Cloudlösung oder als installierte Software.

SQLsentry

SQL Sentry

Mit SQL Sentry, unserer installierten Softwarelösung, können Sie Ihre gesamte Datenbankumgebung effektiv überwachen, diagnostizieren und optimieren.

SQL Sentry herunterladen

Vier häufige Fehler bei der SQL Server-Leistungsüberwachung

 

Nr. 1: Zu viele Daten

Wenn Sie zu viele Daten erfassen, müssen Sie Berge von irrelevanten Informationen durchforsten. Ihre Überwachungslösung muss umsetzbare Leistungsinformationen umfassend und zeitnah anzeigen.

Nr. 2: Nicht genug Details

Zu wenig Informationen führen zu falschen oder unvollständigen Schlussfolgerungen, die oft sehr kostspielig sein können. Stellen Sie sich vor, Sie investieren große Mengen an Zeit und Geld in die Behebung eines Problems, das in Wirklichkeit nie ein echtes Problem war. Mit einer ganzheitlichen Leistungsüberwachung behalten Sie stets den Überblick über Ihre Leistung und können präzise Entscheidungen treffen.

Nr. 3: Hoher Mehraufwand durch die Überwachung

Überwachungslösungen, die einen großen Mehraufwand verursachen, können das Problem verschlimmern, anstatt es zu lösen. Dabei wird der Zweck der Überwachung verfehlt, und Sie tauschen Ressourcen gegen die Transparenz ein.

Nr. 4: Technische Schulden durch selbst entwickelte Lösungen

Selbst entwickelte Lösungen sind oft der Grund für Wartungsprobleme. Irgendwann weiß niemand mehr, wer die Lösung entwickelt hat, oder der Entwickler kann sie nicht auf ewig pflegen. Möglicherweise war der Entwickler kein Experte für Leistungsüberwachung, was zu gravierenden Funktionsproblemen führen kann.

Alles überall überwachen

Um Leistungsprobleme in Datenbanken zu verhindern, sollten Sie nach Möglichkeit den gesamten Stack Ihrer Datenplattform überwachen. Die Überwachung sollte sich von SQL Server und Hypervisor-Hosts bis hin zur Infrastruktur in öffentlichen, privaten und Hybrid-Clouds erstrecken. Was ist mit Analytics-Plattformen wie SQL Server Analysis Services (SSAS) oder Big Data-Plattformen wie Azure Synapse Analytics? Cloudplattformen wie Azure SQL-Datenbanken und Amazon Web Services RDS für SQL Server sind ebenfalls ein Teil Ihres Datenbestands. All diese Komponenten können – und sollten – fortlaufend überwacht werden. Wenn Sie nur Ihre SQL Server-Instanzen überwachen, erhalten Sie keine Einblicke in die anderen Bereiche Ihrer Datenplattform.

 

target-icons-group

Build-vs-buy-icons

Selbst erstellen oder kaufen – Auswahl einer SQL Server-Überwachungslösung

Sie haben verschiedene Optionen für die SQL Server-Leistungsüberwachung zur Auswahl. Zunächst sollten Sie sich fragen, ob Sie eine Lösung kaufen oder selbst erstellen möchten. Im heutigen Zeitalter von Cloud Computing kann SQL Server auf viele verschiedene Arten bereitgestellt werden. Trotz der vielen verfügbaren systemeigenen Überwachungstools stellt sich immer noch die Frage: kaufen oder selbst erstellen? Dies liegt daran, dass die SQL Server-Arbeitslasten in Ihrem Unternehmen mit hoher Wahrscheinlichkeit auf mehr als eine Art gehostet werden. Es ist leider nicht mehr möglich, mehrere Public Clouds, Hybrid-Rechenzentren, PaaS sowie virtuelle und Bare-Metal-Server mit den verfügbaren systemeigenen Überwachungstools zu bändigen.

Wenn Sie sich für die systemeigenen Leistungsüberwachungstools entscheiden, kann es passieren, dass Ihr Team ständig Leistungsdaten für die folgenden Komponenten überwachen muss:

  • Dynamic Management Views (DMVs)
  • SQL Trace
  • Erweiterte Ereignisse
  • Windows-Systemmonitor (perfmon)
  • Windows-Ereignisprotokolle
  • VMware vCenter
  • VMware vRealize (vRops)
  • Azure Monitor
  • AWS CloudWatch
  • Google Stackdriver

 

Diese Liste bezieht sich nicht auf den Betrieb von SQL Server unter Linux oder in Containern, wobei noch verschiedene weitere Lösungen dazukommen. Außerdem werden keine zusätzlichen Anforderungen für die Leistungsüberwachung der Datenplattform abgedeckt, wie etwa ETL/ELT und Analysesysteme wie SQL Server Analysis Services.

Die separaten systemeigenen Tools verteilen relevante Leistungsdaten auf unzählige Quellen. In praktisch allen Bereitstellungen haben Sie daher nur die Wahl, eine Lösung zu kaufen oder selbst zu erstellen.

BVB-build

Selbst erstellen

Es ist normalerweise nicht empfehlenswert, eine eigene Leistungsüberwachungslösung zu entwickeln. Eine erfolgreiche Lösung muss mit Zeit- und Ressourcenaufwand gewartet werden, um über Jahre hinweg wertvolle Daten zu liefern.

Die gewählte Lösung sollte auf verschiedene Arten funktionieren:

  • Relevante und umsetzbare Metriken erfassen und aggregieren
  • Darstellung der Datenplattform als kompletten Stack, inklusive Hybrid, Multi-Cloud, Virtualisierung und Hostbetriebssystemen
  • Intuitive Analyse der aktuellen und historischen SQL Server-Datenbankleistung
  • Benachrichtigungen mit umfassenden Anpassungsoptionen für wichtige Ereignisse in Ihrer Datenplattform und Ihren Anwendungen
  • Skalierung mit Ihrer Umgebung für aktuelle und zukünftige Anforderungen
  • Geringer Ressourcenverbrauch, um den Mehraufwand für die Überwachung zu minimieren

Beim Beantworten der Frage, ob Sie eine Lösung kaufen oder selbst erstellen sollten, macht es vermutlich wenig Sinn, sich zu fragen, ob Ihr Team dazu in der Lage ist, ein eigenes System zu entwickeln. Ihre Techniker und Datenexperten sind höchstwahrscheinlich in der Lage, ein System für die SQL Server-Überwachung zu erstellen.

Daher sollten Sie sich vielmehr fragen, ob es eine Priorität für Ihr Unternehmen ist, ein Überwachungssystem zu entwickeln und zu pflegen. Eine solche Lösung erfordert ständige Weiterentwicklung und Pflege, um wirklich wertvolle Informationen zu liefern.

SentryOne beschäftigt beispielsweise ein ständig wachsendes Team aus mehr als 70 Full-Stack-Ingenieuren, Produktmanagern, technischem Support, Eskalationsexperten und Customer Success-Mitarbeitern. Microsoft Data Platform MVP und PASS-Mitgründer Kevin Kline erinnert sich noch an seine Erfahrungen bei der Entwicklung einer SQL Server-Überwachungslösung. „Ich habe die Umgebung als DBA selbst überwacht, aber irgendwann war der Aufwand zu groß. Die Testmatrix wurde zu groß aufgrund von neuen Versionen, neuen Betriebssystemen usw.“

„Ich habe die Umgebung als DBA selbst überwacht, aber irgendwann war der Aufwand zu groß. Die Testmatrix wurde zu groß aufgrund von neuen Versionen, neuen Betriebssystemen usw.“ – Kevin Kline, Microsoft Data Platform MVP und PASS-Mitgründer

BVB-buy

Kaufen

Bevor Sie sich für den Kauf einer kommerziellen SQL Server-Überwachungslösung entscheiden, sollten Sie Ihre Optionen gründlich abwägen. Falls Ihr Team mit dieser Auswertung überfordert ist, können Sie die jeweiligen Anbieter um Unterstützung bieten.

Die Entscheidung, eine Lösung zu kaufen anstatt sie selbst zu entwickeln, führt zur nächsten logischen Frage. Welche Lösung? Hier ist eine Liste der Dinge, die eine Überwachungslösung erledigen sollte:

  1. Metriken automatisch erfassen und aggregieren
  2. Full-Stack-Ansicht für Ihre Datenplattform
  3. Intuitive Analyse der aktuellen und historischen Leistung
  4. Umfassende und anpassbare Benachrichtigungsoptionen
  5. Effiziente Skalierbarkeit für Umgebungen aller Größen
  6. Minimaler Mehraufwand durch die Überwachung

Für die Überwachung von SQL Server haben Sie mehrere externe Optionen zur Auswahl. All diese Lösungen bieten verschiedene Features, um die genannten Anforderungen zu erfüllen und zu übertreffen. Manche dieser Lösungen behaupten auch von sich, dass sie besser sind als der Rest. Es gibt nur einen Weg, um tatsächlich herauszufinden, welche Lösung am besten zu Ihrem Team und zu Ihrer Umgebung passt. Führen Sie einen  kostenlosen Test  der Lösungen durch, für die Sie sich interessieren.

 

SQL Server-Überwachungstools vergleichen

Vier wichtige Aufgaben für den Vergleich

Achten Sie bei diesen wichtigen Aufgaben darauf, dass Sie alle Punkte berücksichtigen. 

  • Überwachungsmehraufwand in überwachten Systemen messen
  • Mehraufwand in einer Produktionsumgebung oder einem Replikat messen
  • Baseline einer Arbeitslast erstellen und nach negativen Leistungstrends suchen
  • Supportfall erstellen und das Supporterlebnis bewerten

 

Der Bewertungsansatz von SolarWinds

SolarWinds hat die Mission und den Zweck, das Leben für Microsoft-Datenexperten und ihre Kunden zu vereinfachen und zu verbessern. Wir sind davon überzeugt, dass sich unsere SQL Server-Überwachungslösung perfekt für alle auf Microsoft SQL Server basierenden Datenplattformen eignet. Gleichzeitig ermutigen wir unsere Kunden dazu, unsere Lösung parallel zu allen anderen Optionen vollständig zu testen. Falls SolarWinds die richtige Lösung für Sie ist und Sie eine vollständige Bewertung ausführen, werden Sie sich für uns als Ihren Partner in Sachen Leistung entscheiden. Wir investieren umfassend, um Kunden mit großen und komplizierten Umgebungen zu helfen. Die Bewertung erfolgt anhand einer strukturierten Machbarkeitsstudie zusammen mit unserem Team aus technischen Experten.

Aspekte für die SQL Server-Überwachung

Microsoft SQL Server ist komplex. Wenn Sie gerade die ersten Schritte damit ausführen, ist Ihnen möglicherweise noch nicht die ganze Komplexität bewusst. An der Oberfläche entwickeln und erstellen Sie Datenbanken. Sie führen CRUD-Operationen aus. Sie wenden eine Indizierungsstrategie an, um diese CRUD-Operationen zu optimieren. Der unkomplizierte Eindruck verblasst schnell, wenn Fehler, Ausfälle oder Verzögerungen auftreten, die sich nicht einfach erklären lassen.

Der Rest dieses Artikels befasst sich mit der Architektur von SQL Server und mit verschiedenen Schlüsselbereichen für die Leistungsüberwachung. In den einzelnen Abschnitten finden Sie Links zu Artikeln mit weiteren Details zum jeweiligen Thema.

SQL Server-Komponenten

Machen Sie sich mit der SQL Server-Architektur vertraut, um besser zu verstehen, was Sie überwachen sollten und warum. Dies ist kein kompletter Überblick über die Architektur, sondern lediglich ausreichend, um einem Gespräch folgen zu können.

Die SQL Server-Datenbank-Engine besteht aus vier grundlegenden Komponenten. Dies gilt momentan unabhängig davon, wie SQL Server bereitgestellt oder gehostet wird. Diese Komponenten sind also immer aktiv, unabhängig davon, wie Sie SQL Server bereitgestellt haben. Sie sind zwar nicht in jedem Fall für Administratoren sichtbar, sind aber als Basis von SQL Server immer vorhanden.

SQL Components Diagram

 

1. Protokoll oder Netzwerk

Diese Komponente ist für  Clientverbindungen zu SQL Server zuständig. Wir überwachen den Netzwerkdatenverkehr, um herauszufinden, ob die Leistung durch Netzwerkprobleme beeinträchtigt wird.

Wir überwachen außerdem die Netzwerkaktivität auf Probleme im Zusammenhang mit der Interaktion zwischen Anwendungen oder Benutzern und dem Server. Ein abschreckendes Beispiel ist ein möglicher verteilter Denial-of-Service-Angriff auf eine Website, die von unserem Datenbankserver abhängt.

SQL Server unterstützt verschiedene Protokolle und kommuniziert per Tabular Data Stream (TDS) über das Netzwerk. In den meisten Fällen werden SQL Server-Verbindungen über TCP/IP hergestellt. Andere unterstützte Protokolle sind Named Pipes und Shared Memory. Das Shared Memory-Protokoll kann nur für Clients verwendet werden, die auf demselben Host wie die SQL Server-Instanz ausgeführt werden. Named Pipes werden nur selten verwendet. Sie eignen sich für lokale Netzwerke (LANs) und verlieren in stärker verteilten Netzwerken an Effizienz.

 

2. Speicher-Engine

Die Speicher-Engine von SQL Server ist für Transaktionen, Dateiverwaltung und den Zugriff auf verschiedene Datenbankobjekte zuständig. Ohne die Speicher-Engine ist keine transaktionale oder parallele Datenbank möglich. Außerdem könnten keine Daten persistent gespeichert werden.

Für die Speicher-Engine überwachen wir beispielsweise die Metriken zu Speicherkapazität, Leistung, Dateizugriffen und Speicherbelegung.

 

3. Abfrageprozessor

Der Abfrageprozessor ist dafür zuständig, Abfragen zu verarbeiten und auszuführen. Dieses Modul ist komplex, erfüllt aber grob gesagt einen sehr präzisen Zweck. Es ist dafür zuständig, die von Anwendungen an SQL Server gesendeten Abfragen zu analysieren, zu planen und auszuführen.

Wir überwachen die Aktivität des Abfrageprozessors, indem wir analysieren, welche Abfragen verarbeitet werden, wie lange die Verarbeitung dauert und welche Ressourcen verwendet werden. Es ist außerdem hilfreich, die verwendeten Abfragepläne sowie die zum Erstellen der Abfragepläne verwendeten Statistiken zu sammeln.

 

4. SQLOS

SQLOS bezieht sich auf den Teil von SQL Server, der einem Betriebssystem ähnelt. SQLOS besteht aus unzähligen verschiedenen Funktionen. Die anderen SQL Server-Komponenten interagieren mit SQLOS über eine API.

SQLOS kümmert sich beispielsweise um CPU-Zuteilung, Threading, Arbeitsspeicherverwaltung, logisches E/A und Hintergrundprozesse. Die Hintergrundprozesse suchen beispielsweise nach Deadlocks, behalten die verfügbaren Ressourcen im Auge und finden Arbeitsspeicher, der freigegeben werden kann.

Wir überwachen CPU-Aktivität, Arbeitsspeicherzuweisung sowie Sperren und Blockaden auf höheren Ebenen. All diese Werte hängen mit SQLOS zusammen.

SQLOS ist auch interessant, weil diese Komponente einen vollständigen Arbeitsspeicher-Manager enthält. Viele Anwendungen verlassen sich dafür auf das Hostbetriebssystem, aber SQL Server verwaltet seinen Arbeitsspeicher selbst. Dies ist wichtig, weil die Art der Arbeitsspeicherzuweisung ein kritischer Aspekt der SQL Server-Leistungsüberwachung ist.

Nutzen Sie SQL Sentry, um all diese Komponenten und mehr zu überwachen.

SQL Sentry herunterladen

Welche Metriken sind wichtig für die SQL Server-Überwachung?

Die Komponenten der SQL Server-Architektur ergeben gemeinsam eine leistungsstarke relationale Datenbankplattform für Unternehmen. Bei der Leistungsmessung sollten wir das gesamte System betrachten. Es gibt Nuancen, die sich der Logik entziehen. Zum Beispiel kann eine langsame Leistung des persistenten Speichers darauf hindeuten, dass Anpassungen am verfügbaren Arbeitsspeicher erforderlich sind. Rufen Sie relevante Metriken gemeinsam in einem Dashboard ab, um sich einen kompletten Überblick über die Leistung zu verschaffen.

Trends und Baselines

Ein durchgängiges Thema bei der Überwachung der SQL Server-Leistung sollte die Erfassung der Baseline-Leistung sein. Mit Baselines können Sie den vorherigen Zustand erfassen und herausfinden, ob sich die Leistung positiv oder negativ entwickelt. Mit SQL Sentry können Sie Baselines mühelos erfassen, und in den meisten Fällen werden die Baselines sogar automatisch für Sie generiert. Sehen Sie sich das folgende Video zu Baselines in SQL Sentry an.

Ressourcen überwachen

Ressourcen sind die Rechenkapazität, die SQL Server zur Verfügung stehen. Historisch gesehen waren Ressourcen die Hardwarekomponenten in einem Computersystem. Heutzutage hat sich die Bedeutung einiger Ressourcen durch Fortschritte wie Virtualisierung und Cloud Computing geändert. In manchen Fällen beziehen sich die Begriffe auf etwas völlig anderes. Azure SQL-Datenbanken definieren beispielsweise eine Ressource mit dem Namen Datenbanktransaktionseinheit (Database Transaction Unit, DTU).

Es ist wichtig, die von SQL Server benötigten Ressourcen zu überwachen. Sie können die Leistung verbessern, indem Sie sich auf bestimmte konfliktbehaftete Ressourcen konzentrieren. Diese Behebungsstrategie ist sehr effektiv, jedoch auch schwierig und potenziell ungenau, es sei denn, Sie überwachen Ihre Ressourcen.

 

waits-chart-sentryoneZum Vergrößern klicken

SQL Server-Wartevorkommnisse überwachen

SQL Server erfasst, wie lange eine Abfrage über ihren Lebenszyklus hinweg warten musste. Der Grund für die Wartezeiten wird ebenfalls erfasst und als Wartetyp bezeichnet. Überwachen Sie die SQL Server-Wartestatistiken, um sich einen Überblick darüber zu verschaffen, warum und wie lange Ihre Prozesse warten, und Zeit bei der Problembehandlung zu sparen.

Verlassen Sie sich nicht nur auf die Wartestatistiken

Wir haben die Überwachung von Ressourcen absichtlich vor den Wartestatistiken behandelt. Mit der Analyse der Wartestatistiken können Sie herausfinden, wo Sie nach Problemen suchen müssen. Die Wartestatistiken allein führen Sie nicht zwangsläufig zur Ursache oder zur Lösung für ein bestimmtes Leistungsproblem. Überwachen Sie die Wartestatistiken, um den Ausgangspunkt zu finden. Analysieren Sie anschließend die Ressourcenauslastung, um das Problem exakt identifizieren und beheben zu können.

Netzwerkdatenverkehr

Überwachen Sie den ein- und ausgehenden und den Gesamtdatenverkehr. Erfassen Sie diese Daten soweit möglich für einzelne Netzwerkschnittstellen. Auf diese Weise können Sie herausfinden, ob ein Engpass an der Netzwerkschnittstelle vorliegt. Diese Informationen sind im Fall von PaaS-basierten SQL Server-Bereitstellungen nicht unbedingt einfach zu erfassen.

Der SQL Server-Netzwerkdatenverkehr sollte als Prozentanteil des gesamten Netzwerkdatenverkehrs angezeigt werden. Auf diese Weise können Sie leichter identifizieren, ob Prozesse, die nicht mit SQL Server zusammenhängen, Netzwerkressourcen verbrauchen. SQL Sentry liefert diese Ansicht bereits vorkonfiguriert mit gestapelten Flächendiagrammen.

 

network-chartZum Vergrößern klicken

 

cpu-chartZum Vergrößern klicken

Rechenleistung (sprich: CPU)

Die meisten SQL Server-Bereitstellungen enthalten eine Methode, um die Prozessorauslastung relativ zur Prozessorkapazität anzuzeigen. Für eine komplette SQL Server-Instanz können Sie beispielsweise die Leistungsindikatoren aus der perfmon-Kategorie „Prozessorinformationen“ erfassen. Für Azure SQL-Datenbanken können Sie DTU oder die Auslastung der virtuellen Kerne überwachen.

Die Rechen- oder CPU-Auslastung sollte auch als Prozentanteil der verfügbaren Leistung angezeigt werden, um schnell identifizieren zu können, ob andere Prozesse Ressourcen verbrauchen. Wie auch in verschiedenen anderen Visualisierungen verwendet SQL Sentry ein gestapeltes Flächendiagramm für Leistungs-Dashboards und Berichte.

 

Virtualisierung

Die Verwaltung von Rechenressourcen für moderne Serverumgebungen wäre unvollständig, ohne sich mit Virtualisierungsfragen zu befassen. Ein virtueller Server verwendet einen Hypervisor, um Ressourcen als eigenständige Systeme zu isolieren und bereitzustellen. Auf diese Weise kann ein Server die Aufgaben vieler einzelner Server erfüllen.

Die führenden kommerziellen Hypervisoren sind ESX von VMware und Hyper-V von Microsoft. Es gibt zwar noch weitere Alternativen, aber in einem Großteil der Unternehmen kommt eine dieser Lösungen zum Einsatz.

Datenexperten profitieren von einer ressourcenorientierten Übersicht über die Hypervisor-Leistung auf hoher Ebene. Sie sollten in der Lage sein, die Auslastung der gemeinsam genutzten CPU-, Arbeitsspeicher- und E/A-Ressourcen auf einen Blick abzulesen. Außerdem sollten sie Benachrichtigungen für Ereignisse erhalten, z. B. wenn eine VM zu einem neuen Host migriert oder eine VM-Konfiguration geändert wird.

SQL Sentry bietet systemeigene Virtualisierungsunterstützung für VMs in VMware und Hyper-V. Die Benutzer können eine Verbindung in vSphere vCenter registrieren, um auf Leistungs-Dashboards, Speicherleistung und ‑aktivität und Details zum Speicherplatz zuzugreifen. Mit SQL Sentry müssen Datenexperten nicht mehr darüber rätseln, ob ein Leistungsproblem mit der Virtualisierungsebene zusammenhängt. Sie können diese Frage stattdessen mit einem einzigen Klick auf einen Dashboard-Link beantworten, mit dem sie einen kompletten Überblick über die Virtualisierungsleistung aufrufen, ohne die VMware- oder Hyper-V-Administratoren um Hilfe bitten zu müssen.

 

SentryOne V Sentry : VMware Performance Monitoring - XLsoftZum Vergrößern klicken

 

 

 

 

memory-chartZum Vergrößern klicken

Arbeitsspeicherzuweisung

Überwachen Sie Kapazität und Auslastung des gesamten Arbeitsspeichers  auf dem Server, der SQL Server hostet, soweit möglich.

Überwachen Sie die Größe und Aktivität der SQL Server-Arbeitsspeicherpuffer. Achten Sie insbesondere auf den Puffercache. Datenträger sind normalerweise eine langsamere Ressource als der Arbeitsspeicher. Der Puffercache enthält die Daten, die im Arbeitsspeicher abgelegt wurden. Je mehr „warme“ Daten Sie im Puffercache aufbewahren können, desto weniger muss SQL Server vom Datenträger lesen. Behalten Sie außerdem den Plancache im Auge. Wenn der Plancache zu stark anwächst, wird der verfügbare Arbeitsspeicher für den Puffercache reduziert.

SQL Server verwendet einen Leistungsindikator mit dem Namen „Seitenlebenserwartung“ (Page Life Expectancy, PLE). Dieser Indikator gibt an, wie lange eine Datenseite im Puffercache existieren sollte, bevor sie entfernt wird. Überwachen Sie diesen Indikator auf Volatilität. Wenn dieser Wert außerhalb von geplanten Wartungsintervallen schnell abnimmt, sollten Sie der Ursache auf den Grund gehen. Wenn Sie nach akzeptablen Werten suchen, finden Sie an vielen Orten leider veraltete Informationen. Am Ende dieses Artikels finden Sie einige zusätzliche Ressourcen zur PLE.

Engpässe durch zu wenig verfügbaren Arbeitsspeicher gehören zu den häufigsten SQL Server-Leistungsproblemen. Daher ist es eine gute Idee,  Arbeitsspeicher-Manager besser kennenzulernen.

Speicherkapazität

Wenn unerwartet kein Speicherplatz mehr verfügbar ist, steht Ihre Datenplattform vor einem ernsthaften Problem. Seien Sie einen Schritt voraus, indem Sie den freien Speicherplatz und die Verbrauchsraten überwachen.

SQL Sentry bietet Prognosefunktionen für die Planung Ihrer Speicherkapazität auf Basis von maschinellem Lernen. Wenn Sie Ihre Kapazität nicht auf so raffinierte Art planen können, sollten Sie zumindest Wachstumstrends erfassen.

sql-sentry-storage-forecasting-disk-space-tab

Zum Vergrößern klicken

plan-explorer

Zum Vergrößern klicken

Ressourcenintensive Abfragen

Erfassen und analysieren Sie die ressourcenintensivsten Abfragen. Sie sollten fortlaufend daran arbeiten, die Top-10-Ressourcenverbraucher zu optimieren. Bei SQL Sentry nennen wir dies die Top SQL- Analyse. Im Idealfall können Sie sogar die Abfragepläne erfassen, die diese Abfragen bei jeder Ausführung verwenden. Dazu können Sie den SQL Server-Abfragedatenspeicher verwenden.

SolarWinds stellt der Community ein Gratis-Tool bereit, den Plan Explorer. Unsere Leistungsüberwachungslösung SQL Sentry enthält eine erweiterte Version von Plan Explorer. Mit der integrierten Version von Plan Explorer können Sie Abfragepläne mühelos analysieren, ohne zwischen Tools hin- und herzuwechseln.

Zeitintensive Blockaden

Blockaden und Sperren sind in SQL Server völlig normal. Jedes parallele transaktionale System braucht Sperren und Blockaden. Problematische Blockaden treten auf, wenn die entsprechenden Abfragen zu langsam ausgeführt werden. Eine Kette von Blockaden entsteht, wenn ein Prozess auf einen blockierenden Prozess wartet, und dahinter noch weitere Prozesse warten. Diese langen Blockadeketten lassen sich oft beheben, indem die Leistung der ursprünglich blockierenden Abfrage optimiert wird.

SolarWinds bietet eine grafische Darstellung dieser Blockadeketten. Wir zeigen den ursprünglichen Blockierer auf und liefern alle erforderlichen Informationen, um die Leistung der entsprechenden Abfrage optimieren zu können. Dazu gehört auch der Abfrageplan für die blockierende Abfrage.

SQL Blocking Diagram

Deadlock-Ereignisse

Ein Deadlock tritt auf, wenn einer oder mehrere Prozesse einander so sperren, dass keiner von ihnen fortgesetzt werden kann. In diesem Fall wird einer der Prozesse als Opfer ausgewählt. Die vom Opfer ausgeführte Aufgabe schlägt fehl und gibt einen Fehler aus.

Deadlocks sind besonders schwierig zu beheben. Zunächst müssen Sie nach Deadlocks suchen und deren Details erfassen. SQL Sentry stellt ein interaktives Diagramm für Deadlocks bereit. Das Diagramm zeigt den Opferprozess eindeutig auf, und Sie können die Reihenfolge der Sperren, die zum Deadlock geführt haben,  grafisch wiedergeben. Außerdem können Sie die Details aller beteiligten Prozesse in der angefügten Detailansicht analysieren.

deadlock-complicated

Zum Vergrößern klicken

All diese Punkte und vieles mehr mit SQL Sentry überwachen

QL Sentry kombiniert die automatische Datenerfassung mit Datenvisualisierungen speziell für Ihre SQL Server-Leistungsanalysen. SQL Sentry bietet mehr als nur einfache Überwachung durch die Korrelation von Metriken und Ereignissen. Finden Sie mit vollständiger kontextbezogener Relevanz im Handumdrehen heraus, was passiert ist und warum. Vergleichen Sie die Features von SQL Sentry mit denen der Konkurrenz.

SQL Sentry herunterladen