sys.resource_stats (Azure SQL-Datenbank)
Gilt für: Azure SQL-Datenbank
Dieser Befehl gibt die CPU-Nutzung und Speicherdaten für eine Datenbank in Azure SQL-Datenbank zurück. Die Daten werden in Intervallen von fünf Minuten gesammelt und aggregiert. Für jede Benutzerdatenbank gibt es eine Zeile für jedes fünfminütige Berichterstellungsfenster, in dem eine Änderung des Ressourcenverbrauchs erfolgt. Die zurückgegebenen Daten umfassen die CPU-Auslastung, die Änderung der Speichergröße und die SKU-Änderung der Datenbank. Leerlaufdatenbanken ohne Änderungen enthalten möglicherweise keine Zeilen für jedes Intervall von fünf Minuten. Verlaufsdaten werden ungefähr 14 Tage lang beibehalten.
Hinweis
Diese dynamische Verwaltungsansicht gilt nur für Azure SQL-Datenbank. Verwenden Sie für eine entsprechende Ansicht für Azure SQL verwaltete Instanz sys.server_resource_stats.
Spalten | Datentyp | Beschreibung |
---|---|---|
start_time | datetime | UTC-Zeit, die den Start des fünfminütigen Berichtsintervalls angibt. |
end_time | datetime | UTC-Zeit, die das Ende des fünfminütigen Berichtsintervalls angibt. |
database_name | nvarchar(128) | Name der Benutzerdatenbank. |
sku | nvarchar(128) | Dienstebene der Datenbank. Folgende Werte sind möglich: Grundlegend Standard Premium Universell Unternehmenskritisch |
storage_in_megabytes | float | Maximale Speichergröße in Megabyte für den Zeitraum, einschließlich Datenbankdaten, Indizes, gespeicherte Prozeduren und Metadaten. |
avg_cpu_percent | Dezimalzahl(5;2) | Die durchschnittliche Servernutzung als Prozentwert der maximalen Kapazität für die Dienstebene. |
avg_data_io_percent | Dezimalzahl(5;2) | Die durchschnittliche E/A-Nutzung als Prozentwert der maximalen Kapazität für die Dienstebene. Informationen zu Hyperscale-Datenbanken finden Sie unter "Daten-E/A" in Ressourcenauslastungsstatistiken. |
avg_log_write_percent | Dezimalzahl(5;2) | Die durchschnittliche Nutzung von Schreibressourcen als Prozentwert der maximalen Kapazität für die Dienstebene. |
max_worker_percent | Dezimalzahl(5;2) | Maximale Anzahl gleichzeitiger Mitarbeiter (Anforderungen) in Prozent basierend auf dem Grenzwert der Dienstebene der Datenbank. Der Höchstwert wird derzeit für das fünfminütige Intervall basierend auf den 15-Sekunden-Stichproben der Anzahl gleichzeitiger Mitarbeiter berechnet. |
max_session_percent | Dezimalzahl(5;2) | Maximale Anzahl gleichzeitiger Sitzungen in Prozent basierend auf dem Grenzwert der Dienstebene der Datenbank. Der Höchstwert wird derzeit für das fünfminütige Intervall basierend auf den 15-Sekunden-Stichproben gleichzeitiger Sitzungsanzahl berechnet. |
dtu_limit | int | Aktuelle DTU-Einstellung für die Maximale Datenbank für diese Datenbank während dieses Intervalls. |
xtp_storage_percent | Dezimalzahl (5,2) | Speicherauslastung für In-Memory OLTP in Prozent des Grenzwerts der Dienstebene (am Ende des Berichtsintervalls). Dies umfasst Speicher, der für die Speicherung der folgenden IN-Memory OLTP-Objekte verwendet wird: speicheroptimierte Tabellen, Indizes und Tabellenvariablen. Außerdem enthält sie Arbeitsspeicher, der für die Verarbeitung von ALTER TABLE-Vorgängen verwendet wird. Weitere Informationen finden Sie unter "In-Memory OLTP überwachen". Gibt 0 zurück, wenn IN-Memory OLTP nicht in der Datenbank verwendet wird. |
avg_login_rate_percent | Dezimalzahl (5,2) | Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
avg_instance_cpu_percent | Dezimalzahl (5,2) | Durchschnittliche CPU-Auslastung der Datenbank als Prozentsatz des SQL-Datenbank Prozesses. |
avg_instance_memory_percent | Dezimalzahl (5,2) | Durchschnittliche Datenbankspeicherauslastung als Prozentsatz des SQL-Datenbank Prozesses. |
cpu_limit | Dezimalzahl (5,2) | Die Anzahl der vCores für diese Datenbank während dieses Intervalls. Bei Datenbanken, die das DTU-basierte Modell verwenden, ist diese Spalte NULL. |
allocated_storage_in_megabytes | float | Der formatierte Speicherplatz in MB, der zum Speichern von Datenbankdaten zur Verfügung gestellt wurde. Formatierter Dateispeicher wird auch als zugewiesener Datenspeicher bezeichnet. Weitere Informationen finden Sie unter: Verwaltung von Speicherplatz in SQL-Datenbank |
Tipp
Weitere Informationen zu diesen Grenzwerten und Dienstebenen finden Sie in den Themen Dienstebenen.
Berechtigungen
In Azure SQL-Datenbank ist diese Ansicht für alle Benutzerrollen mit Berechtigungen zum Herstellen einer Verbindung mit der virtuellen master
Datenbank verfügbar.
Hinweise
Die von sys.resource_stats
Ihnen zurückgegebenen Daten werden als Prozentsatz der maximal zulässigen Grenzwerte für die Dienstebene/Leistungsstufe ausgedrückt, die Sie ausführen.
Wenn eine Datenbank Mitglied eines elastischen Pools ist, werden Ressourcenstatistiken, die als Prozentwerte dargestellt werden, als Prozentwert für die Datenbanken ausgedrückt, wie in der Konfiguration des elastischen Pools festgelegt.
Verwenden Sie sys.dm_db_resource_stats
für eine genauere Ansicht dieser Daten die dynamische Verwaltungsansicht in einer Benutzerdatenbank. Diese Sicht erfasst die Daten jede 15 Sekunden und behält die Verlaufsdaten eine Stunde bei. Weitere Informationen finden Sie unter sys.dm_db_resource_stats (Azure SQL-Datenbank).
Hinweis
Weitere Informationen zur Problembehandlung bei der CPU-Auslastung mithilfe von dynamischen Verwaltungsansichten finden Sie unter Identifizieren von CPU-Leistungsproblemen in Azure SQL-Datenbank Leistung oder Identifizieren von CPU-Leistungsproblemen in Azure SQL verwaltete Instanz Leistung.
Verwenden Sie sys.dm_os_out_of_memory_events, um aktuelle Nichtspeicherereignisse zu überprüfen.
Beispiele
Sie müssen mit der master
Datenbank auf dem logischen Server verbunden sein, um abfragen zu können sys.resource_stats
.
Im folgenden Beispiel werden alle Datenbanken zurückgegeben, die in der letzten Woche mindestens 80 % der CPU-Auslastung ausmachen.
DECLARE @s datetime;
DECLARE @e datetime;
SET @s= DateAdd(d,-7,GetUTCDate());
SET @e= GETUTCDATE();
SELECT database_name, AVG(avg_cpu_percent) AS Average_CPU_Utilization
FROM sys.resource_stats
WHERE start_time BETWEEN @s AND @e
GROUP BY database_name
HAVING AVG(avg_cpu_percent) >= 80;
GO
Siehe auch
- Dienstebenen
- Dienstebenenfunktionen und -beschränkungen
- sys.dm_os_out_of_memory_events (Azure SQL-Datenbank und Azure SQL verwaltete Instanz)
Nächste Schritte
Weitere Informationen zu verwandten Konzepten finden Sie in den folgenden Artikeln:
- Überwachen der Leistung von Microsoft Azure SQL-Datenbank und Azure SQL Managed Instance mithilfe von dynamischen Verwaltungssichten
- Überwachung und Leistungsoptimierung in Azure SQL-Datenbank und Azure SQL Managed Instance
- sys.resource_usage (Azure SQL-Datenbank und Azure SQL verwaltete Instanz)
- sys.dm_db_resource_stats (Azure SQL-Datenbank und Azure SQL verwaltete Instanz)