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 die SQL-Datenbank-Ziele Basic, S0 und S1 sowie für Datenbanken in Pools für elastische Datenbanken ist das Konto des Serveradministrators oder des Microsoft Entra-Administratorkontos 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;
Siehe auch
Dynamische Verwaltungssichten in Verbindung mit dem SQL Server-Betriebssystem (Transact-SQL)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)