在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 安裝的版本、處理器體繫結構、產生日期 和作業系統。 |