쿼리 저장소의 작업을 사용하여 데이터베이스 튜닝Tuning Database Using Workload from Query Store

이 항목은 다음에 적용됩니다. 예SQL Server(2016부터 시작)아니요Azure SQL 데이터베이스아니요Azure SQL 데이터 웨어하우스아니요병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server의 쿼리 저장소 기능은 쿼리, 계획 및 런타임 통계의 기록을 자동으로 캡처하고 이 정보를 데이터베이스에 저장합니다.The Query Store feature in SQL Server automatically captures a history of queries, plans, and runtime statistics, and persists this information in the database. DTA(데이터베이스 엔진 튜닝 관리자)는 쿼리 저장소를 사용하여 튜닝하기에 적합한 작업을 자동으로 선택하는 새로운 옵션을 지원합니다.The Database Engine Tuning Advisor (DTA) supports a new option to use the Query Store to automatically select an appropriate workload for tuning. 따라서 많은 사용자가 튜닝을 위한 작업을 명시적으로 수집하지 않아도 됩니다.For many users, this can take away the need to explicitly collect a workload for tuning. 이 기능은 데이터베이스에서 쿼리 저장소 기능이 설정된 경우에만 사용할 수 있습니다.This feature is only available if the database has the Query Store feature turned on.

이 기능은 SQL Server Management Studio 버전 16.4 이상에서 사용할 수 있습니다.This feature is available with SQL Server Management Studio version 16.4 or higher.

데이터베이스 엔진 튜닝 관리자 GUI에서 쿼리 저장소의 작업을 조정하는 방법How To Tune a Workload from Query Store in Database Engine Tuning Advisor GUI

DTA GUI에서 이 기능을 사용하려면 일반 창에서 쿼리 저장소 라디오 단추를 선택합니다(아래 그림 참조).From the DTA GUI, select the radio button Query Store in the General pane to enable this feature (see figure below). 쿼리 저장소의 DTA 작업DTA workload from query store

dta.exe 명령줄 유틸리티를 사용하여 쿼리 저장소의 작업을 튜닝하는 방법How To Tune a Workload from Query Store in dta.exe command line Utility

명령줄(dta.exe)에서 -iq 옵션을 선택하여 쿼리 저장소의 작업을 선택합니다.From the command line (dta.exe), choose the -iq option to select the workload from Query Store.

쿼리 저장소에서 작업을 선택할 때 DTA의 동작을 튜닝하는 데 도움이 되는 명령줄을 통해 사용할 수 있는 두 가지 추가 옵션이 있습니다.There are two additional options available via the command line that helps tune the behavior of DTA when selecting the workload from Query Store. 이러한 옵션은 GUI를 통해 사용할 수 없습니다.These options not available via the GUI:

  1. 튜닝할 작업 이벤트 수: 사용자는 -n 명령줄 인수를 사용하여 지정되는 이 옵션을 통해 쿼리 저장소의 이벤트 수를 튜닝할 수 있습니다.Number of workload events to tune: This option, specified using -n command line argument, allows the user to control how many events from the Query Store are tuned. 기본적으로 DTA는 이 옵션에 1000 값을 사용합니다.By default, DTA uses a value of 1000 for this option. DTA는 항상 가장 비용이 많이 드는 이벤트를 총 기간으로 선택합니다.Note that DTA always chooses the most expensive events by total duration.

  2. 튜닝할 이벤트의 시간 창: 쿼리 저장소에는 오래 전에 실행된 쿼리가 포함될 수 있으므로 이 옵션을 사용하면 DTA가 튜닝을 위해 쿼리를 실행해야 하는 과거 시간 창(시간)을 지정할 수 있습니다.Time windows of events to tune: Since the Query Store may contain queries that have executed a long time ago, this option allows the user to specify a past time window (in hours) when a query must have executed for it to be considered by DTA for tuning. 이 옵션은 -I 명령줄 인수를 사용하여 지정됩니다.This option is specified using -I command line argument.

자세한 내용은 dta 유틸리티를 참조하세요.See dta Utilty for more information.

쿼리 저장소와 계획 캐시 작업의 차이점Difference between using Workload from Query Store and Plan Cache

쿼리 저장소와 계획 캐시 옵션의 차이점은 데이터베이스에 대해 실행된 쿼리가 쿼리 저장소에 더 오래 저장되어 있고 서버를 다시 시작한 후에도 지속된다는 것입니다.The difference between the Query Store and Plan Cache options is that the former contains a longer history of queries that have executed against the database, persisted across server restarts. 반면에 계획 캐시에는 계획이 메모리에 캐시된 최근 실행 쿼리의 하위 집합만 포함됩니다.On the other hand, the Plan Cache only contains a subset of recently-executed queries whose plans are cached in memory. 서버가 다시 시작되면 계획 캐시의 항목이 삭제됩니다.When the server restarts, the entries in the Plan Cache are discarded.

참고 항목See Also

데이터베이스 엔진 튜닝 관리자 Database Engine Tuning Advisor
자습서: 데이터베이스 엔진 튜닝 관리자 Tutorial: Database Engine Tuning Advisor
쿼리 저장소에서 데이터를 수집하는 방법 How Query Store Collects Data
쿼리 저장소 모범 사례Query Store Best Practices