SQL Server提供了sp_monitor存储过程可以方便我们查看SQL Server性能统计信息,包括CPU/Network/IO,通过这些信息可以对自己的数
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.