如何查看Windows服務器運行了多長時間


前言:有時候管理、維護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" 命令查看服務器啟動時間。

clipboard_thumb1

    C:\Users\xxxx>systeminfo | find "System Boot Time"

      System Boot Time: 3/8/2014, 12:24:34 PM

clipboard1_thumb1

 

方法3:通過命令net statistics workstation 命令查看

clipboard2_thumb1

方法4:工具,Uptime.exe,是可用於顯示系統的可用性。Uptime.exe 可以用於顯示當前的本地或遠程系統的正常運行時間。它還可以掃描重要的系統事件 (如系統重新啟動或計算機沒有響應 (掛起) 的事件日志。在可能的情況下,它還會計算系統的可用性。它主要是為 Windows NT 服務器 4.0 Service Pack 4 或更高版本,盡管其有限的方式,在早期版本上運行。大家可以從官方http://support.microsoft.com/kb/q232243 下載

clipboard3_thumb1

   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

clipboard4_thumb1

Windows Server 2008

clipboard5_thumb1

 

參考資料:

http://zarez.net/?p=1077


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM