@@IO_BUSY (Transact-SQL)

傳回自 SQL Server 上一次啟動之後,SQL Server 用來執行輸入和輸出作業的時間。結果是以 CPU 時間遞增 (「刻度」) 來計算,且會針對所有 CPU 來累計,因此,它可能會超出實際的經歷時間。乘以 @@TIMETICKS 便轉換成微秒。

[!附註]

如果 @@CPU_BUSY 或 @@IO_BUSY 的傳回時間超出大約 49 天的累計 CPU 時間,您會收到算術溢位的警告。在這個情況下,@@CPU_BUSY、@@IO_BUSY 和 @@IDLE 變數的值並不精確。

主題連結圖示Transact-SQL 語法慣例

語法

@@IO_BUSY

傳回類型

integer

備註

若要顯示包含多項 SQL Server 統計資料的報表,請執行 sp_monitor

範例

下列範例會顯示傳回 SQL Server 在開始時間和目前時間之間,用來執行輸入/輸出作業的毫秒數。為了避免在將值轉換成百萬分之一秒時,發生算術溢位,這個範例會將其中一個值轉換成 float 資料類型。

SELECT @@IO_BUSY*@@TIMETICKS AS 'IO microseconds', 
   GETDATE() AS 'as of'

典型的結果集如下:

IO microseconds as of                 
--------------- ----------------------
4552312500      12/5/2006 10:23:00 AM