Freigeben über


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

Nächste Schritte

Weitere Informationen zu verwandten Konzepten finden Sie in den folgenden Artikeln: