Überwachen von Azure SQL-Datenbank
Gilt für: Azure SQL-Datenbank
Dieser Artikel beschreibt Folgendes:
- Die Arten von Überwachungsdaten, die Sie für diesen Dienst sammeln können
- Möglichkeiten zum Analysieren dieser Daten.
Hinweis
Wenn Sie bereits mit diesem Dienst und/oder Azure Monitor vertraut sind und nur wissen möchten, wie Überwachungsdaten analysiert werden, lesen Sie den Abschnitt Analysieren am Ende dieses Artikels.
Wenn Sie über unternehmenskritische Anwendungen und Geschäftsprozesse verfügen, die auf Azure-Ressourcen basieren, müssen Sie diese überwachen und Warnungen für Ihr System abrufen. Der Azure Monitor-Dienst sammelt und aggregiert Metriken und Protokolle aus jeder Komponente Ihres Systems. Azure Monitor bietet Ihnen eine Übersicht über Verfügbarkeit, Leistung und Resilienz und benachrichtigt Sie über Probleme. Sie können das Azure-Portal, PowerShell, die Azure CLI, die REST-API oder Clientbibliotheken verwenden, um Überwachungsdaten einzurichten und anzuzeigen.
- Weitere Informationen zu Azure Monitor finden Sie unter Azure Monitor – Übersicht.
- Weitere Informationen zum Überwachen von Azure-Ressourcen im Allgemeinen finden Sie unter Überwachen von Azure-Ressourcen mit Azure Monitor.
Die SQL Server-Datenbank-Engine verfügt über eigene Überwachungs- und Diagnosefunktionen, die Azure SQL-Datenbank verwendet, z. B. Abfragespeicher und dynamische Verwaltungssichten (DMVs). Weitere Informationen finden Sie unter Überwachen der Leistung mithilfe des Abfragespeichers und Überwachen der Leistung von Azure SQL-Datenbank mithilfe dynamischer Verwaltungssichten.
Eine detaillierte Beschreibung aller Überwachungs- und Leistungsaspekte von Azure SQL-Datenbank und Azure SQL Managed Instance finden Sie unter Überwachung und Leistungsoptimierung in Azure SQL-Datenbank und Azure SQL Managed Instance.
Wichtig
Eine Reihe empfohlener Warnungsregeln finden Sie unter Überwachen Azure SQL-Datenbank mit Azure Monitor-Metriken und -Warnungen.
Datenbankwatcher (Vorschau)
Der Datenbankwatcher erfasst detaillierte Workload-Überwachungsdaten und vermittelt Ihnen detaillierte Einblicke in die Datenbankleistung, Konfiguration und Integrität. Dashboards im Azure-Portal vermitteln einen umfassenden Überblick über Ihre Azure SQL-Umgebung und Detailansichten aller überwachten Ressourcen. Die Daten werden in einem zentralen Datenspeicher in Ihrem Azure-Abonnement erfasst. Die erfassten Daten können Sie abfragen, analysieren, exportieren und visualisieren und in nachgelagerte Systeme integrieren.
Weitere Informationen zum Datenbank-Watcher finden Sie in den folgenden Artikeln:
- Überwachen von Azure SQL-Workloads mit Datenbankwatcher (Vorschau)
- Schnellstart: Erstellen eines Datenbankwatchers zum Überwachen von Azure SQL (Vorschau)
- Erstellen und Konfigurieren eines Datenbankwatchers (Vorschau)
- Datensammlung und Datasets des Datenbankwatchers (Vorschau)
- Analysieren von Überwachungsdaten des Datenbankwatchers (Vorschau)
- Häufig gestellte Fragen zum Datenbankwatcher
Statistik zur Abfrageleistung
Die Statistik zur Abfrageleistung nutzt den SQL-Server-Abfragespeicher, um intelligente Abfrageanalysen und Erkenntnisse zur Auswahl von Abfrageplänen und zur Leistung für einzelne Datenbanken und Pooldatenbanken zu bieten. Weitere Informationen finden Sie unter Query Performance Insight für Azure SQL-Datenbank.
Ressourcentypen
Azure verwendet das Konzept von Ressourcentypen und IDs, um alles in einem Abonnement zu identifizieren. Ressourcentypen sind auch Teil der Ressourcen-IDs für jede Ressource, die in Azure ausgeführt wird. Beispiel: Ein Ressourcentyp für eine VM ist Microsoft.Compute/virtualMachines
. Eine Liste der Dienste und ihrer zugehörigen Ressourcentypen finden Sie unter Ressourcenanbieter.
Ähnliche organisiert Azure Monitor die Kernüberwachungsdaten in Metriken und Protokollen basierend auf Ressourcentypen, die auch als Namespaces bezeichnet werden. Für unterschiedliche Ressourcentypen stehen unterschiedliche Metriken und Protokolle zur Verfügung. Ihr Dienst ist möglicherweise mehr als einem Ressourcentyp zugeordnet.
Weitere Informationen zu den Ressourcentypen für SQL-Datenbank finden Sie unter Referenz zur Überwachung von Daten in SQL-Datenbank.
Datenspeicher
For Azure Monitor:
- Metrikdaten werden in der Azure Monitor-Metrikendatenbank gespeichert.
- Protokolldaten werden im Azure Monitor-Protokollspeicher gespeichert. Log Analytics ist ein Tool im Azure-Portal zum Abfragen dieses Speichers.
- Das Azure-Aktivitätsprotokoll ist ein separater Speicher mit eigener Schnittstelle im Azure-Portal.
Optional können Sie Metrik- und Aktivitätsprotokolldaten an den Azure Monitor-Protokollspeicher weiterleiten. Anschließend können Sie Log Analytics verwenden, um die Daten abzufragen und mit anderen Protokolldaten zu korrelieren.
Viele Dienste können Diagnoseeinstellungen verwenden, um Metrik- und Protokolldaten an andere Speicherorte außerhalb von Azure Monitor zu senden. Beispiele umfassen Azure Storage, gehostete Partnersysteme und Nicht-Azure-Partnersysteme, die Event Hubs verwenden.
Detaillierte Informationen dazu, wie Azure Monitor Daten speichert, finden Sie unter Azure Monitor-Datenplattform.
Azure Monitor-Plattformmetriken
Azure Monitor stellt Plattformmetriken für die meisten Dienste bereit. Diese Metriken sind:
- Einzeln für jeden Namespace definiert.
- In der Azure Monitor-Datenbank für Zeitreihenmetriken gespeichert.
- Einfach strukturiert und in der Lage, Warnmeldungen in Quasi-Echtzeit zu unterstützen.
- Verwendet zum Nachverfolgen der Leistung einer Ressource im Zeitverlauf.
Erfassung: Azure Monitor sammelt Plattformmetriken automatisch. Es ist keine Konfiguration erforderlich.
Routing: Sie können einige Plattformmetriken auch an Azure Monitor-Protokolle/Log Analytics weiterleiten, damit Sie diese mit anderen Protokolldaten abfragen können. Überprüfen Sie anhand der Einstellung DS-Export für die einzelnen Metriken, ob Sie eine Diagnoseeinstellung zum Weiterleiten der jeweiligen Metrik an Azure Monitor-Protokolle/Log Analytics verwenden können.
- Weitere Informationen finden Sie in der Diagnoseeinstellung „Metriken“.
- Informationen zum Konfigurieren von Diagnoseeinstellungen für einen Dienst finden Sie unter Erstellen von Diagnoseeinstellungen in Azure Monitor.
Eine Liste aller Metriken, die für alle Ressourcen in Azure Monitor gesammelt werden können, finden Sie unter Unterstützte Metriken in Azure Monitor.
Metriken für Azure SQL-Datenbank
Sie können Metriken verwenden, um den Ressourcenverbrauch und die Integrität der Datenbank und des elastischen Pools zu überwachen. Sie können zum Beispiel Folgendes:
- Wählen Sie die richtige Größe der Datenbank oder des elastischen Pools für Ihre Anwendungsworkloads
- Erkennen eines graduellen Anstiegs des Ressourcenverbrauchs und proaktives Skalieren der Datenbank oder des elastischen Pools
- Erkennen und Behandeln von Leistungsproblemen
Eine Liste und Beschreibungen der häufig verwendeten Metriken in Azure SQL-Datenbank finden Sie unter Metriken für Azure SQL-Datenbank.
Tabellen aller verfügbaren Metriken für SQL-Datenbank finden Sie unter Referenz zur Überwachung von Daten in SQL-Datenbank.
Azure Monitor-Ressourcenprotokolle
Ressourcenprotokolle bieten Einblicke in Vorgänge, die von einer Azure-Ressourcen ausgeführt wurden. Protokolle werden automatisch generiert, aber Sie müssen sie an Azure Monitor-Protokolle weiterleiten, um sie zu speichern oder abzufragen. Protokolle sind in Kategorien organisiert. Ein bestimmter Namespace verfügt möglicherweise über mehrere Ressourcenprotokollkategorien.
Sammlung: Ressourcenprotokolle werden erst gesammelt und gespeichert, nachdem Sie eine Diagnoseeinstellung erstellt und die Protokolle an mindestens einen Speicherort weitergeleitet haben. Wenn Sie eine Diagnoseeinstellung erstellen, legen Sie fest, welche Kategorien von Protokollen gesammelt werden sollen. Es gibt mehrere Möglichkeiten zum Erstellen und Verwalten von Diagnoseeinstellungen, u. a. das Azure-Portal, programmgesteuert und über Azure Policy.
Routing: Der vorgeschlagene Standard besteht darin, Ressourcenprotokolle an Azure Monitor-Protokolle weiterzuleiten, damit Sie diese mit anderen Protokolldaten abfragen können. Andere Speicherorte wie z. B. Azure Storage, Azure Event Hubs und bestimmte Microsoft-Überwachungspartner sind ebenfalls verfügbar. Weitere Informationen finden Sie unter Azure-Ressourcenprotokolle und Ressourcenprotokollziele.
Ausführliche Informationen zum Sammeln, Speichern und Weiterleiten von Ressourcenprotokollen finden Sie unter Diagnoseeinstellungen in Azure Monitor.
Eine Liste aller verfügbaren Ressourcenprotokollkategorien in Azure Monitor finden Sie unter Unterstützte Ressourcenprotokolle in Azure Monitor.
Alle Ressourcenprotokolle in Azure Monitor enthalten dieselben Headerfelder, gefolgt von dienstspezifischen Feldern. Das allgemeine Schema wird in Azure Monitor-Ressourcenprotokollschema beschrieben.
Protokolle für Azure SQL-Datenbank
Die Überwachung von Azure SQL-Datenbank verfolgt Datenbankereignisse und schreibt sie in ein Überwachungsprotokoll in Ihrem Azure Storage-Konto, Log Analytics-Arbeitsbereich oder Event Hubs. Weitere Informationen finden Sie unter Überwachung für Azure SQL-Datenbank.
Weitere Informationen zu den verfügbaren Ressourcenprotokollen und Diagnosen für Azure SQL-Datenbank finden Sie unter Konfigurieren des Streaming-Exports von Diagnose-Telemetrie.
Die verfügbaren Kategorien an Ressourcenprotokollen, die zugehörigen Protokollanalyse-Tabellen und die Protokollschemata für die SQL-Datenbank finden Sie unter Referenz zur Überwachung von Daten in der SQL-Datenbank.
Azure-Aktivitätsprotokoll
Das Aktivitätsprotokoll enthält Ereignisse auf Abonnementebene, die Vorgänge für jede Azure-Ressource nachverfolgen, so wie sie von außerhalb dieser Ressource gesehen werden, z. B. das Erstellen einer neuen Ressource oder das Starten einer VM.
Sammlung: Aktivitätsprotokollereignisse werden automatisch generiert und in einem separaten Speicher für die Anzeige im Azure-Portal gesammelt.
Routing: Sie können Aktivitätsprotokolldaten an Azure Monitor-Protokolle senden, damit Sie diese zusammen mit anderen Protokolldaten analysieren können. Andere Speicherorte wie z. B. Azure Storage, Azure Event Hubs und bestimmte Microsoft-Überwachungspartner sind ebenfalls verfügbar. Weitere Informationen zum Weiterleiten von Aktivitätsprotokollen finden Sie unter Übersicht über das Azure-Aktivitätsprotokoll.
Analysieren von Überwachungsdaten
Es gibt viele Tools zum Analysieren von Überwachungsdaten.
Azure Monitor-Tools
Azure Monitor unterstützt die folgenden grundlegenden Tools:
Metriken-Explorer, ein Tool im Azure-Portal, mit dem Sie Metriken für Azure-Ressourcen anzeigen und analysieren können. Weitere Informationen finden Sie unter Analysieren von Metriken mit dem Azure Monitor-Metrik-Explorer.
Log Analytics, ein Tool im Azure-Portal, mit dem Sie Protokolldaten mithilfe der KQL-Abfragesprache abfragen und analysieren können. Weitere Informationen finden Sie unter Erste Schritte mit Protokollabfragen in Azure Monitor.
Das Aktivitätsprotokoll, das über eine Benutzeroberfläche im Azure-Portal für die Anzeige und einfache Suchvorgänge verfügt. Um ausführlichere Analysen durchzuführen, müssen Sie die Daten an Azure Monitor-Protokolle weiterleiten und komplexere Abfragen in Log Analytics ausführen.
Zu den Tools, die eine komplexere Visualisierung ermöglichen, gehören:
- Dashboards, mit denen Sie verschiedene Typen von Daten in einen einzelnen Bereich im Azure-Portal kombinieren können.
- Arbeitsmappen, anpassbare Berichte, die Sie im Azure-Portal erstellen können. Arbeitsmappen können Text, Metriken und Protokollabfragen enthalten.
- Grafana, ein Tool auf einer offenen Plattform, das für operationale Dashboards ideal ist. Sie können Grafana verwenden, um Dashboards zu erstellen, die Daten aus mehreren anderen Quellen als Azure Monitor enthalten.
- Power BI ist ein Geschäftsanalysedienst, der interaktive Visualisierungen für verschiedene Datenquellen bereitstellt. Sie können Power BI für den automatischen Import von Protokolldaten aus Azure Monitor konfigurieren, um diese Visualisierungen zu nutzen.
Exporttools für Azure Monitor
Sie können Daten aus Azure Monitor in andere Tools abrufen, indem Sie die folgenden Methoden verwenden:
Metriken: Verwenden Sie die REST-API für Metriken, um Metrikdaten aus der Azure Monitor-Metrikendatenbank zu extrahieren. Die API unterstützt Filterausdrücke, um die abgerufenen Daten zu verfeinern. Weitere Informationen finden Sie in der Referenz zur Azure Monitor-REST-API.
Protokolle: Verwenden Sie die REST-API oder die zugeordneten Clientbibliotheken.
Eine weitere Option ist der Arbeitsbereichsdatenexport.
Informationen zu den ersten Schritten mit der REST-API für Azure Monitor finden Sie in der exemplarischen Vorgehensweise für die Azure-Überwachungs-REST-API.
Kusto-Abfragen
Sie können Überwachungsdaten im Azure Monitor Logs / Log Analytics Store mithilfe der Kusto-Abfragesprache (KQL) analysieren.
Wichtig
Wenn Sie Protokolle im Menü des Diensts im Portal auswählen, wird Log Analytics geöffnet, wobei der Abfragebereich auf den aktuellen Dienst festgelegt ist. Dieser Bereich bedeutet, dass Protokollabfragen nur Daten aus diesem Ressourcentyp umfassen. Wenn Sie eine Abfrage durchführen möchten, die Daten aus anderen Azure-Diensten enthält, wählen Sie im Menü Azure Monitor die Option Protokolle aus. Ausführliche Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.
Eine Liste häufiger Abfragen für alle Dienste finden Sie unter Log Analytics-Abfrageschnittstelle.
Hinweis
Zwischen der Ausgabe eines Ereignisses und dessen Anzeige in einem Log Analytics-Arbeitsbereich können gelegentlich bis zu 15 Minuten vergehen.
Verwenden Sie die folgenden Abfragen, um Ihre Datenbank zu überwachen. Je nach Kaufmodell werden möglicherweise unterschiedliche verfügbare Optionen angezeigt.
Beispiel A: Log_write_percent der letzten Stunde
AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('log_write_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Log_Maximum_last60mins = max(Maximum), Log_Minimum_last60mins = min(Minimum), Log_Average_last60mins = avg(Average) by Resource, MetricName
Beispiel B: SQL Server-Wartevorgänge (Typen) der letzten 15 Minuten
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(15min)
| parse _ResourceId with * "/microsoft.sql/servers/" LogicalServerName "/databases/" DatabaseName
| summarize Total_count_15mins = sum(delta_waiting_tasks_count_d) by LogicalServerName, DatabaseName, wait_type_s
Beispiel C: SQL Server-Deadlocks der letzten 60 Minuten
AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('deadlock')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Deadlock_max_60Mins = max(Maximum) by Resource, MetricName
Beispiel D: Durchschnittl. CPU-Auslastung der letzten Stunde
AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('cpu_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize CPU_Maximum_last60mins = max(Maximum), CPU_Minimum_last60mins = min(Minimum), CPU_Average_last60mins = avg(Average) by Resource, MetricName
Alerts
Azure Monitor-Warnungen informieren Sie proaktiv, wenn bestimmte Bedingungen in Ihren Überwachungsdaten auftreten. Warnungen ermöglichen Ihnen, Probleme in Ihrem System zu identifizieren und zu beheben, bevor Ihre Kunden sie bemerken. Weitere Informationen finden Sie unter Azure Monitor-Warnungen.
Es gibt viele Quellen allgemeiner Warnungen für Azure-Ressourcen. Beispiele für häufige Warnungen für Azure-Ressourcen finden Sie in den Beispielabfragen für Protokollwarnungen. Die Website Azure Monitor-Baselinewarnungen (Azure Monitor Baseline Alerts, AMBA) stellt eine halbautomatisierte Methode für die Implementierung wichtiger Metrikwarnungen der Plattform, Dashboards und Richtlinien bereit. Die Website gilt für eine fortlaufend erweiterte Teilmenge von Azure-Diensten, einschließlich aller Dienste, die Teil der Azure-Zielzone (Azure Landing Zone, ALZ) sind.
Mit dem allgemeinen Warnungsschema wird die Benutzeroberfläche für Warnungsbenachrichtigungen in Azure Monitor standardisiert. Weitere Informationen finden Sie unter Allgemeines Warnungsschema.
Warnungstypen
Sie können zu jeder Metrik oder Protokolldatenquelle der Azure Monitor-Datenplattform Warnungen erhalten. Es gibt viele verschiedene Typen von Warnungen, abhängig von den Diensten, die Sie überwachen, und den Überwachungsdaten, die Sie sammeln. Verschiedene Typen von Warnungen haben jeweils ihre Vor- und Nachteile. Weitere Informationen finden Sie unter Auswählen des richtigen Warnungsregeltyps.
In der folgenden Liste werden die Typen von Azure Monitor-Warnungen beschrieben, die Sie erstellen können:
- Metrikwarnungen bewerten Ressourcenmetriken in regelmäßigen Abständen. Metriken können Plattformmetriken, benutzerdefinierte Metriken, in Metriken konvertierte Protokolle aus Azure Monitor oder Application Insights-Metriken sein. Metrikwarnungen können auch mehrere Bedingungen und dynamische Schwellwerte anwenden.
- Protokollwarnungen ermöglichen es Benutzern, eine Log Analytics-Abfrage zum Auswerten von Ressourcenprotokollen in vordefinierten Frequenz zu verwenden.
- Aktivitätsprotokollwarnungen werden ausgelöst, wenn ein neues Aktivitätsprotokollereignis eintritt, das definierte Bedingungen erfüllt. Resource Health- und Service Health-Warnungen sind Aktivitätsprotokollwarnungen, die über die Dienst- und Ressourcenintegrität berichten.
Einige Azure-Dienste unterstützen auch intelligente Erkennungswarnungen, Prometheus-Warnungen oder empfohlene Warnungsregeln.
Einige Dienste können Sie im großen Stil überwachen, indem Sie dieselbe Metrikwarnungsregel auf mehrere Ressourcen desselben Typs anwenden, die sich in derselben Azure-Region befinden. Für jede überwachte Ressource werden einzelne Benachrichtigungen gesendet. Unterstützte Azure-Dienste und -Clouds finden Sie unter Überwachen mehrerer Ressourcen mit einer Warnungsregel.
SQL-Datenbank-Warnungsregeln
In der folgenden Tabelle sind gängige und empfohlene Warnungsregeln für SQL-Datenbank aufgeführt. Je nach Kaufmodell werden möglicherweise unterschiedliche verfügbare Optionen angezeigt.
Signalname | Operator | Aggregationstyp | Schwellenwert | BESCHREIBUNG |
---|---|---|---|---|
DTU-Prozentsatz | Größer als | Average | 80 | Wenn der durchschnittliche DTU-Prozentsatz bei über 80 % liegt |
E/A-Prozentsatz für Protokoll | Größer als | Average | 80 | Wenn der durchschnittliche E/A-Prozentsatz für ein Protokoll bei über 80 % liegt |
Deadlocks* | Größer als | Anzahl | 1 | Wenn die Anzahl von Deadlocks größer als 1 ist. |
CPU-Prozentsatz | Größer als | Average | 80 | Wenn der durchschnittliche CPU-Prozentsatz bei über 80 % liegt |
* Warnungen bei Deadlocks können in einigen Anwendungen, in denen Deadlocks erwartet und ordnungsgemäß behandelt werden, unnötig und störend sein.
Tipp
Empfohlene Warnungsregeln und typische Konfigurationen von Warnungsregeln für die SQL-Datenbank finden Sie unter Überwachen der Azure SQL-Datenbank mit Azure Monitor-Metriken und -Warnungen.
Advisor-Empfehlungen
Wenn in einigen Diensten während eines Ressourcenvorgangs kritische Bedingungen oder unmittelbar bevorstehende Änderungen auftreten, wird auf der Dienstseite Übersicht im Portal eine Warnung angezeigt. Weitere Informationen und empfohlene Korrekturen für die Warnung finden Sie in Advisor-Empfehlungen unter Überwachung im linken Menü. Während des normalen Betriebs werden keine Advisor-Empfehlungen angezeigt.
Weitere Informationen zu Azure Advisor finden Sie unter Azure Advisor – Übersicht.
Zugehöriger Inhalt
- Eine Referenz zu den Metriken, Protokollen und anderen wichtigen Werten, die von SQL-Datenbank erstellt werden, finden Sie unter Referenz zur Überwachung von Daten in SQL-Datenbank.
- Allgemeine Informationen zur Überwachung von Azure-Ressourcen finden Sie unter Überwachen von Azure-Ressourcen mit Azure Monitor.
- Überwachen von Azure SQL-Workloads mit Datenbankwatcher (Vorschau)
- Sehen Sie sich Azure Monitor-Metriken und -Warnungen, einschließlich empfohlene Warnungsregeln für SQL-Datenbank an.
- Erfahren Sie mehr über das Überwachen von Azure SQL Managed Instance mit Azure Monitor.