SQL Server中常用全局变量介绍
在 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 安装的版本、处理器体系结构、生成日期 和操作系统。 | 
 
 

