I'm trying to diagnose an abnormal CPU usage of the sqlservr.exe process from a SQL Server 2012 Express installation.
The installation is running in a VM with Windows Server 2012 R2, 8-core Xeon E5 and 8GB of RAM.
The CPU load (from both ProcessExplorer and Task Manager) stays constantly at around 12%-15%. Restarting the service has no effect, the CPU usage will go right back at the same level a few minutes after restarting.
My biggest problem is that the SQL server was bundled with a third-party software and I don't have sa access to the DB. I was given read only access to the software's database (I can only access views, not tables) but I can't run any reports from SSMS or execute this.
The high CPU consumption definitely comes from the third-party application (if I stop it the load goes back to idle levels) but their support has been so far useless in resolving this issue and I need to deal with it on my own.
Is there anything else I can try to pinpoint the source of the high cpu usage?
Best Answer
You would require at least either the
view server state
orview database state
before you could think of analysing any performance issues inside SQL Server:What can user do with VIEW SERVER STATE permissions?
Seeing as you are limited to the built-in Windows Performance Monitor you could monitor the following counters to establish any basic issues:
These counters are listed according to the following article SQL Server Perfmon (Performance Monitor) Best Practices.
Seeing as you are having a CPU load the following quote from Brent's article seems adequate:
If the sqlserver.exe process is the only one with 12-15% load then you will require additional permissions to be able to analyse the root cause.