Missing Performance Counters

We had an incident today where a set of SQL performance counters were not showing in Perfmon. The performance counters in question were the SSISPipeline set on a 64bit instance of SQL Server 2005, the reason why they were not showing was that in a 64 bit installation the registry setting that stores the location of the dll was pointed at the 32bit equivalent folder.

Microsoft do have a support article on this which I suggest everybody who has a 64bit instance of SQL Server reads:
The “SQL Server:SSIS Pipeline” performance object does not appear in the “Performance object” list after you install Integration Services from a 64-bit version of SQL Server 2005

The article will show you:

  • Which registry change to make.
  • How to unload a performance counter.
  • How to load a performance counter.

 

Should you not have access to the registry the alternative is to follow the advice in the application log:

Windows cannot open the 32-bit extensible counter DLL DTSPipeline in a 64-bit environment. Contact the file vendor to obtain a 64-bit version. Alternatively, you can open the 32-bit extensible counter DLL by using the 32-bit version of Performance Monitor. To use this tool, open the Windows folder, open the Syswow64 folder, and then start Perfmon.exe.

 

If you want a much more detailed explanation of finding the root cause of why a counter is not loaded then I suggest you read the following blog entry by the CSS SQL Server Engineers: Troubleshooting: SQL Server (2005, 2008) Performance Counter Collection Problems