Überwachung und Leistungsoptimierung in Azure SQL-Datenbank und Azure SQL Managed Instance

Gilt für:Azure SQL-DatenbankAzure SQL Managed Instance

Um die Leistung einer Datenbank in Azure SQL-Datenbank und Azure SQL Managed Instance zu überwachen, beginnen Sie mit der Überwachung der CPU und der E/A-Ressourcen, die von der Arbeitsauslastung in Bezug auf den Grad der Datenbankleistung verwendet werden, den Sie bei der Auswahl einer bestimmten Dienst- und Leistungsebene ausgewählt haben. Um dies zu erreichen, geben Azure SQL-Datenbank und Azure SQL Managed Instance Ressourcenmetriken aus, die im Azure-Portal oder mithilfe eines dieser SQL Server-Verwaltungstools angezeigt werden können:

Die folgende Tabelle enthält eine Zusammenfassung der Überwachungsfunktionen in Azure SQL-Datenbank und Azure SQL Managed Studio.

Überwachungslösung SQL-Datenbank SQL Managed Instance Umgebungsüberwachung Geringe Wartezeit Umfassende Daten
Metriken und Warnungen Ja Ja Ja Ja No
Query Performance Insight Ja Keine Ja Nr. Nein
Überwachung mit DMVs Ja Ja Keine Ja Ja
Überwachen mithilfe des Abfragespeichers Ja Ja Keine Ja No
Datenbankwatcher (Vorschau) Ja Ja Ja Ja Ja
SQL Insights (Vorschau) in Azure Monitor Ja Ja Keine Ja No
Azure SQL-Analyse (Vorschau) mit Azure Monitor-Protokollen Ja Ja Ja Nr. Nein

Tipp

Der Datenbankwatcher ist die empfohlene Überwachungslösung für Szenarien, die geringe Wartezeiten bei der Datensammlung, eine Überwachung auf Umgebungsebene, umfassende Überwachungsdaten einschließlich Details auf Abfrageebene und die Unterstützung erweiterter Analysen der erfassten Überwachungsdaten benötigen.

Database Advisors im Azure-Portal

Azure SQL-Datenbank bietet eine Reihe von Database Advisors, mit denen Sie Empfehlungen zur Leistungsoptimierung und automatische Optimierungsoptionen für eine bessere Leistung erhalten.

Darüber hinaus werden auf der Seite Query Performance Insight Details zu den Abfragen angezeigt, die für den Großteil der CPU- und E/A-Auslastung für Singletons und Pooldatenbanken verantwortlich sind.

  • Query Performance Insight ist im Azure-Portal im Bereich „Übersicht“ von Azure SQL-Datenbank unter „Intelligente Leistung“ verfügbar. Verwenden Sie die automatisch gesammelten Informationen, um Abfragen zu identifizieren und mit der Optimierung der Workloadleistung zu beginnen.
  • Sie können auch die automatische Optimierung konfigurieren, um diese Empfehlungen automatisch zu implementieren, z. B. das Erzwingen eines Abfrageausführungsplans zum Verhindern von Regressionen oder das Erstellen und Löschen von nicht gruppierten Indizes basierend auf Workloadmustern. Die automatische Optimierung ist auch im Azure-Portal im Bereich „Übersicht“ von Azure SQL-Datenbank unter „Intelligente Leistung“ verfügbar.

Azure SQL-Datenbank und Azure SQL Managed Instance bieten verbesserte Überwachungs- und Optimierungsfunktionen, die von künstlicher Intelligenz unterstützt werden, um Ihnen bei der Problembehandlung und Maximierung der Leistung Ihrer Datenbanken und Lösungen zu helfen. Sie können den Streamingexport von Intelligent Insights und andere Ressourcenprotokolle und Metriken der Datenbank in eines von mehreren Zielen für die Nutzung und Analyse konfigurieren.

Außerhalb des Azure-Portals verfügt die Datenbank-Engine mit dem Abfragespeicher und dynamischen Verwaltungssichten (Dynamic Management Views, DMVs) über eigene Überwachungs- und Diagnosefunktionen, die von Azure SQL-Datenbank und SQL Managed Instance genutzt werden. Unter Überwachung mithilfe von DMVs finden Sie Skripts zum Überwachen verschiedener Leistungsprobleme in Azure SQL-Datenbank und Azure SQL Managed Instance.

Überwachungs- und Diagnosetelemetrie

Im folgenden Diagramm sind alle Datenbank-Engine-Protokolle, Plattformmetriken, Ressourcenprotokolle und Azure-Aktivitätsprotokolle aufgeführt, die von Azure SQL-Produkten generiert werden. Darüber hinaus wird gezeigt, wie sie verarbeitet werden und für die Analyse angezeigt werden können.

Diagramm mit vollständigen Protokollierungs- und Diagnoseinformationspfaden für Azure SQL-Produkte.

Überwachen und Optimieren von Azure SQL im Azure-Portal

Im Azure-Portal ermöglichen Azure SQL-Datenbank und Azure SQL Managed Instance die Überwachung von Ressourcenmetriken. Azure SQL-Datenbank stellt Database Advisors zur Verfügung, und Query Performance Insight bietet Empfehlungen zur Abfrageoptimierung und eine Leistungsanalyse für Abfragen. Sie können im Azure-Portal eine automatische Optimierung für logische SQL-Server und deren Einzel- und Pooldatenbanken aktivieren.

Hinweis

Datenbanken mit extrem geringer Auslastung werden im Portal möglicherweise mit einem geringeren Verbrauch als dem tatsächlichen angezeigt. Aufgrund der Art, wie Telemetriedaten ausgegeben werden, wenn ein Double-Wert in den nächsten Integer-Wert konvertiert wird, werden bestimmte Verbrauchswerte unter 0,5 auf 0 gerundet. Dies kann bei den ausgegebenen Telemetriedaten zu einer verminderten Genauigkeit führen. Weitere Einzelheiten finden Sie unter Niedrige Metriken für Datenbanken und Pools für elastische Datenbanken werden auf 0 (null) gerundet.

Ressourcenüberwachung für Azure SQL-Datenbank und Azure SQL Managed Instance

In der Ansicht Metriken im Azure-Portal können Sie eine Vielzahl von Ressourcenmetriken schnell überwachen. Anhand dieser Metriken können Sie feststellen, ob eine Datenbank sich den Grenzwerten von CPU, Arbeitsspeicher, E/A oder Speicherressourcen nähert. Hohe DTU-, CPU- oder E/A-Auslastung kann darauf hinweisen, dass Ihre Arbeitslast mehr Ressourcen benötigt. Ggf. weist sie aber darauf hin, dass Abfragen optimiert werden müssen. Weitere Informationen zu den unterstützten Metriken in Azure SQL-Datenbank und Azure SQL Managed Instance finden Sie unter Microsoft.Sql/server/servers, Microsoft.Sql/servers/elasticPools und Microsoft.Sql/managedInstances.

Screenshot der Ressourcenmetriken im Azure-Portal für eine SQL-Datenbank.

Eine Reihe empfohlener Warnungsregeln in Azure SQL-Datenbank finden Sie unter Überwachen Azure SQL-Datenbank mit Azure Monitor-Metriken und -Warnungen.

Hinweis

Speicherbezogene Metriken im Azure-Portal, wie z. B. der genutzte Datenbereich, werden in Zweierpotenz-Werten, aber in Zehnerpotenz-Einheiten angegeben. Beispielsweise bezieht sich 1 MB Speicherplatz nicht auf 1.000.000 Bytes, sondern auf 1.048.576 Bytes. Die neueren Einheiten für Zweierpotenz-Werte lauten KiB, MiB, GiB usw. Aus Gründen der Kompatibilität und Konsistenz mit der in der Vergangenheit etablierten Nutzung in der Datenbank-Engine kommen bei Azure SQL-Speichermetriken die älteren Einheiten wie KB, MB, GB usw. zum Einsatz.

Database Advisors in Azure SQL-Datenbank

Azure SQL-Datenbank umfasst Database Advisors, die Empfehlungen zur Leistungsoptimierung für Einzel- und Pooldatenbanken bieten. Diese Empfehlungen sind sowohl im Azure-Portal als auch mithilfe von PowerShell verfügbar. Aktivieren Sie die automatische Optimierung, damit diese Optimierungsempfehlungen von Azure SQL-Datenbank automatisch implementiert werden können.

Query Performance Insight in Azure SQL-Datenbank

Query Performance Insight zeigt im Azure-Portal die Leistung der Abfragen für Singletons und Pooldatenbanken mit dem höchsten Verbrauch und der längsten Ausführungsdauer an.

Niedrige Metriken für Datenbanken und Pools für elastische Datenbanken werden auf 0 (null) gerundet

Ab September 2020 werden Datenbanken mit extrem geringer Auslastung im Portal möglicherweise mit einem geringeren Verbrauch als dem tatsächlichen angezeigt. Aufgrund der Art, wie Telemetriedaten ausgegeben werden, wenn ein Double-Wert in den nächsten Integer-Wert konvertiert wird, werden bestimmte Verbrauchswerte unter 0,5 auf 0 gerundet. Dies kann bei den ausgegebenen Telemetriedaten zu einer verminderten Genauigkeit führen.

Beispiel: Gehen Sie von einem 1-minütigen Fenster mit den folgenden vier Datenpunkten aus: 0,1, 0,1, 0,1 und 0,1. Diese niedrigen Werte werden auf 0, 0, 0 und 0 abgerundet und ergeben damit den Durchschnittswert 0. Wenn einer der Datenpunkte größer als 0,5 ist, z. B. 0,1, 0,1, 0,9 und 0,1, werden die Werte auf 0, 0, 1 und 0 gerundet, sodass als Durchschnitt 0,25 berechnet wird.

Generieren intelligenter Bewertungen von Leistungsproblemen

Intelligent Insights für Azure SQL-Datenbank und Azure SQL Managed Instance überwacht kontinuierlich die Datenbanknutzung durch künstliche Intelligenz und ermittelt Störungen, die zu schlechter Leistung führen. Intelligent Insights erkennt automatisch Leistungsprobleme mit Datenbanken auf Grundlage von Wartezeiten der Abfrageausführung, Fehlern oder Timeouts. Nach der Erkennung wird eine detaillierte Analyse von Intelligent Insights durchgeführt, die ein Ressourcenprotokoll namens SQLInsights generiert (unabhängig von Azure Monitor SQL Insights (Vorschau)). SQLInsights ist eine intelligente Bewertung der Probleme. Die Bewertung besteht aus einer Analyse der Grundursache des Leistungsproblems der Datenbank und nach Möglichkeit Empfehlungen für Leistungsverbesserungen.

Bei Intelligent Insights handelt es sich um eine einzigartige Funktion der in Azure integrierten Logik, die folgende Werte bereitstellt:

  • Proaktive Überwachung
  • Angepasste Einblicke in die Leistung
  • Frühe Erkennung von Leistungsminderungen der Datenbank
  • Analyse der Grundursache der erkannten Probleme
  • Empfehlungen für Leistungsverbesserungen
  • Funktion für das Aufskalieren von einigen Hunderttausend Datenbanken
  • Positive Auswirkung auf DevOps-Ressourcen und die Gesamtkosten

Aktivieren des Streamingexports von Metriken und Ressourcenprotokollen

Diagnoseeinstellungen sind ein Feature mit Ressourcenprotokollkategorien (früher als Diagnoseprotokolle bezeichnet). Sie können den Streamingexport von Diagnosetelemetriedaten zu einem von mehreren Zielen aktivieren und konfigurieren, einschließlich Protokollanalyse, Event Hubs und Azure Storage.

Hinweis

Die Ressourcenprotokollkategorie für Intelligent Insights heißt SQLInsights. Sie hat nichts mit der Überwachungslösung von SQL Insights (Vorschau) zu tun.

Konfigurieren Sie Diagnoseeinstellung zum Streamen von Kategorien von Metriken und Ressourcenprotokollen für Singletons, Pooldatenbanken, Pools für elastische Datenbanken, SQL Managed Instances und Instanzdatenbanken an einen der folgenden Azure-Dienste.

Log Analytics-Arbeitsbereich in Azure Monitor

Sie können Metriken und Ressourcenprotokolle an einen Log Analytics-Arbeitsbereich in Azure Monitor streamen. Hier gestreamte Daten können von SQL Analytics (Vorschau) genutzt werden. Dabei handelt es sich um eine auf die Cloud beschränkte Überwachungslösung. Sie ermöglicht die intelligente Überwachung Ihrer Datenbanken mit Leistungsberichten, Warnungen und Empfehlungen zur Risikominderung. Die an einen Log Analytics-Arbeitsbereich gestreamten Daten können zusammen mit anderen erfassten Überwachungsdaten analysiert werden. Sie ermöglichen Ihnen außerdem die Verwendung anderer Azure Monitor-Features wie Warnungen und Visualisierungen.

Hinweis

Azure SQL-Analyse (Vorschauversion) ist eine Integration in Azure Monitor, bei der sich viele Überwachungslösungen nicht mehr in der aktiven Entwicklung befinden.

Azure Event Hubs

Sie können Metriken und Ressourcenprotokolle in Azure Event Hubs streamen. Streamen Sie Diagnosetelemetrie an Event Hubs, um folgende Funktionalität bereitzustellen:

  • Streamen von Protokollen in Protokollierungs- und Telemetriesystemen von Drittanbietern

    Streamen Sie alle Ihre Metriken und Ressourcenprotokolle an einen einzelnen Event Hub, um Protokolldaten an ein SIEM- oder Protokollanalysetool eines Drittanbieters weiterzureichen.

  • Erstellen einer benutzerdefinierten Telemetrie- und Protokollierungsplattform

    Event Hubs ermöglichen dank des hochgradig skalierbaren Veröffentlichen-Abonnieren-Musters eine flexible Erfassung der Metriken und Ressourcenprotokolle auf einer benutzerdefinierten Telemetrieplattform. Weitere Informationen finden Sie unter Azure Event Hubs.

  • Anzeigen der Dienstintegrität durch Streamen von Daten an Power BI

    Verwenden Sie Event Hubs, Stream Analytics und Power BI, um sich anhand Ihrer Diagnosedaten nahezu in Echtzeit einen Einblick in Ihre Azure-Dienste verschaffen. Details zu dieser Lösung finden Sie unter Stream Analytics und Power BI: Ein Dashboard zur Echtzeitanalyse von Streamingdaten.

Azure Storage

Streamen Sie Metriken und Ressourcenprotokolle in Azure Storage. Verwenden Sie Azure Storage zum Archivieren großer Mengen von Diagnosetelemetriedaten zu einem Bruchteil der Kosten der beiden vorherigen Streamingoptionen.

Verwenden von „Erweiterte Ereignisse“

Darüber hinaus können Sie Erweiterte Ereignisse für die erweiterte Überwachung und Problembehandlung in SQL Server, Azure SQL-Datenbank und Azure SQL Managed Instance verwenden. „Erweiterte Ereignisse“ ist ein „Ablaufverfolgungstool“ und eine Ereignisarchitektur und ist der SQL-Ablaufverfolgung überlegen. Es ermöglicht Benutzern, Daten in dem Umfang zu sammeln, der zum Erkennen oder Beheben eines Leistungsproblems erforderlich ist. Die Auswirkungen auf die laufende Anwendungsleistung werden dabei minimiert. „Erweiterte Ereignisse“ ersetzt die veraltete SQL-Ablaufverfolgung und SQL Server Profiler-Features. Informationen zur Verwendung erweiterter Ereignisse in Azure SQL-Datenbank finden Sie unter Erweiterte Ereignisse in Azure SQL-Datenbank. Verwenden Sie in Azure SQL-Datenbank und SQL Managed Instance ein in Azure Blob Storage gehostetes Ereignisdateiziel.