PDA

View Full Version : TIP: Monitor SQL Server Express or Named Instances


rajib
09-23-2009, 09:46 AM
Out of the box, Traverse will attempt to discover performance/availability metrics from the default instance of Microsoft SQL Server. If you are running SQL Server Express, or a named instance of SQL Server, Traverse may not be able to discover any relevant metrics. This is due to difference in naming of the relevant WMI classes for difference version/instance of SQL Server. In order to add support for SQL Server Express, the following steps will need to be performed:
Launch Windows Explorer and navigate into Traverse installation directory (eg. C:\Program Files (x86)\Traverse).
Create a copy of etc\typedef\95_wmi_ms_sqlsvr.xml as plugin\monitors\95_wmi_ms_sqlsvr_express.xml.
Right click on plugin\monitors\95_wmi_ms_sqlsvr_express.xml and open the file using Notepad.
Press Control-H to search and replace all occurrences of MSSQLSERVER_SQLServer with MSSQLSQLEXPRESS_MSSQLSQLEXPRESS.
Save the file.
The same steps are applicable if Traverse DGE is running on Linux/Solaris with appropriate path names. Now when you perform WMI test discovery via Administration -> Devices -> Tests (for server running SQL Server Express) -> Add New Standard Tests, metrics for the SQL Server Express will be discovered.

The same procedure is also applicable for named instances of Microsoft SQL Server. You will need to create a copy of etc\typedef\95_wmi_ms_sqlsvr.xml under plugin\monitors directory with unique suffix (similar to _express above) and replace all occurrences of MSSQLSERVER_SQLServer with MSSQLSQLXYZ_MSSQLSQLXYZ where XYZ is the name of the instance.

tim.lsr
01-25-2012, 07:27 PM
Hi Rajib,

Thanks for the post, it sent us in the right direction. I would like to make a correction though:
-----
The same procedure is also applicable for named instances of Microsoft SQL Server. You will need to create a copy of etc\typedef\95_wmi_ms_sqlsvr.xml under plugin\monitors directory with unique suffix (similar to _express above) and replace all occurrences of MSSQLSERVER_SQLServer with MSSQLSQLXYZ_MSSQLSQLXYZ where XYZ is the name of the instance.
-----
You have MSSQLSQL<instance>, for us that did not work. Our working example is instead:
Replace - MSSQLSERVER_SQLServer
With - MSSQL<instance>_MSSQL<instance>
In other words, no SQLSQL, just SQL.

Thanks again,
Tim

rajib
01-25-2012, 08:56 PM
Thanks a lot for the additional information regarding SQL Server instances. Looks like the WMI classes are named differently for standard SQL Server vs. Express edition. I am sure your findings will be helpful for other Traverse users as well.

Regards - Rajib