I have googled it, but have found what results there were to be rather spotty. I am looking for real documentation and even MSDN is not very good.
We currently use the excel method - but we have so many counters to capture. I test large systems with many windows machines and building all of the graphs, etc, is quite a chore. My intention once it is in the database I can create automated reports to do much of the compilation.
I revisited this just now. Had to configure a Performance Log, change the security context of the Performance Monitoring Service to something with SQL Server rights, and make sure I used a SQL2k ODBC driver instead of 2k5.
Start Query tool, and find these tables:
dbo.CounterData for counter records.
Joins dbo.Counterdetails on CounterID
Other than that, not much magic. What are you trying to do?
Another option if you don't want to set up MS SQL on/for every server being monitored OR logging multiple server peformance to the same database server, etc. is to do this:
log to CSV file instead on server
grab logs of interest
use relog to import CSV data to MS SQL
now run your SQL queries for data analysis
this option gives you simpler data (file) archival and easier perfmon logging setup yet gives you the power and speed of data analysis using MS SQL over Excel/CSV.
If you re-use the same database in MS SQL for data import & analysis, you can just delete/drop the tables after you're done with analysis so that you have a clean config for the next import/analysis.