Konfigurieren des Streaming-Exports von Diagnose-Telemetrie - Azure SQL-Datenbank und Azure SQL Managed Instance
Gilt für: Azure SQL-Datenbank Azure SQL Managed Instance
Dieser Artikel bietet Informationen über die Leistungsmetriken und Ressourcenprotokolle für Azure SQL-Datenbank, die Sie für die Analyse in eines von mehreren Zielen exportieren können. Sie erfahren, wie Sie den Streamingexport dieser Diagnosetelemetriedaten über das Azure-Portal, PowerShell, die Azure CLI, die REST-API und Azure Resource Manager-Vorlagen konfigurieren.
Außerdem erhalten Sie Informationen über die Ziele, an die Sie die Diagnosetelemetriedaten streamen können, und wie Sie zwischen diesen Optionen wählen können. Die Optionen für die Ziele lauten:
Diagnosetelemetrie für den Export
Sie können verschiedene Leistungsmetriken und zusätzliche Datenbankprotokolle exportieren. In der folgenden Tabelle werden die Leistungsmetriken und Ressourcenprotokolle beschrieben, die Sie für den Streamingexport zu einem von mehreren Zielen konfigurieren können. Die Diagnosetelemetriedaten können für einzelne Datenbanken, Pools für elastische Datenbanken und Pooldatenbanken sowie für verwaltete SQL-Instanzen und die zugehörigen Datenbanken konfiguriert werden.
Diagnosetelemetriedaten für Datenbanken | Unterstützung für Azure-SQL-Datenbank | Unterstützung verwalteter Azure SQL-Instanzen |
---|---|---|
Grundlegende Metriken: Enthält DTU-/CPU-Prozentsatz, DTU/CPU-Limit, gelesene physische Daten in Prozent, Protokollschreibvorgänge in Prozent, Verbindungen mit dem Status „Erfolgreich“, „Fehler“ und „Durch Firewall blockiert“, Sitzungen in Prozent, Worker in Prozent, Speicher, Speicher in Prozent und XTP-Speicher in Prozent. | Ja | Nein |
Instanz und App erweitert: enthält die Daten der Systemdatenbank tempdb , die Größe der Protokolldatei und den prozentualen Anteil von tempdb an der Protokolldatei. |
Ja | Nein |
QueryStoreRuntimeStatistics: Enthält Informationen zur Laufzeitstatistik der Abfrage, z. B. CPU-Nutzung und Abfragedauer. | Ja | Ja |
QueryStoreWaitStatistics: Enthält Informationen zur Wartestatistik der Abfrage (worauf Ihre Abfragen gewartet haben), z.B. CPU, LOG und LOCKING. | Ja | Ja |
Fehler: Enthält Informationen zu SQL-Fehlern für eine Datenbank. | Ja | Ja |
DatabaseWaitStatistics: Enthält Informationen zur Wartezeit einer Datenbank für die verschiedenen Wartezeittypen. | Ja | Nein |
Timeouts: Enthält Informationen zu SQL-Timeouts für eine Datenbank. | Ja | Nein |
Blocks: Enthält Informationen zu blockierenden Ereignissen für eine Datenbank. | Ja | Nein |
Deadlocks: Enthält Informationen zu Deadlockereignissen für eine Datenbank. | Ja | Nein |
AutomaticTuning: Enthält Informationen zu automatischen Optimierungsempfehlungen für eine Datenbank. | Ja | Nein |
SQLInsights: Enthält Intelligent Insights-Informationen zur Leistung für eine Datenbank. Weitere Informationen finden Sie unter Intelligent Insights. | Ja | Ja |
Workloadverwaltung: (Nur für Azure Synapse verfügbar) Weitere Informationen finden Sie unter Azure Synapse Analytics – Überwachung des Arbeitsauslastungsverwaltungsportals. | Nein | Nein |
Hinweis
In Azure SQL Managed Instance können die Diagnoseeinstellungen nicht für Systemdatenbanken wie master
, msdb
, model
Ressource und tempdb
-Datenbanken nicht konfiguriert werden.
Streamingexportziele
Die Diagnosetelemetriedaten können für die Analyse an eine der folgenden Azure-Ressourcen gestreamt werden.
Log Analytics-Arbeitsbereich :
An einen Log Analytics-Arbeitsbereich gestreamte Daten können von SQL Analytics verwendet werden. SQL Analytics ist 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
-
Daten, die an Azure Event Hubs gestreamt werden, bieten die folgenden Funktionen:
- Streamen von Protokollen an Protokollierungs- und Telemetriedatensysteme 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: Azure Event Hubs ermöglichen dank des hochgradig skalierbaren Veröffentlichen/Abonnieren-Konzepts eine flexible Erfassung der Metrik- 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.
-
Durch das Streamen von Daten an Azure Storage können Sie immense Mengen von Diagnosetelemetriedaten archivieren, und zwar zu einem Bruchteil der Kosten der beiden vorherigen Streamingoptionen.
Die an eines dieser Ziele gestreamten Diagnosetelemetriedaten können für die Messung der Ressourcenverwendung und der Abfrageausführungsstatistiken verwendet werden, um die Leistungsüberwachung zu vereinfachen.
Aktivieren und Konfigurieren des Streamingexports von Diagnosetelemetriedaten
Sie können die Protokollierung von Metriken und Diagnosetelemetriedaten mit einer der folgenden Methoden aktivieren und verwalten:
- Azure-Portal
- PowerShell
- Azure CLI
- Azure Monitor-REST-API
- Azure Resource Manager-Vorlage
Hinweis
Informationen zum Aktivieren des Streamens von Sicherheitstelemetriedaten finden Sie unter Einrichten der Überwachung für Ihre Datenbank sowie unter Überwachungsprotokolle in Azure Monitor-Protokollen und Azure Event Hubs.
Konfigurieren des Streamingexports von Diagnosetelemetriedaten
Das Menü Diagnoseeinstellungen im Azure-Portal kann für das Aktivieren und Konfigurieren des Streamings von Diagnosetelemetriedaten verwendet werden. Darüber hinaus können Sie PowerShell, die Azure-Befehlszeilenschnittstelle, die REST-API und Resource Manager-Vorlagen verwenden, um das Streaming von Diagnosetelemetriedaten zu konfigurieren. Für das Streaming der Diagnosetelemetriedaten können folgende Ziele festgelegt werden: Azure Storage, Azure Event Hubs und Azure Monitor-Protokolle.
Wichtig
Der Streamingexport von Diagnosetelemetriedaten ist standardmäßig nicht aktiviert.
Wählen Sie eine der folgenden Registerkarten aus, um eine Schritt-für-Schritt-Anleitung zum Konfigurieren des Streamingexports von Diagnosetelemetriedaten im Azure-Portal und Skripts für die Ausführung der gleichen Aufgabe mit PowerShell und der Azure CLI zu erhalten.
Pools für elastische Datenbanken in Azure SQL-Datenbank
Sie können eine Ressource des Pools für elastische Datenbanken zum Erfassen der folgenden Diagnosetelemetriedaten einrichten:
Resource | Überwachte Telemetriedaten |
---|---|
Pool für elastische Datenbanken | Grundlegende Metriken enthält eDTU-/CPU-Prozentsatz, eDTU-/CPU-Limit, Prozentsatz der gelesenen physischen Daten, Prozentsatz für Protokollschreibvorgang, Sitzungen in Prozent, Worker in Prozent, Speicher, Speicher in Prozent, Speicherbegrenzung und XTP-Speicher in Prozent. |
Um das Streaming der Diagnosetelemetriedaten für Pools für elastische Datenbanken und Pooldatenbanken zu konfigurieren, müssen Sie die beiden separat konfigurieren:
- Aktivieren Sie das Streaming von Diagnosetelemetriedaten für einen Pool für elastische Datenbanken
- Aktivieren Sie das Streaming von Diagnosetelemetriedaten für jede Datenbank im Pool für elastische Datenbanken.
Der Container für Pools für elastische Datenbanken verfügt über eigene Telemetriedaten, die sich von den Telemetriedaten der einzelnen Pooldatenbanken unterscheiden.
Um das Streaming von Diagnosetelemetriedaten für eine Ressource des Pools für elastische Datenbanken zu aktivieren, gehen Sie folgendermaßen vor:
Navigieren Sie im Azure-Portal zur Ressource des Pools für elastische Datenbanken.
Wählen Sie Diagnoseeinstellungen aus.
Klicken Sie auf Diagnose aktivieren, wenn noch keine Einstellungen vorgenommen wurden, oder auf Einstellung bearbeiten, um eine vorhandene Einstellung zu bearbeiten.
Geben Sie einen Einstellungsnamen zu Referenzzwecken ein.
Wählen Sie eine Zielressource für das Streaming von Diagnosedaten aus: In einem Speicherkonto archivieren, An einen Event Hub streamen oder An Log Analytics senden.
Wählen Sie für die Protokollanalyse Konfigurieren aus, und erstellen Sie einen neuen Arbeitsbereich, indem Sie auf + Neuen Arbeitsbereich erstellen klicken, oder wählen Sie einen vorhandenen Arbeitsbereich aus.
Aktivieren Sie das Kontrollkästchen für Diagnosetelemetrie des Pools für elastische Datenbanken: Grundlegende Metriken.
Wählen Sie Speichern aus.
Konfigurieren Sie außerdem das Streaming der Diagnosetelemetriedaten für jede Datenbank innerhalb des Pools für elastische Datenbanken, den Sie überwachen möchten, indem Sie die im nächsten Abschnitt beschriebenen Schritte ausführen.
Wichtig
Neben Diagnosetelemetriedaten für einen Pool für elastische Datenbanken müssen Sie auch Diagnosetelemetriedaten für jede Datenbank in diesem Pool konfigurieren.
Datenbanken in Azure SQL-Datenbank
Sie können eine Datenbankressource zum Erfassen der folgenden Diagnosetelemetriedaten einrichten:
Resource | Überwachte Telemetriedaten |
---|---|
Einzel- oder Pooldatenbank | Zu den grundlegenden Metriken gehören DTU-Prozentsatz, DTU-Verwendung, DTU-Limit, CPU-Prozentsatz, Prozentsatz der gelesen physischen Daten, Prozentsatz der Protokollschreibvorgänge, Verbindungen mit Status Erfolgreich/Fehlerhaft/Durch Firewall blockiert, Sitzungen in Prozent, Worker in Prozent, Speicher, Speicher in Prozent, XTP-Speicher in Prozent und Deadlocks. |
Führen Sie zum Aktivieren des Streamings von Diagnosetelemetriedaten für Einzel- oder Pooldatenbanken die folgenden Schritte aus:
Navigieren Sie zur Azure SQL-Datenbank-Ressource.
Wählen Sie Diagnoseeinstellungen aus.
Klicken Sie auf Diagnose aktivieren, wenn noch keine Einstellungen vorgenommen wurden, oder auf Einstellung bearbeiten, um eine vorhandene Einstellung zu bearbeiten. Sie können bis zu drei parallele Verbindungen zum Streamen von Diagnosetelemetriedaten erstellen.
Klicken Sie auf Add diagnostic setting (Diagnoseeinstellung hinzufügen), um das parallele Streaming von Diagnosedaten in mehrere Ressourcen zu konfigurieren.
Geben Sie einen Einstellungsnamen zu Referenzzwecken ein.
Wählen Sie eine Zielressource für das Streaming von Diagnosedaten aus: In einem Speicherkonto archivieren, An einen Event Hub streamen oder An Log Analytics senden.
Aktivieren Sie für die standardmäßige, ereignisbasierte Überwachungsoberfläche die folgenden Kontrollkästchen für Datenbankdiagnoseprotokoll-Telemetrie: SQLInsights, AutomaticTuning, QueryStoreRuntimeStatistics, QueryStoreWaitStatistics, Errors, DatabaseWaitStatistics, Timeouts, Blocks und Deadlocks.
Aktivieren Sie für eine erweiterte Überwachungsoberfläche mit einem Aktualisierungsintervall von einer Minute das Kontrollkästchen für grundlegende Metriken.
Wählen Sie Speichern aus.
Wiederholen Sie diese Schritte für jede Datenbank, die überwacht werden soll.
Tipp
Wiederholen Sie diese Schritte für jede Einzel- oder Pooldatenbank, die überwacht werden soll.
Instanzen in Azure SQL Managed Instance
Sie können eine Ressource der verwalteten Instanz zum Erfassen der folgenden Diagnosetelemetriedaten einrichten:
Resource | Überwachte Telemetriedaten |
---|---|
Verwaltete Instanz | ResourceUsageStats enthält die Anzahl virtueller Kerne, den durchschnittlichen CPU-Prozentsatz, E/A-Anforderungen, gelesene/geschriebene Bytes, den reservierten und genutzten Speicherplatz. |
Um das Streaming von Diagnosetelemetriedaten für die verwaltete Instanz und Instanzdatenbanken zu konfigurieren, müssen Sie beides separat konfigurieren:
- Aktivieren Sie das Streaming von Diagnosetelemetriedaten für verwaltete Instanzen
- Aktivieren Sie das Streaming von Diagnosetelemetriedaten für jede Instanzdatenbank
Der Container für die verwaltete Instanz verfügt über eigene Telemetriedaten, die sich von denen der einzelnen Instanzdatenbanken unterscheiden.
Führen Sie die folgenden Schritte aus, um das Streaming von Diagnosetelemetriedaten für eine Ressource der verwalteten Instanz zu aktivieren:
Navigieren Sie im Azure-Portal zur Ressource der verwalteten Instanz.
Wählen Sie Diagnoseeinstellungen aus.
Klicken Sie auf Diagnose aktivieren, wenn noch keine Einstellungen vorgenommen wurden, oder auf Einstellung bearbeiten, um eine vorhandene Einstellung zu bearbeiten.
Geben Sie einen Einstellungsnamen zu Referenzzwecken ein.
Wählen Sie eine Zielressource für das Streaming von Diagnosedaten aus: In einem Speicherkonto archivieren, An einen Event Hub streamen oder An Log Analytics senden.
Wählen Sie für die Protokollanalyse Konfigurieren aus, und erstellen Sie einen neuen Arbeitsbereich, indem Sie auf + Neuen Arbeitsbereich erstellen klicken, oder verwenden Sie einen vorhandenen Arbeitsbereich.
Aktivieren Sie das Kontrollkästchen für Diagnosetelemetrie der Instanz: ResourceUsageStats.
Wählen Sie Speichern aus.
Konfigurieren Sie außerdem das Streaming der Diagnosetelemetriedaten für jede Instanzdatenbank innerhalb der verwalteten Instanz, die Sie überwachen möchten, indem Sie die im nächsten Abschnitt beschriebenen Schritte ausführen.
Wichtig
Neben Diagnosetelemetriedaten für eine verwaltete Instanz müssen auch Diagnosetelemetriedaten für jede Instanzdatenbank konfiguriert werden.
Datenbanken in Azure SQL Managed Instance
Sie können eine Ressource der Instanzdatenbank zum Erfassen der folgenden Diagnosetelemetriedaten einrichten:
Resource | Überwachte Telemetriedaten |
---|---|
Instanzdatenbank | Die Laufzeitstatistik des Abfragespeichers und die Wartestatistik des Abfragespeichers enthalten Abfragespeicherdaten für die Datenbank. SQLInsights enthält Intelligent Insights-Daten für die Datenbank. Errors (Fehler) enthält die Fehlerdaten für diese Datenbank. |
Führen Sie zum Aktivieren des Streamings von Diagnosetelemetriedaten für eine Instanzdatenbank die folgenden Schritte aus:
Navigieren Sie zur Ressource der Instanzdatenbank in der verwalteten Instanz.
Wählen Sie Diagnoseeinstellungen aus.
Klicken Sie auf Diagnose aktivieren, wenn noch keine Einstellungen vorgenommen wurden, oder auf Einstellung bearbeiten, um eine vorhandene Einstellung zu bearbeiten.
- Sie können bis zu drei (3) parallele Verbindungen zum Streamen von Diagnosetelemetriedaten erstellen.
- Wählen Sie + Diagnoseeinstellung hinzufügen aus, um das parallele Streaming von Diagnosedaten in mehrere Ressourcen zu konfigurieren.
Geben Sie einen Einstellungsnamen zu Referenzzwecken ein.
Wählen Sie eine Zielressource für das Streaming von Diagnosedaten aus: In einem Speicherkonto archivieren, An einen Event Hub streamen oder An Log Analytics senden.
Aktivieren Sie die Kontrollkästchen für die Datenbankdiagnosetelemetrie: SQLInsights, QueryStoreRuntimeStatistics, QueryStoreWaitStatistics und Errors.
Wählen Sie Speichern aus.
Wiederholen Sie diese Schritte für jede Instanzdatenbank, die überwacht werden soll.
Tipp
Wiederholen Sie diese Schritte für jede Instanzdatenbank, die überwacht werden soll.
Streamen in Azure SQL-Analyse
Azure SQL-Datenbank und Azure SQL Managed Instance-Metriken und -Ressourcenprotokolle, die in einen Log Analytics-Arbeitsbereich gestreamt werden, können von Azure SQL-Analyse genutzt werden. Azure SQL-Analyse ist eine Cloudlösung, die die Leistung von Singletons, Pools für elastische Datenbanken, Pooldatenbanken, verwaltete Instanzen und Instanzdatenbanken in großem Maßstab abonnementübergreifend überwacht. Die Lösung ermöglicht Ihnen das Erfassen und Visualisieren von Leistungsmetriken und verfügt über integrierte intelligente Funktionen für die Behandlung von Leistungsproblemen.
Übersicht über die Installation
Sie können eine Sammlung von Datenbanken mit Azure SQL-Analyse überwachen, indem Sie die folgenden Schritte ausführen:
- Erstellen Sie im Azure Marketplace eine Azure SQL-Analyselösung.
- Erstellen Sie in der Lösung einen Log Analytics-Arbeitsbereich.
- Konfigurieren Sie Datenbanken zum Streamen von Diagnosetelemetriedaten in den Arbeitsbereich.
Sie können den Streamingexport der Diagnosetelemetriedaten mithilfe der integrierten Option An Log Analytics senden auf der Registerkarte „Diagnoseeinstellungen“ im Azure-Portal konfigurieren. Sie können das Streaming in den Log Analytics-Arbeitsbereich anhand von Diagnoseeinstellungen auch mit PowerShell-Cmdlets, der Azure CLI, der Azure Monitor-REST-API oder Resource Manager-Vorlagen aktivieren.
Erstellen einer Azure SQL-Analyse-Ressource
Suchen Sie im Azure Marketplace nach „Azure SQL-Analyse“, und wählen Sie die Lösung aus.
Wählen Sie auf dem Übersichtsbildschirm der Lösung die Option Erstellen aus.
Tragen Sie in das Azure SQL-Analyse-Formular die erforderlichen zusätzlichen Informationen ein: Name des Arbeitsbereichs, Abonnement, Ressourcengruppe, Ort und Tarif.
Klicken Sie zum Bestätigen auf OK und anschließend auf Erstellen.
Konfigurieren der Ressource zum Aufzeichnen von Metriken und Ressourcenprotokollen
Sie müssen das Streaming von Diagnosetelemetriedaten für einzelne Datenbanken, Pooldatenbanken, Pools für elastische Datenbanken, verwaltete Instanzen und Instanzdatenbanken getrennt konfigurieren. Die Verwendung des Azure-Portals ist die einfachste Möglichkeit zum Konfigurieren des Ziels, in dem eine Ressource ihre Metriken aufzeichnet. Ausführliche Schritte finden Sie unter Konfigurieren des Streamingexports von Diagnosetelemetriedaten.
Verwenden von Azure SQL-Analyse für Überwachung und Warnungen
Sie können SQL-Analyse als ein hierarchisches Dashboard verwenden, um Ihre Datenbankressourcen anzuzeigen.
- Informationen zum Verwenden von Azure SQL-Analyse finden Sie unter Überwachen von SQL-Datenbank mithilfe von SQL-Analyse.
- Informationen zum Einrichten von Warnungen in SQL-Analyse finden Sie unter Erstellen von Warnungen für Datenbanken, Pools für elastische Datenbanken und verwaltete Instanzen.
Streamen an Event Hubs
Sie können Metriken und Ressourcenprotokolle für Azure SQL-Datenbank und Azure SQL Managed Instance mit der integrierten Option An einen Event Hub streamen im Azure-Portal in Event Hubs streamen. Sie können die Service Bus-Regel-ID auch aktivieren, indem Sie Diagnoseeinstellungen über PowerShell-Cmdlets, die Azure-Befehlszeilenschnittstelle oder die Azure Monitor-REST-API verwenden. Achten Sie darauf, dass sich der Event Hub in derselben Region wie Ihre Datenbank und der Server befindet.
Welche Vorgänge können mit Metriken und Ressourcenprotokollen in Event Hubs ausgeführt werden?
Nachdem die ausgewählten Daten an Event Hubs gestreamt wurden, sind Sie der Einrichtung fortgeschrittener Überwachungsszenarien ein ganzes Stück näher gekommen. Event Hubs fungiert als Eingangsportal für eine Ereignispipeline. Nachdem Daten in einem Event Hub erfasst wurden, können sie mit einem beliebigen Echtzeitanalyseanbieter oder Speicheradapter transformiert und gespeichert werden. Event Hubs entkoppelt die Produktion eines Ereignisdatenstroms von der Nutzung dieser Ereignisse. Auf diese Weise können Ereignisconsumer auf die Ereignisse gemäß ihrem eigenen Zeitplan zugreifen. Weitere Informationen zu Event Hubs finden Sie hier:
- Azure Event Hubs: Big Data-Streamingplattform und Ereigniserfassungsdienst
- Erste Schritte mit Event Hubs
Sie können gestreamte Metriken in Event Hubs für folgende Zwecke verwenden:
Anzeigen der Dienstintegrität durch Streamen von Daten zum langsamsten Pfad an PowerBI
Mithilfe von Event Hubs, Stream Analytics und PowerBI können Sie sich anhand Ihrer Metrik- und Diagnosedaten problemlos und nahezu in Echtzeit einen Einblick in Ihre Azure-Dienste verschaffen. Stream Analytics und Power BI bietet eine gute Übersicht über die Einrichtung von Event Hubs, die Verarbeitung von Daten mit Stream Analytics und die Verwendung von PowerBI als Ausgabe.
Streamen von Protokollen in Protokollierungs- und Telemetriedatenströme von Drittanbietern
Mithilfe des Event Hubs-Streamings können Sie Ihre Metriken und Ressourcenprotokolle in verschiedene Überwachungs- und Protokollanalyselösungen von Drittanbietern übertragen.
Erstellen einer benutzerdefinierten Telemetrie- und Protokollierungsplattform
Haben Sie bereits eine benutzerdefinierte Telemetrieplattform, oder erwägen Sie die Erstellung einer solchen Plattform? Der Event Hubs-Dienst beruht auf dem hochgradig skalierbaren Veröffentlichen-Abonnieren-Muster und ermöglicht Ihnen daher die flexible Erfassung von Metriken und Ressourcenprotokollen. Weitere Informationen finden Sie unter Azure Event Hubs.
Streamen nach Azure Storage
Sie können Metriken und Ressourcenprotokolle mithilfe der integrierten Option In ein Speicherkonto archivieren im Azure-Portal in Azure Storage speichern. Sie können Storage auch mithilfe von Diagnoseeinstellungen über PowerShell-Cmdlets, die Azure-Befehlszeilenschnittstelle oder die Azure Monitor-REST-API aktivieren.
Schema der Metriken und Ressourcenprotokolle im Speicherkonto
Nachdem Sie die Sammlung von Metriken und Ressourcenprotokollen eingerichtet haben, wird ein Speichercontainer im ausgewählten Speicherkonto erstellt, wenn die ersten Datenzeilen verfügbar sind. Die Struktur der Blobs sieht wie folgt aus:
insights-{metrics|logs}-{category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/ RESOURCEGROUPS/{resource group name}/PROVIDERS/Microsoft.SQL/servers/{resource_server}/ databases/{database_name}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json
Einfacher ausgedrückt:
insights-{metrics|logs}-{category name}/resourceId=/{resource Id}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json
Ein Blobname für grundlegende Metriken kann beispielsweise wie folgt lauten:
insights-metrics-minute/resourceId=/SUBSCRIPTIONS/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.SQL/ servers/Server1/databases/database1/y=2016/m=08/d=22/h=18/m=00/PT1H.json
Ein Blobname für das Speichern von Daten aus einem Pool für elastische Datenbanken sieht wie folgt aus:
insights-{metrics|logs}-{category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/ RESOURCEGROUPS/{resource group name}/PROVIDERS/Microsoft.SQL/servers/{resource_server}/ elasticPools/{elastic_pool_name}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json
Datenaufbewahrungsrichtlinie und Preisübersicht
Wenn Sie Event Hubs oder ein Speicherkonto auswählen, können Sie eine Aufbewahrungsrichtlinie angeben. Diese Richtlinie löscht Daten, die älter als ein ausgewählter Zeitraums sind. Wenn Sie Log Analytics angeben, hängt die Aufbewahrungsrichtlinie vom ausgewählten Tarif ab. In diesem Fall können Sie mit den verfügbaren kostenlosen Datenerfassungseinheiten jeden Monat mehrere Datenbanken kostenlos überwachen. Für die Nutzung von Diagnosetelemetriedaten, die über die kostenlosen Einheiten hinausgeht, können Kosten anfallen.
Wichtig
Bei aktiven Datenbanken mit umfangreicheren Workloads werden mehr Daten als bei Datenbanken im Leerlauf erfasst. Weitere Informationen finden Sie unter Azure Monitor – Preise.
Wenn Sie die Azure SQL-Analyse verwenden, können Sie Ihre Datenerfassungsnutzung überwachen, indem Sie im Navigationsmenü von Azure SQL-Analyse die Option OMS-Arbeitsbereich und dann Nutzung und Geschätzte Kosten auswählen.
Verfügbare Metriken und Protokolle
In diesem Abschnitt des Artikels finden Sie die Telemetriedaten zur Überwachung, die für Einzel- und Pooldatenbanken, Pools für elastische Datenbanken, verwaltete Instanzen und Instanzdatenbanken verfügbar sind. Mit der Protokollabfragesprache von Azure Monitor können Sie die in SQL Analytics gesammelten Überwachungstelemetriedaten für Ihre eigene benutzerdefinierte Analyse und Anwendungsentwicklung verwenden.
Grundlegende Metriken
In den folgenden Tabellen finden Sie Details zu „Grundlegende Metriken“ für die verschiedenen Ressourcen.
Hinweis
Die Option „Grundlegende Metriken“ wurde früher als „Alle Metriken“ bezeichnet. Die jetzt vorgenommene Änderung betraf nur den Namen und nicht die überwachten Metriken. Sie wurde initiiert, um die zukünftige Einführung weiterer Metrikkategorien zu ermöglichen.
Grundlegende Metriken für Pools für elastische Datenbanken
Ressource | Metriken |
---|---|
Pool für elastische Datenbanken | eDTU-Prozentsatz, eDTU-Verwendung, eDTU-Limit, CPU-Prozentsatz, Prozentsatz der gelesen physischen Daten, Prozentsatz für Protokollschreibvorgang, Sitzungen in Prozent, Worker in Prozent, Speicher, Speicher in Prozent, Speicherbegrenzung, XTP-Speicher in Prozent |
Grundlegende Metriken bei Einzel- und Pooldatenbanken
Ressource | Metriken |
---|---|
Einzel- und Pooldatenbank | DTU-Prozentsatz, DTU-Verwendung, DTU-Limit, CPU-Prozentsatz, Prozentsatz der gelesen physischen Daten, Prozentsatz für Protokollschreibvorgang, Verbindungen mit Status Erfolgreich/Fehlgeschlagen/Durch Firewall blockiert, Sitzungen in Prozent, Worker in Prozent, Speicher, Speicher in Prozent, XTP-Speicher in Prozent und Deadlocks |
Erweiterte Metriken
In der folgenden Tabelle finden Sie Details zu den erweiterten Metriken.
Metrik | Metrikanzeigename | Beschreibung |
---|---|---|
sql_instance_cpu_percent 1 | CPU-Prozentsatz der SQL-Instanz | CPU-Auslastung durch alle Benutzer- und Systemworkloads, gemessen vom Betriebssystem |
sql_instance_memory_percent 1 | Arbeitsspeicher-Prozentsatz der SQL-Instanz | Arbeitsspeicherauslastung durch die Datenbank-Engine Instanz, gemessen vom Betriebssystem |
tempdb_data_size2 | Größe der tempdb -Datendatei in Kilobyte |
Größe der tempdb -Datendatei in Kilobyte. |
tempdb_log_size2 | Größe der tempdb -Protokolldatei in Kilobyte |
Größe der tempdb -Protokolldatei in Kilobyte. |
tempdb_log_used_percent2 | Von tempdb -Protokollen belegter Speicherplatz |
Von tempdb -Protokollen belegter Speicherplatz. |
1 Diese Metrik steht für Datenbanken zur Verfügung, die das vCore-Kaufmodell mit mindestens 2 virtuellen Kernen verwenden, oder für Datenbanken mit mindestens 200 DTUs (bei DTU-basierten Kaufmodellen).
2 Diese Metrik steht für Datenbanken zur Verfügung, die das vCore-Kaufmodell mit mindestens 2 virtuellen Kernen verwenden, oder für Datenbanken mit mindestens 200 DTUs (bei DTU-basierten Kaufmodellen). Diese Metrik ist derzeit für Synapse Analytics-SQL-Pools nicht verfügbar.
Hinweis
Sowohl die Basis- als auch die erweiterten Metriken sind für Datenbanken, die seit 7 Tagen oder länger inaktiv sind, möglicherweise nicht verfügbar.
Grundlegende-Protokolle
Die folgenden Tabellen enthalten Details zu Telemetriedaten, die für alle Protokolle verfügbar sind. Weitere Informationen finden Sie unter Unterstützte Diagnosetelemetrie.
Ressourcennutzungsstatistik für verwaltete Instanzen
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: ResourceUsageStats |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: MANAGEDINSTANCES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name der verwalteten Instanz |
resourceId | Ressourcen-URI |
SKU_s | Produkt-SKU für SQL Managed Instance |
virtual_core_count_s | Anzahl verfügbarer virtueller Kerne |
avg_cpu_percent_s | Durchschnittlicher CPU-Prozentsatz |
reserved_storage_mb_s | Reservierte Speicherkapazität für die verwaltete Instanz |
storage_space_used_mb_s | Verwendeter Speicher für die verwaltete Instanz |
io_requests_s | Anzahl von IOPS |
io_bytes_read_s | Gelesene IOPS-Bytes |
io_bytes_written_s | Geschriebene IOPS-Bytes |
Laufzeitstatistiken für den Abfragespeicher
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: QueryStoreRuntimeStatistics |
Vorgangsname | Name des Vorgangs. Immer: QueryStoreRuntimeStatisticsEvent |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
query_hash_s | Abfragehash |
query_plan_hash_s | Hash des Abfrageplans |
statement_sql_handle_s | SQL-Anweisungshandle |
interval_start_time_d | Beginn des DateTimeOffsets des Intervalls in der Anzahl von Takten ab 1900-1-1 |
interval_end_time_d | Ende des DateTimeOffsets des Intervalls in der Anzahl von Takten ab 1900-1-1 |
logical_io_writes_d | Gesamtanzahl von logischen E/A-Schreibvorgängen |
max_logical_io_writes_d | Maximale Anzahl von logischen E/A-Schreibvorgängen pro Ausführung |
physical_io_reads_d | Gesamtanzahl von physischen E/A-Lesevorgängen |
max_physical_io_reads_d | Maximale Anzahl von logischen E/A-Lesevorgängen pro Ausführung |
logical_io_reads_d | Gesamtanzahl von logischen E/A-Lesevorgängen |
max_logical_io_reads_d | Maximale Anzahl von logischen E/A-Lesevorgängen pro Ausführung |
execution_type_d | Ausführungstyp |
count_executions_d | Anzahl von Ausführungen der Abfrage |
cpu_time_d | Gesamte von der Abfrage verbrauchte CPU-Zeit in Mikrosekunden |
max_cpu_time_d | Maximale von einer einzelnen Ausführung verbrauchte CPU-Zeit in Mikrosekunden |
dop_d | Summe des Grads an Parallelität |
max_dop_d | Maximaler Grad an Parallelität für eine einzelne Ausführung |
rowcount_d | Gesamtanzahl zurückgegebener Zeilen |
max_rowcount_d | Maximale Anzahl zurückgegebener Zeilen in einer einzelnen Ausführung |
query_max_used_memory_d | Gesamtmenge des verwendeten Arbeitsspeichers in KB |
max_query_max_used_memory_d | Maximale von einer einzelnen Ausführung verwendete Menge an Arbeitsspeicher in KB |
duration_d | Gesamtausführungszeit in Mikrosekunden |
max_duration_d | Maximale Ausführungszeit einer einzelnen Ausführung |
num_physical_io_reads_d | Gesamtanzahl von physischen Lesevorgängen |
max_num_physical_io_reads_d | Maximale Anzahl von physischen Lesevorgängen pro Ausführung |
log_bytes_used_d | Gesamtanzahl verwendeter Protokollbytes |
max_log_bytes_used_d | Maximale Anzahl verwendeter Protokollbytes pro Ausführung |
query_id_d | ID der Abfrage im Abfragespeicher |
plan_id_d | ID des Plans im Abfragespeicher |
Weitere Informationen zu Laufzeitstatistikdaten des Abfragespeichers.
Wartestatistiken des Abfragespeichers
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: QueryStoreWaitStatistics |
Vorgangsname | Name des Vorgangs. Immer: QueryStoreWaitStatisticsEvent |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
wait_category_s | Kategorie des Wartevorgangs |
is_parameterizable_s | Parametrisierbarkeit der Abfrage |
statement_type_s | Anweisungstyp |
statement_key_hash_s | Schlüsselhash der Anweisung |
exec_type_d | Ausführungstyp |
total_query_wait_time_ms_d | Gesamte Wartezeit der Abfrage für die spezifische Wartekategorie |
max_query_wait_time_ms_d | Maximale Wartezeit der Abfrage in einer einzelnen Ausführung der bestimmten Wartekategorie |
query_param_type_d | 0 |
query_hash_s | Abfragehash im Abfragespeicher |
query_plan_hash_s | Hash des Abfrageplans im Abfragespeicher |
statement_sql_handle_s | Anweisungshandle im Abfragespeicher |
interval_start_time_d | Beginn des DateTimeOffsets des Intervalls in der Anzahl von Takten ab 1900-1-1 |
interval_end_time_d | Ende des DateTimeOffsets des Intervalls in der Anzahl von Takten ab 1900-1-1 |
count_executions_d | Anzahl von Ausführungen der Abfrage |
query_id_d | ID der Abfrage im Abfragespeicher |
plan_id_d | ID des Plans im Abfragespeicher |
Weitere Informationen zu Wartestatistikdaten des Abfragespeichers.
Fehlerdataset
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: Errors |
Vorgangsname | Name des Vorgangs. Immer: ErrorEvent |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
`Message` | Fehlermeldungen in Nur-Text |
user_defined_b | Benutzerdefiniertes Fehlerbit |
error_number_d | Fehlercode |
severity | Schweregrad des Fehlers |
state_d | Status des Fehlers |
query_hash_s | Der Abfragehash der fehlerhaften Abfrage (falls verfügbar) |
query_plan_hash_s | Hash des Abfrageplans der fehlerhaften Abfrage (falls verfügbar) |
Weitere Informationen zu SQL-Fehlermeldungen.
Dataset zur Wartestatistik der Datenbank
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: DatabaseWaitStatistics |
Vorgangsname | Name des Vorgangs. Immer: DatabaseWaitStatisticsEvent |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
wait_type_s | Name des Wartetyps |
start_utc_date_t [UTC] | Startzeit des gemessenen Zeitraums |
end_utc_date_t [UTC] | Endzeit des gemessenen Zeitraums |
delta_max_wait_time_ms_d | Maximale Wartezeit pro Ausführung |
delta_signal_wait_time_ms_d | Gesamte Signalwartezeit |
delta_wait_time_ms_d | Gesamtwartezeit im Zeitraum |
delta_waiting_tasks_count_d | Anzahl von wartenden Aufgaben |
Weitere Informationen zu Datenbankwartestatistiken.
Dataset zu Timeouts
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: Zeitlimits |
Vorgangsname | Name des Vorgangs. Immer: TimeoutEvent |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
error_state_d | Ein numerischer Statuswert, der dem Abfragetimeout zugeordnet ist (ein Aufmerksamkeitsereignis) |
query_hash_s | Abfragehash (falls verfügbar) |
query_plan_hash_s | Hash des Abfrageplans (falls verfügbar) |
Dataset der Blockierungen
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: Blöcke |
Vorgangsname | Name des Vorgangs. Immer: BlockEvent |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
lock_mode_s | Von der Abfrage verwendeter Sperrmodus |
resource_owner_type_s | Besitzer der Sperre |
blocked_process_filtered_s | XML-Bericht über blockierte Prozesse |
duration_d | Die Dauer der Sperre in Millisekunden |
Dataset zu Deadlocks
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: Deadlocks |
Vorgangsname | Name des Vorgangs. Immer: DeadlockEvent |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
deadlock_xml_s | XML-Deadlockbericht |
Dataset zur automatischen Optimierung
Eigenschaft | BESCHREIBUNG |
---|---|
TenantId | Ihre Mandanten-ID |
SourceSystem | Immer: Azure |
TimeGenerated [UTC] | Zeitstempel für die Aufzeichnung des Protokolls |
type | Immer: AzureDiagnostics |
ResourceProvider | Name des Ressourcenanbieters Immer: MICROSOFT.SQL |
Category | Name der Kategorie Immer: AutomaticTuning |
Resource | Name der Ressource |
ResourceType | Name des Ressourcentyps Immer: SERVERS/DATABASES |
SubscriptionId | Abonnement-GUID für die Datenbank |
ResourceGroup | Name der Ressourcengruppe für die Datenbank |
LogicalServerName_s | Name des Servers für die Datenbank |
LogicalDatabaseName_s | Name der Datenbank |
ElasticPoolName_s | Name des Pools für elastische Datenbanken für die Datenbank (sofern vorhanden) |
DatabaseName_s | Name der Datenbank |
resourceId | Ressourcen-URI |
RecommendationHash_s | Eindeutiger Hash der Empfehlung zur automatischen Optimierung |
OptionName_s | Vorgang der automatischen Optimierung |
Schema_s | Datenbankschema |
Table_s | Betroffene Tabelle |
IndexName_s | Indexname |
IndexColumns_s | Spaltenname |
IncludedColumns_s | Enthaltene Spalten |
EstimatedImpact_s | JSON-Datei mit den geschätzten Auswirkung der Empfehlung zur automatischen Optimierung |
Event_s | Typ des Ereignisses der automatischen Optimierung |
Timestamp_t | Zeitstempel der letzten Aktualisierung |
Tipp
query_hash_s
und query_plan_hash_s
werden als numerische Werte bereitgestellt. Wenn Sie die übereinstimmenden Abfragen und Abfragepläne im Abfragespeicher suchen möchten, verwenden Sie den folgenden T-SQL-Ausdruck, um numerische Hashwerte in binäre Hashwerte zu konvertieren, die in sys.query_store_query und sys.query_store_plan verwendet werden:
SELECT CAST(CAST(hash_value as bigint) AS binary(8))
.
Ersetzen Sie den Platzhalter hash_value
durch den tatsächlichen Wert query_hash_s
oder den numerischen Wert query_plan_hash_s
.
Dataset von Intelligent Insights
Weitere Informationen zum Protokollformat von Intelligent Insights.
Nächste Schritte
Weitere Informationen zum Aktivieren der Protokollierung und zu den Metriken und Protokollkategorien, die von den verschiedenen Azure-Diensten unterstützt werden, finden Sie in den folgenden Themen:
Um mehr über Event Hubs zu erfahren, lesen Sie:
Informationen zum Einrichten von Warnungen auf der Grundlage von Telemetriedaten aus Log Analytics finden Sie hier: