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:

  1. can this be done in any,other way other than wmi/power shell
  2. I will also need to get web servers data
  3. will you be able to give one sample query for one server.

1 Answer 1


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 :

enter image description here

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.