Please Support Our Sponsors SQL Saturday is made possible with the generous support of these sponsors. You can support them by opting-in and visiting them in the sponsor area.
Don’t forget to silence your phone
Post Con
Monitoring SQL 2016 on premise for performance and stability
Agenda Who is Chris Wood Which database has the I/O Look at your execution plans – what are they telling you High CPU usage queries Cost threshold controls parallel processing What indexes are you using – all of them or just some What tables do your queries have trouble updating Clear out ad-hoc and prepared plans Who did I get this information from
Who is Chris Wood I am an Englishman who emigrated to Canada in 1982 I started my DBA career on CA-IDMS in 1989 and in 1997 on SQL 6.5. I have been to 12 PASS SUMMITs (learnt many things over the years that you will see) and two-time SQL Cruiser. EDMPASS Communications Director since chapter start-up. Twitter @ChrisAVWood Email ChrisAVWood@outlook.com
Create a monitoring database on the server you want to watch You need somewhere to save all your discovered data
Monitoring Tables and indexes FileStats WaitStats SPQueryPlans SPCostPlans ScanStats OperStats
Demo
Look at your execution plans They contain the information you need to see what your queries actually do We are looking for ‘bad habits’ and estimated costs What are the ‘bad habits’?
Timed Out Plans Query is too complex or not enough resources
No Join Predicates Trying to join tables without a common column. Most likely using old syntax.
Implicit Conversions Comparing different data types can lead to indexes not being used
Demo
High CPU Queries Could be run many times or just use a lot of CPU each time it is run
Demo
Cost Threshold for Parallelism Controls when a parallel plan could be used for multiple core instances Goes with the Max Degree of Parallelism setting
Demo
What Indexes Are You Using Information gathered from dm_db_index_usage_stats DMV
What Tables Do Your Queries Have Trouble Updating Information gathered from dm_db_index_operational_stats DMV
Demo
Clear Out ad-hoc and prepared one time plans Optimize for ad hoc workloads doesn’t stop plan bloat
Demo
Who Did I Get This Information From Execution plans – Jason Strate and Jared Karney High CPU Queries – Glenn Berry Cost Threshold – Grant Fritchey What Indexes Are You Using – Tim Ford What Tables Do You Have Trouble Updating – Tim Ford Clear Out Ad-Hoc and Prepared Plans – Kimberly Tripp