dta 유틸리티dta Utility

dta 유틸리티는 데이터베이스 엔진 튜닝 관리자의 명령 프롬프트 버전입니다.The dta utility is the command prompt version of Database Engine Tuning Advisor. dta 유틸리티를 통해 응용 프로그램과 스크립트에서 데이터베이스 엔진 튜닝 관리자의 기능을 사용할 수 있습니다.The dta utility is designed to allow you to use Database Engine Tuning Advisor functionality in applications and scripts.

데이터베이스 엔진 튜닝 관리자와 마찬가지로 dta 유틸리티는 작업을 분석하고 이 작업에 대해 서버 성능을 향상시키기 위한 물리적 디자인 구조를 제안합니다.Like Database Engine Tuning Advisor, the dta utility analyzes a workload and recommends physical design structures to improve server performance for that workload. 작업은 계획 캐시, SQL Server 프로파일러SQL Server Profiler 추적 파일이나 테이블 또는 Transact-SQLTransact-SQL 스크립트일 수 있습니다.The workload can be a plan cache, a SQL Server 프로파일러SQL Server Profiler trace file or table, or a Transact-SQLTransact-SQL script. 물리적 디자인 구조에는 인덱스, 인덱싱된 뷰 및 분할이 포함됩니다.Physical design structures include indexes, indexed views, and partitioning. 작업을 분석한 후 dta 유틸리티는 실제 데이터베이스 디자인을 제안하며 이 제안 사항을 구현하는 데 필요한 스크립트를 생성할 수 있습니다.After analyzing a workload, the dta utility produces a recommendation for the physical design of databases and can generate the necessary script to implement the recommendation. 명령 프롬프트에서 -if 또는 -it 인수를 사용하여 작업을 지정할 수 있습니다.Workloads can be specified from the command prompt with the -if or the -it argument. 또한 명령 프롬프트에서 -ix 인수를 사용하여 XML 입력 파일을 지정할 수도 있습니다.You can also specify an XML input file from the command prompt with the -ix argument. 이러한 경우 작업은 XML 입력 파일에서 지정됩니다.In that case, the workload is specified in the XML input file.

구문Syntax


dta  
[ -? ] |  
[  
      [ -S server_name[ \instance ] ]  
      { { -U login_id [-P password ] } | –E  }  
      { -D database_name [ ,...n ] }  
      [ -d database_name ]   
      [ -Tl table_list | -Tf table_list_file ]  
      { -if workload_file | -it workload_trace_table_name  |   
        -ip | -iq }  
      { -ssession_name | -IDsession_ID }  
      [ -F ]  
      [ -of output_script_file_name ]  
      [ -or output_xml_report_file_name ]  
      [ -ox output_XML_file_name ]  
      [ -rl analysis_report_list [ ,...n ] ]  
      [ -ix input_XML_file_name ]  
      [ -A time_for_tuning_in_minutes ]  
      [ -n number_of_events ]
      [ -I time_window_in_hours ]  
      [ -m minimum_improvement ]  
      [ -fa physical_design_structures_to_add ]  
      [ -fi filtered_indexes]  
      [ -fc columnstore_indexes]  
      [ -fp partitioning_strategy ]  
      [ -fk keep_existing_option ]  
      [ -fx drop_only_mode ]  
      [ -B storage_size ]  
      [ -c max_key_columns_in_index ]  
      [ -C max_columns_in_index ]  
      [ -e | -e tuning_log_name ]  
      [ -N online_option]  
      [ -q ]  
      [ -u ]  
      [ -x ]  
      [ -a ]  
]  

인수Arguments

-?-?
사용법 정보를 표시합니다.Displays usage information.

-A time_for_tuning_in_minutes-A time_for_tuning_in_minutes
튜닝 시간 제한(분)을 지정합니다.Specifies the tuning time limit in minutes. dta 는 지정된 시간 동안 작업을 튜닝하고 제안된 실제 디자인 변경 내용을 사용하여 스크립트를 생성합니다.dta uses the specified amount of time to tune the workload and generate a script with the recommended physical design changes. dta 의 기본 튜닝 시간은 8시간입니다.By default dta assumes a tuning time of 8 hours. 0을 지정하면 튜닝에 시간 제한이 없습니다.Specifying 0allows unlimited tuning time. dta 는 시간 제한이 만료되기 전에 전체 작업 튜닝을 마칠 수 있습니다.dta might finish tuning the entire workload before the time limit expires. 그러나 전체 작업이 튜닝되도록 하려면 무제한 튜닝 시간(-A 0)을 지정하는 것이 좋습니다.However, to make sure that the entire workload is tuned, we recommend that you specify unlimited tuning time (-A 0).

-a-a
작업을 튜닝한 후 사용자에게 메시지를 표시하지 않고 제안 사항을 적용합니다.Tunes workload and applies the recommendation without prompting you.

-B storage_size-B storage_size
권장되는 인덱스 및 분할에서 소비할 수 있는 최대 공간(MB)을 지정합니다.Specifies the maximum space in megabytes that can be consumed by the recommended index and partitioning. 여러 개의 데이터베이스를 튜닝할 경우 모든 데이터베이스에 대한 권장 구성은 공간 계산을 고려하여 처리됩니다.When multiple databases are tuned, recommendations for all databases are considered for the space calculation. 기본적으로 dta 는 다음 저장소 크기 중 더 작은 크기를 사용합니다.By default, dta assumes the smaller of the following storage sizes:

  • 현재 원시 데이터 크기의 3배이며 데이터베이스의 테이블에 있는 힙과 클러스터형 인덱스의 전체 크기를 포함합니다.Three times the current raw data size, which includes the total size of heaps and clustered indexes on tables in the database.

  • 연결된 모든 디스크 드라이브의 여유 공간과 원시 데이터 크기를 더한 것입니다.The free space on all attached disk drives plus the raw data size.

    기본 저장소 크기는 비클러스터형 인덱스 및 인덱싱된 뷰를 포함하지 않습니다.The default storage size does not include nonclustered indexes and indexed views.

    -C max_columns_in_index-C max_columns_in_index
    dta 에서 제안하는 인덱스의 최대 열 수를 지정합니다.Specifies the maximum number of columns in indexes that dta proposes. 최대값은 1024입니다.The maximum value is 1024. 기본적으로 이 인수는 16으로 설정됩니다.By default, this argument is set to 16.

    -c max_key_columns_in_index-c max_key_columns_in_index
    dta 에서 제안하는 인덱스의 최대 키 열 수를 지정합니다.Specifies the maximum number of key columns in indexes that dta proposes. 기본값은 16이며 허용되는 최대값입니다.The default value is 16, the maximum value allowed. dta 는 포함된 열을 사용하여 인덱스를 만듭니다.dta also considers creating indexes with included columns. 포함된 열을 사용할 때 권장되는 인덱스는 이 인수에 지정된 열 수를 초과할 수 있습니다.Indexes recommended with included columns may exceed the number of columns specified in this argument.

    -D database_name-D database_name
    튜닝할 각 데이터베이스의 이름을 지정합니다.Specifies the name of each database that is to be tuned. 첫 번째 데이터베이스가 기본 데이터베이스입니다.The first database is the default database. 다음과 같이 데이터베이스 이름을 쉼표로 구분하여 여러 데이터베이스를 지정할 수 있습니다.You can specify multiple databases by separating the database names with commas, for example:

dta –D database_name1, database_name2...  

또는 다음과 같이 각 데이터베이스 이름에 –D 인수를 사용하여 여러 데이터베이스를 지정할 수 있습니다.Alternatively, you can specify multiple databases by using the –D argument for each database name, for example:

dta –D database_name1 -D database_name2... n  

-D 인수는 필수 인수입니다.The -D argument is mandatory. -d 인수를 지정하지 않은 경우 초기에 dta 는 작업에서 첫 번째 USE database_name 절로 지정된 데이터베이스에 연결합니다.If the -d argument has not been specified, dta initially connects to the database that is specified with the first USE database_name clause in the workload. 작업에 명시적 USE database_name 절이 없으면 -d 인수를 사용해야 합니다.If there is not explicit USE database_name clause in the workload, you must use the -d argument.

예를 들어 작업에 명시적 USE database_name 절이 포함되지 않은 경우 다음 dta 명령을 사용하면 권장 구성이 생성되지 않습니다.For example, if you have a workload that contains no explicit USE database_name clause, and you use the following dta command, a recommendation will not be generated:

dta -D db_name1, db_name2...  

그러나 같은 작업에서 -d 인수를 사용하는 다음 dta 명령을 사용하면 권장 구성이 생성됩니다.But if you use the same workload, and use the following dta command that uses the -d argument, a recommendation will be generated:

dta -D db_name1, db_name2 -d db_name1  

-d database_name-d database_name
작업을 튜닝할 때 dta 가 연결하는 첫 번째 데이터베이스를 지정합니다.Specifies the first database to which dta connects when tuning a workload. 이 인수에는 데이터베이스를 하나만 지정할 수 있습니다.Only one database can be specified for this argument. 예를 들어For example:

dta -d AdventureWorks2012 ...  

데이터베이스 이름을 여러 개 지정할 경우 dta 는 오류를 반환합니다.If multiple database names are specified, then dta returns an error. -d 인수는 선택 사항입니다.The -d argument is optional.

XML 입력 파일을 사용하는 경우 DatabaseToConnect 요소 아래에 있는 TuningOptions 요소를 사용하여 dta 가 연결하는 첫 번째 데이터베이스를 지정할 수 있습니다.If you are using an XML input file, you can specify the first database to which dta connects by using the DatabaseToConnect element that is located under the TuningOptions element. 자세한 내용은 Database Engine Tuning Advisor을(를) 참조하세요.For more information, see Database Engine Tuning Advisor.

데이터베이스를 하나만 튜닝하는 경우 -d 인수는 sqlcmd 유틸리티의 -d 인수와 유사한 기능을 제공하지만 USE database_name 문을 실행하지는 않습니다.If you are tuning only one database, the -d argument provides functionality that is similar to the -d argument in the sqlcmd utility, but it does not execute the USE database_name statement. 자세한 내용은 sqlcmd Utility을(를) 참조하십시오.For more information, see sqlcmd Utility.

-E-E
암호를 요구하지 않고 트러스트된 연결을 사용합니다.Uses a trusted connection instead of requesting a password. 로그인 ID를 지정하는 -E 인수 또는 -U 인수를 사용해야 합니다.Either the -E argument or the -U argument, which specifies a login ID, must be used.

-e tuning_log_name-e tuning_log_name
dta 가 튜닝할 수 없는 이벤트를 기록하는 테이블 또는 파일의 이름을 지정합니다.Specifies the name of the table or file where dta records events that it could not tune. 이 테이블은 튜닝을 수행하는 서버에 생성됩니다.The table is created on the server where the tuning is performed.

테이블을 사용하는 경우 [database_name].[owner_name].table_name형식으로 해당 이름을 지정합니다.If a table is used, specify its name in the format: [database_name].[owner_name].table_name. 다음 표에서는 각 매개 변수의 기본값을 보여 줍니다.The following table shows the default values for each parameter:

매개 변수Parameter 기본값Default value 세부 정보Details
database_namedatabase_name –D 옵션으로 지정된 database_namedatabase_name specified with the –D option
owner_nameowner_name dbodbo owner_namedbo여야 합니다.owner_name must be dbo. 다른 값을 지정할 경우 dta 를 실행할 수 없으며 오류가 반환됩니다.If any other value is specified, then dta execution fails and it returns an error.
table_nametable_name 없음None

파일을 사용하는 경우If a file is used, specify .xml as its extension. TuningLog.xml과 같이 확장명으로 .xml을 지정합니다.For example, TuningLog.xml.

참고

dta 유틸리티는 세션을 삭제해도 사용자 지정 튜닝 로그 테이블의 내용을 삭제하지 않습니다.The dta utility does not delete the contents of user-specified tuning log tables if the session is deleted. 매우 큰 작업을 튜닝하는 경우 튜닝 로그에 대해 테이블을 지정하는 것이 좋습니다.When tuning very large workloads, we recommend that a table be specified for the tuning log. 큰 작업을 튜닝하면 큰 튜닝 로그가 생성되기 때문에 테이블을 사용하면 세션을 보다 빨리 삭제할 수 있습니다.Since tuning large workloads can result in large tuning logs, the sessions can be deleted much faster when a table is used.

-F-F
dta 가 기존의 출력 파일을 덮어쓰도록 허용합니다.Permits dta to overwrite an existing output file. 이름이 같은 출력 파일이 이미 있을 경우 -F 를 지정하지 않으면 dta는 오류를 반환합니다.If an output file with the same name already exists and -F is not specified, dtareturns an error. -of , -or또는 -ox와 함께 -F를 사용할 수 있습니다.You can use -F with -of, -or, or -ox.

-fa physical_design_structures_to_add-fa physical_design_structures_to_add
dta 가 권장 구성에 포함해야 할 실제 디자인 구조 유형을 지정합니다.Specifies what types of physical design structures dta should include in the recommendation. 다음 표에서는 이 인수에 지정할 수 있는 값을 나열하고 설명합니다.The following table lists and describes the values that can be specified for this argument. 값을 지정하지 않으면 dta 는 기본적으로 -faIDX를 사용합니다.When no value is specified, dta uses the default -faIDX.

Value 설명Description
IDX_IVIDX_IV 인덱스와 인덱싱된 뷰Indexes and indexed views.
IDXIDX 인덱스만Indexes only.
IVIV 인덱싱된 뷰만Indexed views only.
NCL_IDXNCL_IDX 비클러스터형 인덱스만Nonclustered indexes only.

-fi-fi
필터링된 인덱스가 새 제안 사항을 만들 때 고려되도록 지정합니다.Specifies that filtered indexes be considered for new recommendations. 자세한 내용은 Create Filtered Indexes을(를) 참조하세요.For more information, see Create Filtered Indexes.

-fc-fc
Columnstore 인덱스를 새 권장 사항에 대 한 고려 지정 합니다.Specifies that columnstore indexes be considered for new recommendations. DTA는 모두 클러스터형 및 비클러스터형 columnstore 인덱스를 고려 합니다.DTA will consider both clustered and non-clustered columnstore indexes. 자세한 내용은 다음을 참조하세요.For more information, see
Columnstore 인덱스 권장 구성에서 데이터베이스 엔진 튜닝 관리자 (DTA)합니다.Columnstore index recommendations in Database Engine Tuning Advisor (DTA). ||
|-|
|적용 대상: SQL Server 2016SQL Server 2016 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2016SQL Server 2016 through SQL Server 2017SQL Server 2017.|

-fk keep_existing_option-fk keep_existing_option
권장 구성을 생성할 때 dta 가 유지해야 할 기존의 실제 디자인 구조를 지정합니다.Specifies what existing physical design structures dta must retain when generating its recommendation. 다음 표에서는 이 인수에 지정할 수 있는 값을 나열하고 설명합니다.The following table lists and describes the values that can be specified for this argument:

Value 설명Description
없음NONE 기존 구조 없음No existing structures
ALLALL 기존의 모든 구조All existing structures
ALIGNEDALIGNED 모든 파티션 정렬 구조All partition-aligned structures.
CL_IDXCL_IDX 테이블에 있는 모든 클러스터형 인덱스All clustered indexes on tables
IDXIDX 테이블에 있는 모든 클러스터형 및 비클러스터형 인덱스All clustered and nonclustered indexes on tables

-fp partitioning_strategy-fp partitioning_strategy
dta 가 제안하는 새 실제 디자인 구조(인덱스 및 인덱싱된 뷰)를 분할할 것인지 여부와 분할 방법을 지정합니다.Specifies whether new physical design structures (indexes and indexed views) that dta proposes should be partitioned, and how they should be partitioned. 다음 표에서는 이 인수에 지정할 수 있는 값을 나열하고 설명합니다.The following table lists and describes the values that can be specified for this argument:

Value 설명Description
없음NONE 분할 안 함No partitioning
FULLFULL 전체 분할(성능 향상 중심)Full partitioning (choose to enhance performance)
ALIGNEDALIGNED 정렬된 분할만(관리 효율성 향상 중심)Aligned partitioning only (choose to enhance manageability)

ALIGNED는 dta 로 생성된 권장 구성에서 제안된 모든 인덱스가 이 인덱스를 정의한 기본 테이블과 정확히 같은 방식으로 분할됨을 의미합니다.ALIGNED means that in the recommendation generated by dta every proposed index is partitioned in exactly the same way as the underlying table for which the index is defined. 인덱싱된 뷰의 비클러스터형 인덱스는 인덱싱된 뷰에 정렬됩니다.Nonclustered indexes on an indexed view are aligned with the indexed view. 이 인수에는 값을 하나만 지정할 수 있습니다.Only one value can be specified for this argument. 기본값은 -fpNONE입니다.The default is -fpNONE.

-fx drop_only_mode-fx drop_only_mode
dta 에서 기존의 실제 디자인 구조의 삭제만 고려할 것인지 지정합니다.Specifies that dta only considers dropping existing physical design structures. 새 물리적 디자인 구조는 고려되지 않습니다.No new physical design structures are considered. 이 옵션을 지정하면 dta 는 기존 물리적 디자인 구조의 유용성을 평가하고 거의 사용하지 않는 구조를 삭제할 것을 권장합니다.When this option is specified, dta evaluates the usefulness of existing physical design structures and recommends dropping seldom used structures. 이 인수에는 값이 없습니다.This argument takes no values. 이 인수는 -fa, -fp또는 -fk ALL 인수와 함께 사용할 수 없습니다.It cannot be used with the -fa, -fp, or -fk ALL arguments

-ID session_ID-ID session_ID
튜닝 세션에 대한 숫자 식별자를 지정합니다.Specifies a numerical identifier for the tuning session. 이 옵션을 지정하지 않으면 dta 는 ID 번호를 생성합니다.If not specified, then dta generates an ID number. 이 식별자를 사용하여 기존 튜닝 세션에 대한 정보를 볼 수 있습니다.You can use this identifier to view information for existing tuning sessions. -ID값을 지정하지 않을 경우 -s를 사용하여 세션 이름을 지정해야 합니다.If you do not specify a value for -ID, then a session name must be specified with -s.

-ip-ip
계획 캐시를 작업으로 사용할 수 있도록 지정합니다.Specifies that the plan cache be used as the workload. 명시적으로 선택한 데이터베이스에 대한 상위 1,000개의 계획 캐시 이벤트가 분석됩니다.The top 1,000 plan cache events for explicitly selected databases are analyzed. –n 옵션을 사용하여 이 값을 변경할 수 있습니다.This value can be changed using the –n option.

-iq-iq
쿼리 저장소 작업으로 사용할 수 있도록 지정 합니다.Specifies that the Query Store be used as the workload. 명시적으로 선택한 데이터베이스에 대 한 쿼리 저장소에서 상위 1, 000 이벤트가 분석 됩니다.The top 1,000 events from the Query Store for explicitly selected databases are analyzed. –n 옵션을 사용하여 이 값을 변경할 수 있습니다.This value can be changed using the –n option. 참조 쿼리 저장소쿼리 저장소에서 데이터베이스를 사용 하 여 작업 튜닝 자세한 정보에 대 한 합니다.See Query Store and Tuning Database Using Workload from Query Store for more information. ||
|-|
|적용 대상: SQL Server 2016SQL Server 2016 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2016SQL Server 2016 through SQL Server 2017SQL Server 2017.|

-if workload_file-if workload_file
튜닝을 위한 입력으로 사용할 작업 파일의 경로와 이름을 지정합니다.Specifies the path and name of the workload file to use as input for tuning. 파일은 .trc(SQL Server Profiler 추적 파일), .sql(SQL 파일) 또는 .log( SQL ServerSQL Server 추적 파일) 형식 중 하나여야 합니다.The file must be in one of these formats: .trc (SQL Server Profiler trace file), .sql (SQL file), or .log ( SQL ServerSQL Server trace file). 작업 파일 또는 작업 테이블을 하나 지정해야 합니다.Either one workload file or one workload table must be specified.

-it workload_trace_table_name-it workload_trace_table_name
튜닝을 위한 작업 추적을 포함하는 테이블의 이름을 지정합니다.Specifies the name of a table containing the workload trace for tuning. 이름은 [database_name].[owner_name].table_name형식으로 지정됩니다.The name is specified in the format: [database_name].[owner_name].table_name.

다음 표에서는 각 매개 변수의 기본값을 보여 줍니다.The following table shows the default values for each:

매개 변수Parameter 기본값Default value
database_namedatabase_name –D 옵션으로 지정된 database_namedatabase_name specified with –D option.
owner_nameowner_name dbodbo.
table_nametable_name 없음None.
참고

owner_namedbo여야 합니다.owner_name must be dbo. 다른 값을 지정하면 dta 가 실행되지 않고 오류가 반환됩니다.If any other value is specified, execution of dta fails and an error is returned. 작업 파일 또는 작업 테이블 하나를 지정해야 합니다.Also note that either one workload table or one workload file must be specified.

-ix input_XML_file_name-ix input_XML_file_name
dta 입력 정보가 포함된 XML 파일의 이름을 지정합니다.Specifies the name of the XML file containing dta input information. 이 파일은 DTASchema.xsd를 준수하는 유효한 XML 문서여야 합니다.This must be a valid XML document conforming to DTASchema.xsd. 명령 프롬프트에서 튜닝 옵션에 대해 지정한 인수와 충돌하면 이 XML 파일의 해당 값보다 우선 적용됩니다.Conflicting arguments specified from the command prompt for tuning options override the corresponding value in this XML file. 단, 사용자 지정 구성을 XML 입력 파일에 평가 모드로 입력할 경우는 예외입니다.The only exception is if a user-specified configuration is entered in the evaluate mode in the XML input file. 예를 들어 XML 입력 파일의 Configuration 요소에 구성을 입력하고 튜닝 옵션 중 하나로 EvaluateConfiguration 요소를 지정한 경우 XML 입력 파일에서 지정한 튜닝 옵션은 명령 프롬프트에서 입력한 튜닝 옵션보다 우선 적용됩니다.For example, if a configuration is entered in the Configuration element of the XML input file and the EvaluateConfiguration element is also specified as one of the tuning options, the tuning options specified in the XML input file will override any tuning options entered from the command prompt.

-m minimum_improvement-m minimum_improvement
권장 구성이 만족시켜야 할 최소 향상률을 지정합니다.Specifies the minimum percentage of improvement that the recommended configuration must satisfy.

-N online_option-N online_option
물리적 디자인 구조를 온라인으로 만들 것인지 여부를 지정합니다.Specifies whether physical design structures are created online. 다음 표에서는 이 인수에 지정할 수 있는 값을 나열하고 설명합니다.The following table lists and describes the values you can specify for this argument:

Value 설명Description
OFFOFF 권장되는 물리적 디자인 구조를 온라인으로 만들 수 없습니다.No recommended physical design structures can be created online.
ONON 권장되는 모든 물리적 디자인 구조를 온라인으로 만들 수 있습니다.All recommended physical design structures can be created online.
MIXEDMIXED 데이터베이스 엔진 튜닝 관리자는 가능한 경우 온라인으로 만들 수 있는 물리적 디자인 구조를 제안합니다.Database Engine Tuning Advisor attempts to recommend physical design structures that can be created online when possible.

인덱스를 온라인으로 만드는 경우 개체 정의에 ONLINE = ON이 추가됩니다.If indexes are created online, ONLINE = ON is appended to its object definition.

-n number_of_events-n number_of_events
dta 가 튜닝해야 할 작업의 이벤트 수를 지정합니다.Specifies the number of events in the workload that dta should tune. 이 인수를 지정한 경우 작업이 기간 정보가 포함된 추적 파일이면 dta 는 기간의 내림차순으로 이벤트를 튜닝합니다.If this argument is specified and the workload is a trace file that contains duration information, then dta tunes events in decreasing order of duration. 이 인수는 물리적 디자인 구조의 두 구성을 비교할 때 유용합니다.This argument is useful to compare two configurations of physical design structures. 두 구성을 비교하려면 다음과 같이 두 구성에 대해 튜닝할 이벤트 수를 같은 값으로 지정하고 무제한 튜닝 시간을 지정합니다.To compare two configurations, specify the same number of events to be tuned for both configurations and then specify an unlimited tuning time for both also as follows:

dta -n number_of_events -A 0  

이러한 경우 반드시 무제한 튜닝 시간(-A 0)을 지정해야 합니다.In this case, it is important to specify an unlimited tuning time (-A 0). 그렇지 않으면 기본적으로 데이터베이스 엔진 튜닝 관리자에서 튜닝 시간으로 8시간을 적용합니다.Otherwise, Database Engine Tuning Advisor assumes an 8 hour tuning time by default.

-I time_window_in_hours -I time_window_in_hours
시간 창 (시간)을 지정 DTA 사용 하는 경우 튜닝에 대 한 것으로 간주 되려면에 대 한 쿼리 실행 해야 경우 -iq 옵션 (쿼리 저장소에서 작업).Specifies the time window (in hours) when a query must have executed for it to be considered by DTA for tuning when using -iq option (Workload from Query Store).

dta -iq -I 48  

이 경우 DTA 작업의 원본으로 쿼리 저장소를 사용 하 고만 지난 48 시간으로 실행 된 쿼리를 고려 합니다.In this case, DTA will use Query Store as the source of workload and only consider queries that have executed with the past 48 hours.
||
|-|
|적용 대상: SQL Server 2016SQL Server 2016 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2016SQL Server 2016 through SQL Server 2017SQL Server 2017.|

-or output_script_file_name-of output_script_file_name
dta 가 권장 구성을 지정된 파일 이름 및 대상에 Transact-SQLTransact-SQL 스크립트로 쓰도록 지정합니다.Specifies that dta writes the recommendation as a Transact-SQLTransact-SQL script to the file name and destination specified.

이 옵션과 함께 -F 를 사용할 수 있습니다.You can use -F with this option. 파일 이름이 고유한지 확인합니다. 특히 -or-ox를 함께 사용하는 경우 고유한 파일 이름이어야 합니다.Make sure that the file name is unique, especially if you are also using -or and -ox.

-ox output_xml_report_file_name-or output_xml_report_file_name
dta 가 권장 구성을 XML 형식의 출력 보고서로 쓰도록 지정합니다.Specifies that dta writes the recommendation to an output report in XML. 파일 이름을 제공한 경우 권장 구성이 해당 대상에 기록됩니다.If a file name is supplied, then the recommendations are written to that destination. 그렇지 않으면 dta 는 세션 이름을 사용하여 파일 이름을 생성하고 현재 디렉터리에 씁니다.Otherwise, dta uses the session name to generate the file name and writes it to the current directory.

이 옵션과 함께 -F 를 사용할 수 있습니다.You can use -F with this option. 파일 이름이 고유한지 확인합니다. 특히 -of-ox를 함께 사용하는 경우 고유한 파일 이름이어야 합니다.Make sure that the file name is unique, especially if you are also using -of and -ox.

-F output_XML_file_name-ox output_XML_file_name
dta 가 권장 구성을 제공된 파일 이름 및 대상에 XML 파일로 쓰도록 지정합니다.Specifies that dta writes the recommendation as an XML file to the file name and destination supplied. 데이터베이스 엔진 튜닝 관리자에서 대상 디렉터리에 쓸 수 있는 권한이 있는지 확인합니다.Ensure that Database Engine Tuning Advisor has permissions to write to the destination directory.

이 옵션과 함께 -F 를 사용할 수 있습니다.You can use -F with this option. 파일 이름이 고유한지 확인합니다. 특히 -of-or을 함께 사용하는 경우 고유한 파일 이름이어야 합니다.Make sure that the file name is unique, especially if you are also using -of and -or.

-P password-P password
로그인 ID의 암호를 지정합니다.Specifies the password for the login ID. 이 옵션을 사용하지 않으면 dta 가 암호를 묻는 메시지를 표시합니다.If this option is not used, dta prompts for a password.

-q-q
자동 모드를 설정합니다.Sets quiet mode. 진행률 및 머리글 정보를 포함하여 어떤 정보도 콘솔에 표시되지 않습니다.No information is written to the console, including progress and header information.

-rl analysis_report_list-rl analysis_report_list
생성할 분석 보고서의 목록을 지정합니다.Specifies the list of analysis reports to generate. 다음 표에서는 이 인수에 지정할 수 있는 값을 나열합니다.The following table lists the values that can be specified for this argument:

Value 보고서Report
ALLALL 모든 분석 보고서All analysis reports
STMT_COSTSTMT_COST 문 비용 보고서Statement cost report
EVT_FREQEVT_FREQ 이벤트 빈도 보고서Event frequency report
STMT_DETSTMT_DET 문 세부 정보 보고서Statement detail report
CUR_STMT_IDXCUR_STMT_IDX 문-인덱스 관계 보고서(현재 구성)Statement-index relations report (current configuration)
REC_STMT_IDXREC_STMT_IDX 문-인덱스 관계 보고서(권장 구성)Statement-index relations report (recommended configuration)
STMT_COSTRANGESTMT_COSTRANGE 문 비용 범위 보고서Statement cost range report
CUR_IDX_USAGECUR_IDX_USAGE 인덱스 사용 보고서(현재 구성)Index usage report (current configuration)
REC_IDX_USAGEREC_IDX_USAGE 인덱스 사용 보고서(권장 구성)Index usage report (recommended configuration)
CUR_IDX_DETCUR_IDX_DET 인덱스 세부 정보 보고서(현재 구성)Index detail report (current configuration)
REC_IDX_DETREC_IDX_DET 인덱스 세부 정보 보고서(권장 구성)Index detail report (recommended configuration)
VIW_TABVIW_TAB 뷰-테이블 관계 보고서View-table relations report
WKLD_ANLWKLD_ANL 작업 분석 보고서Workload analysis report
DB_ACCESSDB_ACCESS 데이터베이스 액세스 보고서Database access report
TAB_ACCESSTAB_ACCESS 테이블 액세스 보고서Table access report
COL_ACCESSCOL_ACCESS 열 액세스 보고서Column access report

보고서가 여러 개인 경우 다음과 같이 쉼표로 값을 구분하여 지정합니다.Specify multiple reports by separating the values with commas, for example:

... -rl EVT_FREQ, VIW_TAB, WKLD_ANL ...  

-S server_name[ \instance]-S server_name[ \instance]
연결할 컴퓨터 및 SQL ServerSQL Server 인스턴스의 이름을 지정합니다.Specifies the name of the computer and instance of SQL ServerSQL Server to connect to. server_name 을 지정하지 않으면 dta 가 로컬 컴퓨터에 있는 기본 SQL ServerSQL Server 인스턴스에 연결합니다.If no server_name is specified, dta connects to the default instance of SQL ServerSQL Server on the local computer. 명명된 인스턴스에 연결할 때 또는 네트워크의 원격 컴퓨터에서 dta 를 실행할 때 이 옵션을 지정해야 합니다.This option is required when connecting to a named instance or when executing dta from a remote computer on the network.

-s session_name-s session_name
튜닝 세션 이름을 지정합니다.Specifies the name of the tuning session. -ID 를 지정하지 않는 경우 이 인수를 반드시 지정해야 합니다.This is required if -ID is not specified.

-Tf table_list_file-Tf table_list_file
튜닝할 테이블 목록이 들어 있는 파일의 이름을 지정합니다.Specifies the name of a file containing a list of tables to be tuned. 파일 내에 표시된 각 테이블은 새 줄로 시작해야 합니다.Each table listed within the file should begin on a new line. 테이블 이름은 AdventureWorks2012.HumanResources.Department와 같이 세 부분으로 이루어진 정규화된 이름이어야 합니다.Table names should be qualified with three-part naming, for example, AdventureWorks2012.HumanResources.Department. 또한 테이블 배율 기능을 호출하려면 기존 테이블 이름 뒤에 테이블의 예상 행 수를 나타내는 숫자를 붙일 수 있습니다.Optionally, to invoke the table-scaling feature, the name of an existing table can be followed by a number indicating the projected number of rows in the table. 데이터베이스 엔진 튜닝 관리자에서는 이 테이블을 참조하는 작업에서 문을 튜닝하거나 평가하는 동안 예상 행 수를 고려합니다.Database Engine Tuning Advisor takes into consideration the projected number of rows while tuning or evaluating statements in the workload that reference these tables. number_of_rows 개수와 table_name사이에 하나 이상의 공백이 있을 수 있습니다.Note that there can be one or more spaces between the number_of_rows count and the table_name.

다음은 table_list_file의 파일 형식입니다.This is the file format for table_list_file:

database_name.[schema_name].table_name [number_of_rows]database_name.[schema_name].table_name [number_of_rows]

database_name.[schema_name].table_name [number_of_rows]database_name.[schema_name].table_name [number_of_rows]

database_name.[schema_name].table_name [number_of_rows]database_name.[schema_name].table_name [number_of_rows]

이 인수는 명령 프롬프트에서 테이블 목록(-Tl)을 입력하는 대신 사용할 수 있습니다.This argument is an alternative to entering a table list at the command prompt (-Tl). -Tl를 사용하는 경우 테이블 목록 파일( -Tf)을 사용하지 마세요.Do not use a table list file (-Tf) if you are using -Tl. 두 인수를 모두 사용하면 dta 가 실패하고 오류가 반환됩니다.If both arguments are used, dta fails and returns an error.

-Tf-Tl 인수를 둘 다 생략하면 지정한 데이터베이스의 모든 사용자 테이블이 튜닝 대상으로 고려됩니다.If the -Tf and -Tl arguments are omitted, all user tables in the specified databases are considered for tuning.

-Tl table_list-Tl table_list
명령 프롬프트에서 튜닝할 테이블 목록을 지정합니다.Specifies at the command prompt a list of tables to be tuned. 테이블 이름은 쉼표를 입력하여 구분합니다.Place commas between table names to separate them. -D 인수로 데이터베이스를 하나만 지정하는 경우 데이터베이스 이름으로 테이블 이름을 정규화할 필요가 없습니다.If only one database is specified with the -D argument, then table names do not need to be qualified with a database name. 그렇지 않고 여러 데이터베이스를 지정하는 경우에는 각 테이블에 database_name.schema_name.table_name 형식으로 정규화된 이름을 사용해야 합니다.Otherwise, the fully qualified name in the format: database_name.schema_name.table_name is required for each table.

이 인수는 테이블 목록 파일(-Tf) 대신 사용할 수 있습니다.This argument is an alternative to using a table list file (-Tf). -Tl-Tf 를 모두 사용하면 dta 가 실패하고 오류가 반환됩니다.If both -Tl and -Tf are used, dta fails and returns an error.

-U login_id-U login_id
SQL ServerSQL Server연결에 사용하는 로그인 ID를 지정합니다.Specifies the login ID used to connect to SQL ServerSQL Server.

-u-u
데이터베이스 엔진 튜닝 관리자 GUI를 시작합니다.Launches the Database Engine Tuning Advisor GUI. 모든 매개 변수는 사용자 인터페이스의 초기 설정으로 간주됩니다.All parameters are treated as the initial settings for the user interface.

-x-x
튜닝 세션을 시작하고 종료합니다.Starts tuning session and exits.

주의Remarks

Ctrl+C를 한 번 누르면 튜닝 세션이 중지되고 이 지점까지 dta 가 완료한 분석을 기반으로 권장 구성이 생성됩니다.Press CTRL+C once to stop the tuning session and generate recommendations based on the analysis dta has completed up to this point. 권장 구성을 생성할지 여부를 결정하라는 메시지가 표시됩니다.You will be prompted to decide whether you want to generate recommendations or not. Ctrl+C를 다시 누르면 권장 구성을 생성하지 않고 튜닝 세션이 중지됩니다.Press CTRL+C again to stop the tuning session without generating recommendations.

Examples

A. 권장 구성에 인덱스 및 인덱싱된 뷰가 포함 된 작업 튜닝A. Tune a workload that includes indexes and indexed views in its recommendation

이 예에서는 보안 연결(-E)을 통해 MyServer에 있는 tpcd1G 데이터베이스에 연결하여 작업을 분석하고 권장 구성을 만듭니다.This example uses a secure connection (-E) to connect to the tpcd1G database on MyServer to analyze a workload and create recommendations. 그리고 script.sql이라는 스크립트 파일에 출력 파일을 씁니다.It writes the output to a script file named script.sql. script.sql이 이미 있을 경우 인수를 지정했으므로 dta -F 는 이 파일을 덮어씁니다.If script.sql already exists, then dta will overwrite the file because the -F argument has been specified. 작업 분석이 완료될 때까지 제한 시간 없이(-A 0) 튜닝 세션이 실행됩니다.The tuning session runs for an unlimited length of time to ensure a complete analysis of the workload (-A 0). 권장 구성에서는 최소 향상률 값으로 5%(-m 5)를 지정해야 합니다.The recommendation must provide a minimum improvement of 5% (-m 5). dta 는 최종 권장 구성(-fa IDX_IV)에 인덱스 및 인덱싱된 뷰를 포함합니다.dta should include indexes and indexed views in its final recommendation (-fa IDX_IV).

dta –S MyServer –E -D tpcd1G -if tpcd_22.sql -F –of script.sql –A 0 -m 5 -fa IDX_IV  

B. 디스크 사용 제한B. Limit disk use

이 예에서는 원시 데이터 및 추가 인덱스를 포함하여 총 데이터베이스 크기를 3GB(-B 3000)로 제한하고 출력을 d:\result_dir\script1.sql로 보냅니다.This example limits the total database size, which includes the raw data and the additional indexes, to 3 gigabytes (GB) (-B 3000) and directs the output to d:\result_dir\script1.sql. 1시간(-A 60) 동안만 실행됩니다.It runs for no more than 1 hour (-A 60).

dta –D tpcd1G –if tpcd_22.sql -B 3000 –of "d:\result_dir\script1.sql" –A 60  

C. 튜닝된 쿼리 수 제한C. Limit the number of tuned queries

이 예에서는 orders_wkld.sql 파일에서 읽혀지는 최대 쿼리 수를 10(-n 10)개로 제한하고 15분(-A 15) 동안 실행합니다. 최대 쿼리 10개에 도달하거나 15분이 되면 종료됩니다.This example limits the number of queries read from the file orders_wkld.sql to a maximum of 10 (-n 10) and runs for 15 minutes (-A 15), whichever comes first. 10개 쿼리를 모두 튜닝하려면 -A 0을 사용하여 튜닝 시간을 무제한으로 지정합니다.To make sure that all 10 queries are tuned, specify an unlimited tuning time with -A 0. 시간이 중요할 경우 다음 예와 같이 -A 인수로 튜닝할 수 있는 시간(분)을 지정하여 적절한 제한 시간을 설정합니다.If time is important, specify an appropriate time limit by specifying the number of minutes that are available for tuning with the -A argument as shown in this example.

dta –D orders –if orders_wkld.sql –of script.sql –A 15 -n 10  

D. 파일에 나열 된 특정 테이블 튜닝D. Tune specific tables listed in a file

이 예에서는 table_list_file ( -Tf 인수)을 사용하는 방법을 보여 줍니다.This example demonstrates the use of table_list_file (the -Tf argument). table_list.txt 파일 내용은 다음과 같습니다.The contents of the file table_list.txt are as follows:

AdventureWorks2012.Sales.Customer  100000  
AdventureWorks2012.Sales.Store  
AdventureWorks2012.Production.Product  2000000  

table_list.txt의 내용은 다음을 지정합니다.The contents of table_list.txt specifies that:

  • 데이터베이스에서 Customer, StoreProduct 테이블만 튜닝해야 합니다.Only the Customer, Store, and Product tables in the database should be tuned.

  • CustomerProduct 테이블의 행 수는 각각 100,000개와 2,000,000개로 가정됩니다.The number of rows in the Customer and Product tables are assumed to be 100,000 and 2,000,000, respectively.

  • Store 의 행 수는 테이블에 있는 현재 행 수로 가정됩니다.The number of rows in Store are assumed to be the current number of rows in the table.

    table_list_file에서 행 개수와 앞 테이블 이름 사이에 하나 이상의 공백이 있을 수 있습니다.Note that there can be one or more spaces between the number of rows count and the preceding table name in the table_list_file.

    튜닝 시간은 2시간(-A 120)이며 출력은 XML 파일(-ox XMLTune.xml)에 기록됩니다.The tuning time is 2 hours (-A 120) and the output is written to an XML file (-ox XMLTune.xml).

dta –D pubs –if pubs_wkld.sql –ox XMLTune.xml –A 120 –Tf table_list.txt  

참고 항목See Also

명령 프롬프트 유틸리티 참조(데이터베이스 엔진#41; Command Prompt Utility Reference (Database Engine)
데이터베이스 엔진 튜닝 관리자Database Engine Tuning Advisor