I had an issue where an instance of SQL Server was only showing the XTP (In Memory) performance counters. None of the other SQL Server counters were available, so I followed the procedure I’d written about previously. Once that was completed, I restarted SQL Server and looked.
No counters, still.
Hmmm. It was then I scrolled further and realized that I had the SQL Server Agent counters, but not the database engine ones. I looked closer in the Performance folder for my instance and noticed this:
There are two .ini files. There are
- perf-<named instance>sqlcrt.ini
- perf-SQLAgent<instance>sqlagtctr.ini
These refer to the counters for the database engine and the Agent subsystem. I had unknowingly copied the Agent file for the lodctr.exe call rather than the other one.
Lesson learned. I had to re-run the procedure with the engine ini file and restart the instance again.
If you need to add counters, make sure you load both and run a restart, otherwise you might incur more downtime than you expect.