前言:有時候管理、維護Windows服務器需要定期重啟服務器(為什么需要重啟,你懂的),但是這個“定期”有時候會受很多因素影響,例如某台服務器忘了重啟;某台服務器那個時間段業務繁忙,不能重啟;那個時間段你忘了重啟服務器.....。 諸如此類。當你的Schedule被打亂了。這個時候,你就需要查看服務器運行了多長時間,下面介紹一下如何查看Windows服務器運行時間的方法
方法一:如果這台Windows服務器是數據庫服務器,那么可以通過查看SQL SERVER啟動時間來間接判斷Windows服務器上次啟動時間。
這個時間是否准確的前提條件是SQL SERVER服務是自動啟動,而且中途沒有重啟過SQL SERVER服務。 如果Windows服務器是應用服務器,那么沒法使用這個方法。
1.1 :SQL SERVER服務每次啟動時,都會重新創建tempdb,所以可以以tempdb的創建時間來判斷SQL Server服務的啟動時間
--系統數據庫tempdb創建的時間
1: SELECT CREATE_DATE AS StartDateTime
2:
3: FROM sys.databases
4:
5: WHERE NAME='TEMPDB'
1.2:通過查看系統兼容性視圖master..sysprocesses獲取。會話Id 為1的是SQL Server啟動時創建的 。
1: SELECT CONVERT(VARCHAR(30), LOGIN_TIME,120) AS StartDateTime
2:
3: FROM master..sysprocesses WHERE spid=1
1.3 通過查看DMV sys.dm_os_sys_info獲取, 這個動態管理 視圖中的字段sqlserver_start_time 表示SQL Server 上次啟動時的日期和時間
1: SELECT sqlserver_start_time AS StartDateTime
2:
3: FROM sys.dm_os_sys_info
1.4 通過 查看DMV sys.dm_exec_requests獲取 。會話Id 為1的是SQL Server啟動時創建的。它的start_time(請求到達時的時間戳)可以判定SQL Server服務啟動的時間。
1: SELECT start_time AS StartDateTime
2: FROM sys.dm_exec_requests WHERE session_id = 1
1.5 : 通過查看sys.traces 目錄視圖。該目錄視圖包含當前在系統中運行的跟蹤
1: SELECT start_time AS StartDateTime
2:
3: FROM sys.traces
4:
5: WHERE is_default=1
方法2:通過systeminfo命令或systeminfo | find "System Boot Time" 命令查看服務器啟動時間。
C:\Users\xxxx>systeminfo | find "System Boot Time"
System Boot Time: 3/8/2014, 12:24:34 PM
方法3:通過命令net statistics workstation 命令查看
方法4:工具,Uptime.exe,是可用於顯示系統的可用性。Uptime.exe 可以用於顯示當前的本地或遠程系統的正常運行時間。它還可以掃描重要的系統事件 (如系統重新啟動或計算機沒有響應 (掛起) 的事件日志。在可能的情況下,它還會計算系統的可用性。它主要是為 Windows NT 服務器 4.0 Service Pack 4 或更高版本,盡管其有限的方式,在早期版本上運行。大家可以從官方http://support.microsoft.com/kb/q232243 下載
E:\>uptime /?
UPTIME, Version 1.01
(C) Copyright 1999, Microsoft Corporation
Uptime [server] [/s ] [/a] [/d:mm/dd/yyyy | /p:n] [/heartbeat] [/? | /help]
server Name or IP address of remote server to process.
/s Display key system events and statistics.
/a Display application failure events (assumes /s).
/d: Only calculate for events after mm/dd/yyyy.
/p: Only calculate for events in the previous n days.
/heartbeat Turn on/off the system's heartbeat
/? Basic usage.
/help Additional usage information.
方法5:查看系統日志: 通過檢查6005、6006、6009等系統日志事件。
- 6005 事件都記錄啟動時記錄的事件日志服務已啟動。它使消息"的事件日志服務已啟動"。
- 6006 事件被記錄為干凈關閉。它使消息"的事件日志服務已停止"。
- 6008 事件被記錄為不正常關機。它使消息"在日期上以前的系統關機不意外"。
- 6009 事件將記錄在每次啟動過程並表示操作系統版本,生成編號、 service pack 級別和其他相關的信息系統。根據您當前的配置,它提供了類似的消息:"Microsoft (R) Windows NT 4.0 1381年服務包 6 多處理器可用"
Windows Server 2000
Windows Server 2008
參考資料: