在SQL Server中,全局變量是一種特殊類型的變量,服務器將維護這些變量的值。
全局變量以@@前綴開頭,不必進行聲明,它們屬於系統定義的函數。
下表就是SQL Server中一些常用的全局變量。
全局變量名稱
描述
@@CONNECTIONS
返回 SQL Server 自上次啟動以來嘗試的連接數。
@@CPU_BUSY
返回 SQL Server 自上次啟動後的工作時間。
@@CURSOR_ROWS
返回連接上打開的上一個游標中的當前限定行的數目,
確定當其被調用時檢索了游標符合條件的行數。
@@DATEFIRST
針對會話返回 SET DATEFIRST 的當前值,SET DATEFIRST 表示指定的
每周的第一天。
@@DBTS
返回當前數據庫的當前 timestamp 數據類型的值,
這一時間戳值在數據庫中必須是唯一的。
@@ERROR
返回執行的上一個 Transact-SQL 語句的錯誤號,
如果前一個 Transact-SQL 語句執行沒有錯誤,則返回 0。
@@FETCH_STATUS
返回針對連接當前打開的任何游標發出的上一條游標 FETCH
語句的狀態。
@@IDENTITY
返回上次插入的標識值。
@@IDLE
返回 SQL Server 自上次啟動後的空閒時間。結果以 CPU 時間
增量或“時鐘周期”表示,並且是所有 CPU 的累積。
@@IO_BUSY
返回自從 SQL Server 最近一次啟動以來,Microsoft SQL Server
已經用於執行輸入和輸出操作的時間。其結果是 CPU 時間增量
(時鐘周期),並且是所有 CPU 的累積值
@@LANGID
返回當前使用的語言的本地語言標識符 (ID)。
@@LANGUAGE
返回當前所用語言的名稱。
@@LOCK_TIMEOUT:
返回當前會話的當前鎖定超時設置(毫秒)。
@@MAX_CONNECTIONS
返回 SQL Server 實例允許同時進行的最大用戶連接數。
返回的數值不一定是當前配置的數值。
@@MAX_PRECISION
按照服務器中的當前設置,返回 decimal 和 numeric 數據類型
所用的精度級別。
@@NESTLEVEL
返回對本地服務器上執行的當前存儲過程的嵌套級別(初始值為 0)。
@@OPTIONS
返回有關當前 SET 選項的信息。
@@PACK_RECEIVED
返回 SQL Server 自上次啟動後從網絡讀取的輸入數據包數。
@@PACK_SENT
返回 SQL Server 自上次啟動後寫入網絡的輸出數據包個數。
@@PACKET_ERRORS
返回自上次啟動 SQL Server 後,在 SQL Server 連接上發生的網絡
數據包錯誤數。
@@PROCID
返回 Transact-SQL 當前模塊的對象標識符 (ID)。Transact-SQL
模塊可以是存儲過程、用戶定義函數或觸發器。
@@REMSERVER
返回遠程 SQL Server 數據庫服務器在登錄記錄中顯示的名稱。
@@ROWCOUNT
返回受上一語句影響的行數。
@@SERVERNAME
返回運行 SQL Server 的本地服務器的名稱。
@@SERVICENAME
返回 SQL Server 正在其下運行的注冊表項的名稱。若當前實例為
默認實例,則 @@SERVICENAME 返回 MSSQLSERVER。
@@SPID
返回當前用戶進程的會話 ID。
@@TEXTSIZE
返回 SET 語句中的 TEXTSIZE 選項的當前值。
@@TIMETICKS
返回每個時鐘周期的微秒數。
@@TOTAL_ERRORS
返回 SQL Server 自上次啟動之後所遇到的磁盤寫入錯誤數。
@@TOTAL_READ
返回 SQL Server 自上次啟動後讀取磁盤(不是讀取高速緩存)的次數。
@@TOTAL_WRITE
返回 SQL Server 自上次啟動以來所執行的磁盤寫入次數。
@@TRANCOUNT
返回當前連接的活動事務數。
@@VERSION
返回當前的 SQL Server 安裝的版本、處理器體系結構、生成日期
和操作系統。