Export (0) Print
Expand All
Expand Minimize

@@CPU_BUSY (Transact-SQL)

Returns the time that SQL Server has spent working since it was last started. Result is in CPU time increments, or "ticks," and is cumulative for all CPUs, so it may exceed the actual elapsed time. Multiply by @@TIMETICKS to convert to microseconds.

ms186925.note(en-US,SQL.90).gifNote:
If the time returned in @@CPU_BUSY or @@IO_BUSY exceeds approximately 49 days of cumulative CPU time, you receive an arithmetic overflow warning. In that case, the value of @@CPU_BUSY, @@IO_BUSY and @@IDLE variables are not accurate.

Topic link icon Transact-SQL Syntax Conventions


@@CPU_BUSY

integer

To display a report containing several SQL Server statistics, including CPU activity, run sp_monitor.

The following example shows returning SQL Server CPU activity as of the current date and time. To avoid arithmetic overflow when converting the value to microseconds it converts the one of the values to float data type.

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

Here is the result set.

CPU microseconds As of
---------------- -----------------------
18406250         2004-10-22 13:22:50.600

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft