SQL SERVER 全局变量

来源:互联网 发布:天文搜星算法 编辑:程序博客网 时间:2024/05/16 09:15

全局变量
全局变量是由服务器级定义,而不是由用户的程序定义,并且不能修改。其作用范围是任何程序均可以随时调用,引用全局变量时必须以标记符“@@”开头。在程序中,我们可以通过全局变量来测试系统的设定值或者是T_SQL命令执行后的状态值,SQL Server 2012中包含的全局变量:
1、@@CONNECTION:无论连接是成功还是失败,都会返回SQL SERVER自上次启动以来尝试的连接数;
2、@@CPU_BUSY:返回SQL SERVER自上次启动后的工作时间,其结果以CPU时间增量或“滴答数”表示,其值为所有cpu时间的累积,因此可能会超出实际占用的时间,乘以@@TIMETICKS即可转换为微秒;
3、@@CURSOR_ROWS:返回连接上打开的上一个游标中的当前设定行的数目。可以调用@@CURSOR_ROWS来确定当此全局变量被调用时检索了游标符合条件的行数;
4、@@DATEFIRST:针对回话返回SET DATEFIRST的当前值;
5、@@DBTS:返回当前数据库的当前timestamp数据类型的值,这一时间戳值在数据库中必须是唯一的;
6、@@ERROR:返回执行的上一个t_sql语句的错误号;
7、@@FETCH_STATUS:返回针对连接当前打开的任何游标,发出的上一条游标FETCH语句的状态;
8、@@IDENTITY:返回插入到表的IDENTITY列的最后一个值;
9、@@IDLE:返回sql自上次启动后的空闲时间;
10、@@IO_BUSY:返回sql最近一次启动以来,已经由于执行输入和输出操作的时间;
11、@@LANGID:返回当前使用的语言的本地语言表示服;
12、@@LANGUAGE:返回当前语言所用的名称;
13、@@LOCK_TIMEOUT:返回当前会话的当前锁定超时设置(毫秒);
14、@@MAX_CONNECTIONS:返回sql实例允许同时进行的最大用户连接数,返回的数值不一定是当前配置的数值;
15、@@MAX_PRECISION:按照服务器中的当前设置,返回decimal和numeric数据类型所用的精度级别,默认最大精度返回38;
16、@@NESTLEVEL:返回对本地服务器上执行的当前存储过程的嵌套级别(初始值为0);
17、@@OPTIONS:返回有关当前SET选项的信息;
18、@@PAK_RECEIVED:返回sql自上次启动后从网络读取的输入数据包数;
19、@@PACK_SENT:返回sql自上次启动后写入网络的输出数据包数;
20、@@PACKET_ERRORS:返回自上次启动sql后,在sql连接上发生的网络数据包错误数;
21、@@ROWCOUNT:返回上一次语句影响的行数;
22、@@PROCID:返回t_sql当前模块的对象表示服(ID),模块可以试存储过程、用户定义函数或触发器,不能再CLR模块或者进出内数据访问接口中指定@@PROCID;
23、@@SERVERNAME:返回运行sql的本地服务器的名称;
24、@@SERVICENAME:返回sql正在其下运行的注册表项名称。若当前实例为默认实例,则返回MSSQLSERVER,若当前实例为命名实例,则返回实例名;
25、@@SPID:返回当前用户进程的回话ID;
26、@@TEXTSIZE:返回set语句的textsize选项的当前值,它指定select语句返回的text或image数据类型的最大长度,单位为字节;
27、@@TIMETICKS:返回每个始终周期的微秒数;
28、@@TOTAL_ERRORS:返回自上次启动sql之后,sql所遇到的磁盘写入错误数;
29、@@TOTAL_READ:返回sql自上次启动之后,由sql读取(非缓存读取)的磁盘的数目;
30、@@TOTAL_WRITE:返回自上次启动sql以来,由sql所执行的磁盘写入数;
31、@@TRANCOUNT:返回当前连接的活动事务数;
32、VERSION:返回当前安装的日期、版本和处理器类型;

示例:查看当前sql server的版本信息和无武器名称:
SELECT @@VERSION AS ‘服务器版本’,@@SERVERNAME AS ‘服务器名称’

资料参考自《SQL Server 2012从零开始学》

0 0