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. |