Last night I had the pleasure of presenting my session “Maintain SQL Server Performance Baseline with PowerShell” for the Quad Cities PASS Chapter. In that session I talk about the performance counters you should monitor, and why, and then how to gather that data using PowerShell so you can keep track of performance daily, and more easily find problems when they do, by comparing normal behavior to problem behavior. I discussed these counters in a blog post I did for SentryOne back in January, 2017.
Thank you to everyone that attended the session, and especially to Sheila Acker (t), who asked me to present, and Pat Phelan (b/t), who led the meeting last night. I’ve posted the slide deck and demo scripts here: Maintain SQL Server Performance Baseline with PowerShell.
Thanks for the presentation last week. I have been looking for a simple way to collect baseline data and your method is the best I have found so far.
I was thinking of running data collection against multiple servers from a central location. However, it seems that Get-PerformanceBaseline.ps1 needs to execute on the server that is the source of the counters. (Correct me if I am wrong.) I wondered if that was intentional since the other scripts work remotely. I can probably modify the baseline script to also work remotely but is there is a downside to doing that?
Hi Bob. Thanks for your comments. The script will run remotely, but it has some overhead that has prevented me from running it against more than one server at a time. I’m sure there’s a way around that, but about that time I started working for SentryOne, and their solution is far better than mine. 🙂