天天看點

SQL SERVER如何通過SQL語句獲伺服器硬體和系統資訊

    在sql server中如何通過sql語句擷取伺服器硬體和系統資訊呢?下面介紹一下如何通過sql語句擷取處理器(cpu)、記憶體(memory)、磁盤(disk)以及作業系統相關資訊。如有不足和遺漏,敬請補充。謝謝!

一:檢視資料庫伺服器cpu的資訊

---sql 1:擷取資料庫伺服器的cpu型号

---sql 2:擷取資料庫伺服器cpu核數等資訊(隻适用于sql 2005以及以上版本資料庫)

---sql 3:擷取資料庫伺服器cpu核數(适用于所有版本)

---sql 4:在老外部落格中看到一個計算cpu相關資訊的sql,不過虛拟機計算有點小問題,我修改了一下。

---檢視虛拟機cpu資訊

二:檢視資料庫伺服器記憶體的資訊

    能否通過sql語句擷取伺服器的實體記憶體大小?記憶體條型号?虛拟記憶體大小?記憶體使用情況? 目前我所知道的隻能通過sql語句擷取伺服器實體記憶體大小,記憶體的使用情況。 至于記憶體條型号,系統虛拟記憶體大小,暫時好像還無法通過sql語句擷取。

檢視伺服器的實體記憶體情況

如下所示,從sys.dm_os_sys_info裡面擷取的physical_memory_in_bytes

或physical_memory_kb

的值總是低于實際實體記憶體。暫時不清楚具體原因(還未查到相關資料),是以計算大小有出入,要擷取實際的實體記憶體,就必須借助ceiling函數。

SQL SERVER如何通過SQL語句獲伺服器硬體和系統資訊

--sql 1:擷取資料庫伺服器實體記憶體數(适用于所有版本)

---sql 2:适用于sql server 2005、sql server 2008

---sql 3:适用于sql server 2012 到 sql server 2014

---sql 4:适用于sql server 2008以及以上的版本:檢視實體記憶體大小,已經使用的實體記憶體以及還剩下的實體記憶體。

三:檢視資料庫伺服器硬碟的資訊

如下所示,我們可以通過下面腳本擷取伺服器的各個磁盤的使用情況。但是無法擷取磁盤的型号、轉速之類的資訊。

四:檢視作業系統資訊

  通過下面sql語句,我們可以檢視作業系統版本、更新檔、語言等資訊

  注意:

有可能出現不同作業系統具有相同version

number值,例如windows 7 和windows server 2008 r2的version

numberd都為6.1。導緻下面查詢結果出現多條記錄(如下所示)。一般要酌情判斷(如果生産伺服器都為windows伺服器,可以剔除

windows xp、windows 7這類資料)。

SQL SERVER如何通過SQL語句獲伺服器硬體和系統資訊