使用sp_monitor 查看SQL Server统计信息


SQL Server提供了sp_monitor存储过程可以方便我们查看SQL Server性能统计信息,包括CPU/Network/IO,通过这些信息可以对自己的数据库性能状况有一个大致的了解。

下面的示例报告有关 SQL Server 繁忙程度的信息:

 

 

每个列名的解释:

 

列名说明

last_run

上次运行 sp_monitor 的时间。

current_run

本次运行 sp_monitor 的时间。

sp_monitor 自运行以来所经过的秒数。

cpu_busy

服务器计算机的 CPU 处理 SQL Server 工作所用的秒数。

io_busy

SQL Server 在输入和输出操作上花费的秒数。

空闲

SQL Server 已空闲的秒数。

packets_received

SQL Server 读取的输入数据包数。

packets_sent

SQL Server 已写入的输出数据包数。

packet_errors

SQL Server 在读取和写入数据包时遇到的错误数。

total_read

SQL Server 读取的次数。

total_write

SQL Server 写入的次数。

total_errors

SQL Server 在读取和写入时遇到的错误数。

connections

登录或尝试登录 SQL Server 的次数。

对于每一列,统计信息将以 number(number)-number% 或 number(number) 的格式输出。第一个number 是指重新启动 SQL Server 以来的秒数(对于cpu_busy、io_busy 和idle)或总数目(对于其他变量)。圆括号中的number 是指上次运行 sp_monitor 以来的秒数或总数目。百分比是自上次运行sp_monitor 以来的时间百分比。例如,如果报告中cpu_busy 显示为 4250(215)-68%,则自 SQL Server 上次启动以来,CPU 工作了 4250 秒;自上次运行sp_monitor 以来,CPU 工作了 215 秒;自上次运行sp_monitor 以来占总时间的 68%。

如果需要保存数据的话可以使用下面的系统统计函数:

Table 1 System Statistical Functions

 

Function

Description
@@CONNECTIONS The number of connections or attempted connections.
@@CPU_BUSY Timer ticks that the CPU has been working for SQL Server.
@@IDLE Time in timer ticks that SQL Server has been idle.
@@IO_BUSY Timer ticks that SQL Server has spent performing I/O operations.
@@PACKET_ERRORS Number of network packet errors that have occurred.
@@PACK_RECEIVED Number of packets read from the network.
@@PACK_SENT Number of packets written to the network.
@@TIMETICKS Number of millionths of a second in a timer tick.
@@TOTAL_ERRORS Number of read/write errors during I/O operations.
@@TOTAL_READ Number of disk reads.
@@TOTAL_WRITE Number of disk writes.

相关内容