Share via


@@CPU_BUSY (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Diese Funktion gibt die Zeit zurück, die SQL Server seit dem letzten Start im aktiven Betrieb war. @@CPU_BUSY gibt ein in CPU-Zeitinkrementen (Ticks, Takten) gemessenes Ergebnis zurück. Dieser Wert ist für alle CPUs kumulativ und kann daher höher sein als die tatsächlich verstrichene Zeit. Durch die Multiplikation mit @@TIMETICKS wird es in Mikrosekunden konvertiert.

Hinweis

Wenn die Zeit, die in @@CPU_BUSY oder @@IO_BUSY zurückgegeben wird, ca. 49 Tage der kumulierten CPU-Zeit überschreitet, erhalten Sie eventuell eine Warnung zu einem arithmetischen Überlauf. In diesem Fall sind die Werte der Variablen @@CPU_BUSY, @@IO_BUSY und @@IDLE nicht genau.

Transact-SQL-Syntaxkonventionen

Syntax

@@CPU_BUSY  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Rückgabetypen

integer

Hinweise

Um einen Bericht anzuzeigen, der mehrere SQL Server-Statistiken enthält, einschließlich der CPU-Aktivität, führen Sie „sp_monitor“ aus.

Beispiele

Im diesem Beispiel werden die Rückgabewerte der CPU-Aktivität für SQL Server zum aktuellen Datum und der aktuellen Uhrzeit angezeigt. Das Beispiel konvertiert einen der Werte in den Datentyp float. Dies vermeidet Probleme mit arithmetischem Überlauf bei der Berechnung von Werten in Mikrosekunden.

SELECT @@CPU_BUSY * CAST(@@TIMETICKS AS FLOAT) AS 'CPU microseconds',   
   GETDATE() AS 'As of' ;  

Hier ist das Resultset.

CPU microseconds As of
---------------- -----------------------
18406250         2006-12-05 17:00:50.600

Siehe auch

sys.dm_os_sys_info (Transact-SQL)
@@IDLE (Transact-SQL)
@@IO_BUSY (Transact-SQL)
sp_monitor (Transact-SQL)
Statistische Systemfunktionen (Transact-SQL)