How to get server cpu, memory, network usage from SQL Server For reporting purposes, I want to get SQL Server box CPU, memory, network (not SQL Server process alone) and show it in report. Do you have any idea how to pull this? My initial thoughts are run wmi queries through task scheduler to get the data every 15 minutes and insert into database table and use it in reports

My report format will be like below

Server name:
CPU usage
Memory usage
Network usage
Disk space usage:


My questions:


can this be done in any,other way other than wmi/power shell
I will also need to get web servers data
will you be able to give one sample query for one server.
If you are running SQL Server 2008 and up, then you can use Performance Data Collector on SQL Server. This will get you all the metrics (and even more) that you need.

Below is from my TEST server :



If you want for webserver, then your best bet is to use Powershell. Even you can generate nice reports with charts out of your collection.