Freigeben über


sys.dm_os_performance_counters (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Gibt eine Zeile pro Leistungsindikator zurück, der vom Server verwaltet wird. Informationen zu den einzelnen Leistungsindikatoren finden Sie unter Verwenden von SQL Server-Objekten.

Hinweis

Um dies von Azure Synapse Analytics oder Analytics Platform System (PDW) aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_os_performance_counters. Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Spaltenname Datentyp Beschreibung
object_name nchar(128) Kategorie, zu der dieser Leistungsindikator gehört.
counter_name nchar(128) Name des Leistungsindikators. Um weitere Informationen zu einem Zähler zu erhalten, ist dies der Name des Themas, das aus der Liste der Leistungsindikatoren in "SQL Server-Objekte verwenden" ausgewählt werden soll.
instance_name nchar(128) Name der spezifischen Instanz des Leistungsindikators. Enthält oft den Datenbanknamen.
cntr_value bigint Aktueller Wert des Leistungsindikators.

Hinweis: Für Zähler pro Sekunde ist dieser Wert kumulativ. Der Ratenwert muss durch Stichproben des Werts zu diskreten Zeitintervallen berechnet werden. Der Unterschied zwischen zwei aufeinander folgenden Werten ist gleich der Rate für das verwendete Zeitintervall.
cntr_type int Typ des Leistungsindikators, wie von der Windows-Leistungsarchitektur definiert. Weitere Informationen zu Leistungsindikatortypen finden Sie in der Dokumentation zu WMI-Leistungsindikatoren oder in ihrer Windows Server-Dokumentation.
pdw_node_id int Gilt für: Azure Synapse Analytics, Analytics Platform System (PDW)

Der Bezeichner für den Knoten, auf dem sich diese Verteilung befindet.

Hinweise

Wenn die Installationsinstanz von SQL Server die Leistungsindikatoren des Windows-Betriebssystems nicht anzeigt, verwenden Sie die folgende Transact-SQL-Abfrage, um zu bestätigen, dass Leistungsindikatoren deaktiviert wurden.

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

Wenn der Rückgabewert 0 Zeilen ist, wurden die Leistungsindikatoren deaktiviert. Überprüfen Sie dann das Setupprotokoll, und suchen Sie nach Fehler 3409. Dies zeigt an, Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. dass Leistungsindikatoren nicht aktiviert waren. Die Fehlermeldungen unmittelbar vor dem Fehler 3409 sollten die Ursache für das Fehlschlagen der Leistungsindikator-Aktivierung angeben. Weitere Informationen zu Setupprotokolldateien finden Sie unter Anzeigen und Lesen von SQL Server-Setupprotokolldateien.

Leistungsindikatoren, bei denen der cntr_type Spaltenwert 65792 ist, zeigen nur eine Momentaufnahme des letzten beobachteten Werts und nicht einen Mittelwert an.

Leistungsindikatoren, bei denen der cntr_type Spaltenwert 272696320 oder 272696576 die durchschnittliche Anzahl von Vorgängen anzeigen, die während jeder Sekunde des Beispielintervalls abgeschlossen wurden. Indikatoren dieses Typs messen die Zeit in Ticks der Systemuhr. Um beispielsweise eine momentaufnahmeähnliche Leserichtung der letzten Sekunde nur für die und Buffer Manager:Checkpoint pages/sec die Buffer Manager:Lazy writes/sec Zähler zu erhalten, müssen Sie das Delta zwischen zwei Sammlungspunkten vergleichen, die eine Sekunde auseinander liegen.

Leistungsindikatoren, bei denen der cntr_type Spaltenwert 537003264 das Verhältnis einer Teilmenge in Prozent anzeigen. Der Leistungsindikator vergleicht z. B Buffer Manager:Buffer cache hit ratio . die Gesamtanzahl der Cachetreffer und die Gesamtanzahl der Cache-Nachschlagevorgänge. Um eine momentaufnahmeähnliche Leserichtung der letzten Sekunde zu erhalten, müssen Sie das Delta zwischen dem aktuellen Wert und dem Basiswert (Nenner) zwischen zwei Sammlungspunkten vergleichen, die eine Sekunde auseinander liegen. Der entsprechende Basiswert ist der Leistungsindikator Buffer Manager:Buffer cache hit ratio base , bei dem der cntr_type Spaltenwert 1073939712 ist.

Leistungsindikatoren, bei denen der cntr_type Spaltenwert 1073874176 anzeigen, wie viele Elemente im Durchschnitt verarbeitet werden, als Verhältnis der verarbeiteten Elemente zur Anzahl der Vorgänge. Die Zähler vergleichen beispielsweise Locks:Average Wait Time (ms) die Wartezeiten pro Sekunde mit den Sperranforderungen pro Sekunde, um die durchschnittliche Wartezeit (in Millisekunden) für jede Sperranforderung anzuzeigen, die zu einer Wartezeit führte. Um eine momentaufnahmeähnliche Leserichtung der letzten Sekunde zu erhalten, müssen Sie das Delta zwischen dem aktuellen Wert und dem Basiswert (Nenner) zwischen zwei Sammlungspunkten vergleichen, die eine Sekunde auseinander liegen. Der entsprechende Basiswert ist der Leistungsindikator Locks:Average Wait Time Base , bei dem der cntr_type Spaltenwert 1073939712 ist.

Die Daten im sys.dm_os_performance_counters DMV werden nach dem Neustart des Datenbankmoduls nicht beibehalten. Verwenden Sie die sqlserver_start_time-Spalte in sys.dm_os_sys_info, um die aktuellste Startzeit der Datenbank-Engine zu suchen.

Berechtigung

Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE-Berechtigung erforderlich.

Für SQL-Datenbank Standard-, S0- und S1-Dienstziele sowie für Datenbanken in elastischen Pools ist das Serveradministratorkonto, das Microsoft Entra-Administratorkonto oder die Mitgliedschaft in der ##MS_ServerStateReader## Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE STATE-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader##-Serverrolle erforderlich.

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Beispiele

Im folgenden Beispiel werden alle Leistungsindikatoren zurückgegeben, die Momentaufnahmezählerwerte anzeigen.

SELECT object_name, counter_name, instance_name, cntr_value, cntr_type  
FROM sys.dm_os_performance_counters
WHERE cntr_type = 65792 OR cntr_type = 272696320 OR cntr_type = 537003264;  

Weitere Informationen

Dynamische Verwaltungssichten in Verbindung mit dem SQL Server-Betriebssystem (Transact-SQL)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)