SQL Server Performance Tuning

How To Enable SQL Server Query Store [Best Practices]

Updated August 2, 20262 min read

TL;DR

To enable Query Store in SQL Server, right-click a database in SSMS, open Properties, select the Query Store page, and set Operation Mode (Requested) to Read Write, or run an ALTER DATABASE ... SET QUERY_STORE = ON statement.

  • Query Store was introduced in SQL Server 2016 and provides insights into query plans and performance on a specific database.
  • Unlike DMVs, Query Store keeps execution history stored on disk inside the database, so the data survives a SQL Server restart.
  • Enabling Query Store through SSMS requires at least version 16 of SQL Server Management Studio.

What is the SQL Query Store?

The SQL Server Query Store is a feature introduced in SQL Server 2016.

Query Store provides insights into query plans and performance on a specific database.

Why should I enable Query Store?

Query Store is great for troubleshooting performance issues because it keeps execution history stored on disk within the database.

This means you can still access that data even if SQL Server restarts. On the other hand, DMVs don’t have this kind of persistence – their data disappears as soon as SQL Server restarts.

Bonus tip: Query Store data can also be analyzed by Database Engine Tuning Advisor (DTA) to generate workload-based recommendations for indexes and partitioning. Always test any suggested changes in a non-production environment first.

How do I turn on the Query Store?

These are steps how I do it from SSMS:

  1. Right-click a Database
  2. Click Properties
  3. In the Database Properties dialog box, select the Query Store.
  4. In the Operation Mode (Requested) box, select Read Write.
Figure 1 - Enabling SQL Server Query Store
Figure 1 - Enabling SQL Server Query Store using SSMS

Note: SQL Server Query Store requires at least version 16 of SQL Server Management Studio.

Best practices is to set QUERY_CAPTURE_MODE to AUTO and MAX_STORAGE_SIZE_MB to 1GB, with 10GB as the absolute maximum (adjust CLEANUP_POLICY to keep less data, depending on your workload).

It’s a good idea to enable the trace flags 7752 and 7745.

Here is T-SQL how to enable Query Store using the ALTER DATABASE statement.

ALTER DATABASE [XXXX]
SET QUERY_STORE = ON (
		OPERATION_MODE = READ_WRITE
		,MAX_STORAGE_SIZE_MB = 1024
		,QUERY_CAPTURE_MODE = AUTO
		);

Query Store gives you the data; someone still has to act on it every month. Under Red9's SQL managed services, senior DBAs review Query Store trends and tune the top offenders as part of monthly optimization.

More information

Discover More

Discover what clients are saying about Red9

Red9 has incredible expertise both in SQL migration and performance tuning.

The biggest benefit has been performance gains and tuning associated with migrating to AWS and a newer version of SQL Server with Always On clustering. Red9 was integral to this process. The deep knowledge of MSSQL and combined experience of Red9 have been a huge asset during a difficult migration. Red9 found inefficient indexes and performance bottlenecks that improved latency by over 400%.

Rich StaatsRich StaatsCloud EngineerMetalToad
See more testimonials

Check Red9's SQL Server Services

SQL Server Consulting

Perfect for one-time projects like SQL migrations or upgrades, and short-term fixes such as performance issues or SQL remediation.

Discover More ➜

SQL Server Managed Services

Continuous SQL support, proactive monitoring, and expert DBA help with one predictable monthly fee.

Discover More ➜

Emergency SQL Support

Take the stress out of emergencies with immediate access to a SQL Server Sr. DBA 24x7x365

Discover More ➜

Explore All Services ➜