Knowledge Base >> Troubleshooting WMI configuration for SQL Server resource metrics

Troubleshooting WMI configuration for SQL Server resource metrics - Confio Article 1588

Confio Article: 1588 Published: Mar 01 2010 10:49 AM
Version: >= 8.0.27 Topic(s): Install and Setup
Database(s): MS SQL

Some of the SQL Server database resource metrics require access to the WMI performance counters on the server running the monitored SQL Server instance.  There are a number of configuration issues which can prevent access to these counters by Ignite PI.


1. WMI permissions


The account running the SQL Server intance must have the necessary permissions to access the WMI counters in the 'root\cimv2' namespace.  The user must have at least 'Execute Methods' and 'Enable Account' permissions.

For instructions on how to assign the appropriate permissions, please see: http://technet.microsoft.com/en-us/library/cc787533%28WS.10%29.aspx
 

 

2. WMI counters enabled

 
The SQL Server database resource metrics rely on two WMI performance counters: PerfOS and PerfDisk.   These counters must be enabled for Ignite PI to access the necessary resource data.   You can check if these counters have been disabled using the Extensible Performance Counter List tool provided by Microsoft:

http://www.microsoft.com/downloads/details.aspx?familyid=7FF99683-B7EC-4DA6-92AB-793193604BA4&displaylang=en

Select the counters named PerfOS and PerfDisk in the "Extensible Performance Counters" list.  If the checkbox "Performance Counters Enabled" is not checked, then the selected counter has been disabled.

You can also check if these counters are disabled using regedit.exe.

 

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\PerfDisk\Performance\Disable Performance Counters = 0x1
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\PerfOS\Performance\Disable Performance Counters = 0x1



The value of 0x1 means disabled. If this key is not present, or is set to 0x0, then the counters are enabled.
 

 

3. Running SQLServer and SQLAgent under a domain account


When running SQLServer and SQLAgent Windows services under a domain account:

1. Use SQL Configuration Manager to assign the account and login details instead of editing the service login account directly. By using SQL Configuration Manager, the proper directory permissions are granted as needed for the desired account. Editing the services directly does not perform this necessary step.

2. Make sure that the domain account used for SQLServer and SQLAgent is added to the Local Administrators group on the server.

3. If you want to use Kerberos authentication, a manual SPN will need to be added to AD by an account with domain administration rights. Normally, SQL Server handles this on its own when running under the standard account for a default installation but can’t when running under a domain account (unless said account also has domain admin privileges which is probably not a good idea).

After making these change, you wll need to restart the SQL Server and SQL Agent services.