SQL內置Function系统统计函数

系统统计函数

这些标量函数返回系统的统计信息。

@@CONNECTIONS

@@PACK_RECEIVED

@@CPU_BUSY

@@PACK_SENT

fn_virtualfilestats

@@TIMETICKS

@@IDLE

@@TOTAL_ERRORS

@@IO_BUSY

@@TOTAL_READ

@@PACKET_ERRORS

@@TOTAL_WRITE

 

所有系统统计函数都不具有确定性。每次用一组特定的输入值调用它们时,所返回的结果不总是相同。有关函数确定性的更多信息,请参见确定性函数和非确定性函数。

1@@CONNECTIONS

返回自上次启动 Microsoft® SQL Server™ 以来连接或试图连接的次数。

语法

@@CONNECTIONS

返回类型

integer

注释

连接与用户不同。例如,应用程序可以打开多个与 SQL Server 的连接,而不需要用户监视这些连接。

若要显示一个包含几个 SQL Server 统计信息的报表,包括试图连接统计信息,请运行 sp_monitor。

示例

下面的示例显示了到当前日期和时间为止试图登录的次数。

SELECT GETDATE() AS 'Today's Date and Time', 
   @@CONNECTIONS AS 'Login Attempts'

下面是结果集:

Today's Date and Time              Login Attempts
---------------------------        ---------------
1998-04-09 14:28:46.940            18

2@@CPU_BUSY

返回自上次启动 Microsoft® SQL Server™ 以来 CPU 的工作时间,单位为毫秒(基于系统计时器的分辨率)。

语法

@@CPU_BUSY

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,包括 CPU 活动统计信息,请运行 sp_monitor。

示例

下面的示例显示了到当前日期和时间为止 SQL Server CPU 的活动。

SELECT @@CPU_BUSY AS 'CPU ms', GETDATE() AS 'As of'

下面是结果集:

CPU ms               As of
-----------------    ---------------------------
20                   1998-04-18 14:43:08.180 

 

fn_virtualfilestats

返回对数据库文件(包括日志文件)的 I/O 统计。

语法

fn_virtualfilestats ( [@DatabaseID=] database_id
    , [ @FileID = ] file_id )

参数

[@DatabaseID=] database_id

数据库的 ID,database_id 的数据类型为 int,没有默认设置。

[ @FileID = ] file_id

文件的 ID,file_id 的数据类型为 int,没有默认设置。

返回表

Column Name

数据类型

描述

DbId

smallint

数据库 ID

FileId

smallint

文件 ID

TimeStamp

int

提取数据的时间

NumberReads

bigint

在文件上发出的读取次数

NumberWrites

bigint

在文件上写入的次数

BytesRead

bigint

在文件上发出的读取字节数

BytesWritten

bigint

在文件上写入的字节数

IoStallMS

bigint

用户等待在文件上完成 I/O 活动的总计时间(以毫秒为单位)

 

注释

fn_virtualfilestats 是系统表值函数,提供统计信息,如在文件上操作的 I/O 活动的总数。该函数有助于跟踪用户必须等待以读取或写入文件的时间长度。该函数还有助于识别出遇到大量 I/O 活动的文件。

示例
SELECT *
FROM :: fn_virtualfilestats(1, 1)

4@@IDLE

返回 Microsoft® SQL Server™ 自上次启动后闲置的时间,单位为毫秒(基于系统计时器的分辨率)。

语法

@@IDLE

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,可运行 sp_monitor。

示例

下面的示例显示 SQL Server 自启动到当前时间闲置的毫秒数。

SELECT @@IDLE AS 'Idle ms', GETDATE() AS 'As of'

下面是结果集:

Idle Ms              As of
-----------------    ---------------------------
277593               1998-04-18 16:41:07.160

5@@IO_BUSY

返回 Microsoft® SQL Server™ 自上次启动后用于执行输入和输出操作的时间,单位为毫秒(基于系统计时器的分辨率)。

语法

@@IO_BUSY

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,可运行 sp_monitor。

示例

下面的示例显示 SQL Server 自启动到目前已用于执行输入/输出操作的毫秒数。

SELECT @@IO_BUSY AS 'IO ms', GETDATE() AS 'As of'

下面是结果集:

IO ms                As of
------------------   -----------------------------
31                   1998-04-18 16:49:49.650

6@@PACKET_ERRORS

返回自 SQL Server 上次启动后,在 Microsoft® SQL Server™ 连接上发生的网络数据包错误数。

语法

@@PACKET_ERRORS

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,包括数据包错误,可运行 sp_monitor。

示例
SELECT @@PACKET_ERRORS

7@@PACK_RECEIVED

返回 Microsoft® SQL Server™ 自上次启动后从网络上读取的输入数据包数目。

语法

@@PACK_RECEIVED

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,其中包括发送和接收数据包的信息,可运行 sp_monitor。

示例
SELECT @@PACK_RECEIVED

8@@PACK_SENT

返回 Microsoft® SQL Server™ 自上次启动后写到网络上的输出数据包数目。

语法

@@PACK_SENT

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,其中包括发送和接收数据包的信息,可运行 sp_monitor。

示例
SELECT @@PACK_SENT

9@@TIMETICKS

返回一刻度的微秒数。

语法

@@TIMETICKS

返回类型

integer

注释

每一刻度的时间量依赖于计算机。操作系统的一刻度是 31.25 毫秒,或是三十分之一秒。

示例
SELECT @@TIMETICKS

10@@TOTAL_ERRORS

返回 Microsoft® SQL Server™ 自上次启动后,所遇到的磁盘读/写错误数。

语法

@@TOTAL_ERRORS

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,包括错误总数信息,可运行 sp_monitor。

示例

下面的示例显示了 SQL Server 到当前日期和时间为止所遇到的错误数。

SELECT @@TOTAL_ERRORS AS 'Errors', GETDATE() AS 'As of'

下面是结果集:

Errors         As of                          
-------        -------------------------------
0              1998-04-21 22:07:30.013       

11@@TOTAL_READ

返回 Microsoft® SQL Server™ 自上次启动后读取磁盘(不是读取高速缓存)的次数。

语法

@@TOTAL_READ

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,包括读写活动信息,可运行 sp_monitor。

示例

下面的示例显示了到当前日期和时间为止的总的磁盘读写次数。

SELECT @@TOTAL_READ AS 'Reads', @@TOTAL_WRITE AS 'Writes', GETDATE() AS 'As of'

下面是结果集:

Reads       Writes        As of
---------   -----------   ------------------------------
978         124           1998-04-21 22:14:22.37

12@@TOTAL_WRITE

返回 Microsoft® SQL Server™ 自上次启动后写入磁盘的次数。

语法

@@TOTAL_WRITE

返回类型

integer

注释

若要显示包含几个 SQL Server 统计信息的报表,包括读写活动信息,可运行 sp_monitor。

示例

下面的示例显示了到当前日期和时间为止总的磁盘读写次数。

SELECT @@TOTAL_READ AS 'Reads', @@TOTAL_WRITE AS 'Writes', GETDATE() AS 'As of'

下面是结果集:

Reads       Writes        As of
---------   -----------   ------------------------------
978         124           1998-04-21 22:14:22.37        

 

申明

非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

博文欢迎转载,但请给出原文连接。

原文地址:https://www.cnblogs.com/Athrun/p/556670.html