Abfrageoptimierung mit SQL Grease

cover image of blog article 'Abfrageoptimierung mit SQL Grease'

Problembeschreibung

In der Arbeit mit SQL Server und Datenbanken treten immer wieder Probleme und Leistungsengpässe auf. Es liegt nun an den DBA’s die Probleme und Bugs zu fixen, damit die Performance wieder auf ein optimales Niveau ansteigen kann. Doch so manche Suche nach Lösungen gestaltet sich schwieriger als gedacht, sodass man sehr tief in die Materie einsteigen muss. Oftmals helfen oberflächliche Bugfixes nicht, da im Hintergrund eventuelle Sperren oder Deadlocks existieren, die die Abfragepläne erheblich behindern und verlangsamen. Um eine Leistungsoptimierungen vorzunehmen, ist es notwendig, unsere laufenden Abfragen in Echtzeit zu untersuchen und aktuelle Probleme explizit zu untersuchen.

SQL Grease

Wie bereits angesprochen, helfen oftmals simple und oberflächliche Lösungsansätze nicht. Zumindest nicht für eine langfristige Performancesteigerung. Wir stellen Ihnen heute ein SQL basiertes Tool vor, was Ihnen dabei hilft, in der Tiefe von SQL Server nach passenden Lösungsansätzen zu suchen und diese entsprechend anzuwenden. SQL Grease kann als tiefgreifendes Tool zur Optimierung von SQL-Abfragen mit Echtzeit- und Verlaufsdaten zur Lösung komplexer Leistungsprobleme betrachtet werden. Das Tool verfügt über eine enge, native SQL Server gebundene Funktionalität. Es werden damit Daten verwendet, die Abfrage-Hashes, SQL Handles, Wartekategorien und SQL Sever Abfragespeicher IDs überprüfen. Ziel dessen ist es, den fehlerverursachenden SQL Code zu identifizieren und zu eliminieren.

Preis & Nutzen

Der Preis von SQL Grease basiert auf einem monatlichen Abonnementmodell und ist verfügbar für SQL Server 2008 -2019, für AWS einschließlich RDS, Azure und Azure SQL. Die Anwendung ist cloudbasiert und liefert somit vollständige Paritätsfunktionalität für alle Cloud- und On-Premise Anwendungen von SQL Server. Die Konsistenz vereinfacht die Fehlerbehebung und Leistungsoptimierung, da sie umgebungsübergreifend funktioniert und entsprechende Abgleiche herstellen kann. Eine zusätzliche SQL Server Lizenz / Windows Lizenz ist aufgrund der Cloud-Basiertheit nicht notwendig. Die gesamte Überwachung wird durch einen Collector vorgenommen, der im Netzwerk standardmäßig installiert ist und Daten in einem Performance Warehouse in Azure speichert. Die Aufgabe des Collectors ist die Verbindungsherstellung zu den SQL Server Instanzen und die nachfolgende Bereinigung der Abfragetexte, Ausführungspläne und Deadlock-Diagramme.

SQL Grease Dashboard

Das Dashboard von SQL Grease zeigt Ihnen die Ist-Zustände Ihrer Umgebung und präsentiert Echtzeitdaten der von Ihnen gewählten Zeiträume. Sie können sich Ereignisbenachrichtigungen, Abweichungen oder verschiedene Status anzeigen lassen, um den Zustand Ihrer SQL Server auf einen Blick einsehen zu können.

Abfrageoptimierung mit SQL Grease

Die SQL Grease VerlaufsansichtT

Die SQL Grease Verlaufsansicht veranschaulicht alle historischen Daten und Echtzeitaktivitäten. Die Daten liegen minimal 3 Minuten in der Vergangenheit. Folgende Informationen können Sie darüber erlangen:

  • Drill in einen bestimmten Zeitraumdatensatz, eine Datenbank und Leistungsstatistiken, wie zum Beispiel Abfragezeiten, Wartezeiten, verstrichene Zeit gespeicherter Prozeduren.
  • Über die interaktive Benutzeroberfläche können Sie sich verschiedene Diagramme und Statistiken inklusive Code zusammenstellen lassen.
  • Wenn Sie die Makroansicht wechseln, können Sie sich z.B. auf einen bestimmten SQL Abfrageplan fokussieren und diesen gründlich untersuchen.

Serveranomalien erfassen

Mit SQL Grease integrieren Sie maschinelles Lernen in Ihre SQL Server Plattform. Dieses Feature ermöglicht Anomalien von Workload-Mustern zu identifizieren. DBAs können damit steuern, welche Abfragepläne und Nutzungen als “normal” gelten und welche nicht und lassen sich Abweichungen oder auffällige Vorgänge direkt aufzeigen.

Fehlerbehebung bei SQL Wartestatistiken

Wartestatistiken sind eine wichtige Komponente für SQL Grease. Sie sind enthalten in der Oberflächen History, Abfrageplänen und Snapshot Sessions. Diese Leistungsmetriken geben Aufschluss darüber, wovon eine Abfrage während der Ausführung beeinflusst wird. In SQL Grease werden die Wartestatistiken farbcodiert zusammengefasst, um bei der Leistungsoptimierung zu unterstützen.

Ereignisse und Ereignisberichte

Wie bereits erwähnt, nutzt SQL Grease den Vorteil von maschinellem Lernen und dessen Funktionen. Auch bei der Berichterstellung von Ereignissen wird auf dieses Feature zurückgegriffen. Sie werden über intelligente Benachrichtigungen von Vorkommnissen und Ereignissen auf dem Laufenden gehalten. Das betrifft beispielsweise Ereignisse zu Zeitüberschreitungen, Leistungsengpässen oder hohe CPU Auslastung. In den Einstellungen des Benachrichtigungsassistenten können Sie den jeweiligen Schweregrad der Mitteilung konfigurieren und wissen im Umkehrschluss genau, welche Nachrichten, wie zu behandeln sind.

Abfrageoptimierung mit SQL Grease

Ereignisregeln

Zur Feinabstimmung von Ereignissen können spezifische Regeln angewendet und konfiguriert werden. Das könnten zum einen die Einbeziehung von Spezifikationsanwendungen sein, oder auch bestimmte Zeiträume auszuschließen. Folgende Parameter können dahingehend mit einer Regel belegt werden:

  • Felder: Befehl, Datenbankname, Wochendatum, Überschreitung der Ausführungszeit, Hostname, Programmname, Abfrage-Hash, Wartetyp, Anmeldename.
  • Beziehung: Contains, Not in, Starts with, Ends with, <, >, = and other wildcards
  • Werte: SELECT, INSERT, UPDATE, DELETE, DBCC, ALTER, CREATE, DROP, usw.
Abfrageoptimierung mit SQL Grease

Bei der Ereignisbenachrichtigung wird dann alles miteinander verknüpft. Sie liefern Informationen über den Ereignisname, den Schweregrad, die Benachrichtigungshäufigkeit und wer benachrichtigt wird.

Abfrageoptimierung mit SQL Grease

Dieses Paradigma bietet eine erhebliche Granularität über die Ereignisse, Benachrichtigungen, Regeln für Benachrichtigungen und wer benachrichtigt wird. Der Vorteil dabei ist, dass die DBAs und Ihr Team sich auf ihre Arbeit fokussieren können, ohne sich mit diesen Problemen beschäftigen zu müssen.

Fazit zu SQL Grease

SQL Grease kann Sie also bei der Optimierung Ihrer SQL Abfragen unterstützen und verbessert damit eventuelle Leistungsprobleme – sowohl on Premise als auch in der Cloud. Das Produkt wurde von Grund auf speziell für SQL Server entwickelt und kommt ohne zusätzliche Softwarelizenzierung oder Hardware aus.

Sollten Sie auch bereits mit Performanceproblemen hinsichtlich Ihrer SQL Server konfrontiert worden sein? Kontaktieren Sie uns gerne für ein individuelles Assessment, in dem wir Sie mit passenden Leistungsoptimierungen beraten und unterstützen. Schreiben Sie uns einfach eine Email über das Kontaktformular und lernen unsere Spezialisten kennen.