Introducing the SQL Server 2016 Query Store
Thanks to our platinum sponsors : Please add this slide add the start of your presentation after the first welcome slide PASS SQL Saturday Holland - 2016
Thanks to our gold and silver sponsors : Please add this slide add the start of your presentation after the first welcome slide PASS SQL Saturday Holland - 2016
About me Chief Consultant DotNine Technical Consultant PinkRoccade Healthcare MVP Data Platform Blogger Author @evdlaar http://www.dotnine.net enrico@dotnine.net
Flight recorder or “black box” Flight recorder or “black box”. The round part is the CSMU (Crash-survivable memory unit) Origin of black box seems to be because early versions were photograph based © aerophotoworks.com http://www.aerophotoworks.com/blog/2014/3/aviation-recorder-flight-data-recorder-black-box
The flight recorder can record 25 hours of flight data and 2 hours of conversations © aerophotoworks.com http://www.aerophotoworks.com/blog/2014/3/aviation-recorder-flight-data-recorder-black-box © aerophotoworks.com http://goo.gl/cO8BEv
Flight recorders are virtually indestructible Flight recorders are virtually indestructible. The can survive an impact of 3400 g’s, an impact force of 3400 times its own weight and can survive for 30 days in salt water. © Manny Ceneta http://www.abc.net.au/news/2014-03-26/air-alaska-flight-data-recorder/5344694
Some data from a flight recorder © TSB http://www.tsb.gc.ca/eng/rapports-reports/aviation/2011/a11h0002/a11h0002.asp
But today we aren’t going to talk about airplane flight recorders but the SQL Server flight recorder: Query Store!
Agenda What is this Query Store? Query Store Architecture Analyzing data inside the Query Store Plan forcing using the Query Store Query Store performance considerations
What is this Query Store?
What is this Query Store? New feature in SQL Server 2016 Captures and stores query information on a per-database level Allows query performance analysis using built-in reports and DMVs Retains query history Integrated directly in the SQL Server Engine
What is this Query Store? Why do I think this is one of the best features in SQL Server 2016? Saves time (and money) Makes performance tuning available for everyone* Examples: CE older to new version, Testing software releases, etc
Query Store Architecture In-memory Async Writer Disk Query Plan Query Plans and Text Direct Query Query Text Query Runtime Stats Query Runtime Stats Data flush interval Query plans and text are aggressively written to disk to persist them. All of the information on-disk is recorded in the new query store schema in the Primary Filegroup of the user-database. Query Store DMVs and reports can access both the In-memory and on-disk storage.
Query Store Architecture [DEMO] Demo: Enabling Query Store and Query Store configuration
Analyzing data inside the Query Store Two methods available to analyze the data inside the Query Store - Built-in reporting - DMVs Built-in reporting provides additional, easy accessible, features like plan comparison and forcing DMVs are great for programmatically accessing Query Store data
Analyzing data inside the Query Store [DEMO] Demo: Built-in reporting
Analyzing data inside the Query Store DMV overview and relations sys.query_store_query sys.query_store_plan sys.query_store_runtime_stats sys.query_store_runtime_stats_interval sys.query_context_settings sys.query_store_query_text query_id plan_id context_settings_id query_text_id runtime_stats_interval_id sys.database_query_store_options
Analyzing data inside the Query Store [DEMO] Demo: DMVs
Plan Forcing through the Query Store Next to giving insight into the performance of your queries, we can use the Query Store to force a specific Execution Plan for a regressed query [DEMO] If you ever had to create a plan guide this new option will make your life a lot easier
Query Store performance considerations Performance impact: 3-5% on average Depends on: - Data Flush Interval setting - Amount of (unique) queries - Storage performance - General performance of the box - etc… BUT…your mileage may vary
Query Store performance considerations There are many ways we can monitor the Query Store - Perfmon - Wait Statistics - Extended Events [DEMO]
To sum things up Query Store is an incredible powerful addition to SQL Server It helps making analyzing query performance easier Allows you to easily force Execution Plans*
Additional reading Monitoring Performance By Using The Query Store (https://msdn.microsoft.com/en-us/library/dn817826.aspx) Simple Talk: “The SQL Server Query Store” article series (https://www.simple-talk.com/author/enrico-van-de-laar/)
Download this slide deck and demo scripts from http://bit.ly/1sfQhIO
Please fill in the evaluation forms Please add this slide add the end of your presentation to get feedback from the audience