dta 유틸리티

적용 대상:SQL Server

dta 유틸리티는 데이터베이스 엔진 튜닝 관리자의 명령 프롬프트 버전입니다. dta 유틸리티는 애플리케이션 및 스크립트에서 데이터베이스 엔진 튜닝 관리자 기능을 사용할 수 있도록 설계되었습니다.

참고 항목

데이터베이스 엔진 튜닝 관리자는 Azure SQL Database 또는 Azure SQL Managed Instance에 대해 지원되지 않습니다. 그 대신에 Azure SQL Database 및 Azure SQL Managed Instance의 모니터링 및 성능 튜닝에서 권장되는 전략을 고려해 보세요. Azure SQL Database의 경우 Azure SQL Database대한 Database Advisor 성능 권장 사항도 참조하세요.

데이터베이스 엔진 튜닝 관리자 와 마찬가지로 dta 유틸리티는 워크로드를 분석하고 물리적 디자인 구조를 권장하여 해당 워크로드의 서버 성능을 향상시킵니다. 워크로드는 계획 캐시, SQL Server Profiler 추적 파일이나 테이블 또는 Transact-SQL 스크립트일 수 있습니다. 물리적 디자인 구조에는 인덱스, 인덱싱된 뷰 및 분할이 포함됩니다. 워크로드 를 분석한 후 dta 유틸리티는 데이터베이스의 물리적 디자인에 대한 권장 사항을 생성하고 권장 사항을 구현하는 데 필요한 스크립트를 생성할 수 있습니다. -if 또는 -it 인수를 사용하여 명령 프롬프트에서 워크로드를 지정할 수 있습니다. 또한 명령 프롬프트에서 -ix 인수를 사용하여 XML 입력 파일을 지정할 수도 있습니다. 이러한 경우 작업은 XML 입력 파일에서 지정됩니다.

구문


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 ]
      [ -l 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 ]  
]  

인수

-?
사용 정보를 표시합니다.

-Atime_for_tuning_in_minutes
튜닝 시간 제한(분)을 지정합니다. dta 는 지정된 시간을 사용하여 워크로드를 조정하고 권장되는 물리적 디자인 변경 내용으로 스크립트를 생성합니다. 기본적으로 dta 는 튜닝 시간이 8시간이라고 가정합니다. 0을 지정하면 무제한 튜닝 시간이 허용됩니다. dta 는 시간 제한이 만료되기 전에 전체 워크로드 튜닝을 완료할 수 있습니다. 그러나 전체 워크로드가 조정되었는지 확인하려면 무제한 튜닝 시간(-A 0)을 지정하는 것이 좋습니다.

-a
워크로드를 조정하고 사용자에게 메시지를 표시하지 않고 권장 사항을 적용합니다.

-Bstorage_size
권장되는 인덱스 및 분할에서 소비할 수 있는 최대 공간(MB)을 지정합니다. 여러 데이터베이스를 튜닝하면 모든 데이터베이스에 대한 권장 사항이 공간 계산에 고려됩니다. 기본적으로 dta다음 스토리지 크기 중 더 작다고 가정합니다.

  • 데이터베이스의 테이블에 대한 힙 및 클러스터형 인덱스의 총 크기를 포함하는 현재 원시 데이터 크기의 3배입니다.

  • 연결된 모든 디스크 드라이브의 여유 공간과 원시 데이터 크기를 더한 것입니다.

기본 스토리지 크기는 비클러스터형 인덱스 및 인덱싱된 뷰를 포함하지 않습니다.

-Cmax_columns_in_index
dta에서 제안하는 인덱스의 최대 열 수를 지정합니다. 최댓값은 1,024입니다. 기본적으로 이 인수는 16으로 설정됩니다.

-cmax_key_columns_in_index
dta에서 제안하는 인덱스의 최대 키 열 수를 지정합니다. 기본값은 허용되는 최대값인 16입니다. dta 는 포함된 열을 사용하여 인덱스를 만드는 것도 고려합니다. 포함된 열에 권장되는 인덱스는 이 인수에 지정된 열 수를 초과할 수 있습니다.

-Ddatabase_name
튜닝할 각 데이터베이스의 이름을 지정합니다. 첫 번째 데이터베이스는 기본 데이터베이스입니다. 데이터베이스 이름을 쉼표로 구분하여 여러 데이터베이스를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

dta -D database_name1, database_name2...  

또는 다음과 같이 각 데이터베이스 이름에 –D 인수를 사용하여 여러 데이터베이스를 지정할 수 있습니다.

dta -D database_name1 -D database_name2... n  

-D 인수는 필수 인수입니다. -d 인수를 지정하지 않은 경우 dta는 처음에 워크로드의 첫 번째 USE database_name 절로 지정된 데이터베이스에 연결합니다. 워크로드에 명시적 USE database_name 절이 없는 경우 -d 인수를 사용해야 합니다.

예를 들어 명시적 USE database_name 절이 없는 워크로드가 있고 다음 dta 명령을 사용하는 경우 권장 사항이 생성되지 않습니다.

dta -D db_name1, db_name2...  

그러나 동일한 워크로드를 사용하고 -d 인수를 사용하는 다음 dta 명령을 사용하는 경우 권장 사항이 생성됩니다.

dta -D db_name1, db_name2 -d db_name1  

-ddatabase_name
워크로드를 튜닝할 때 dta 가 연결하는 첫 번째 데이터베이스를 지정합니다. 이 인수에 대해 데이터베이스를 하나만 지정할 수 있습니다. 예:

dta -d AdventureWorks2022 ...  

데이터베이스 이름을 여러 개 지정할 경우 dta 는 오류를 반환합니다. -d 인수는 선택 사항입니다.

XML 입력 파일을 사용하는 경우 TuningOptions 요소 아래에 있는 DatabaseToConnect 요소를 사용하여 dta가 연결할 첫 번째 데이터베이스를 지정할 수 있습니다. 자세한 내용은 Database Engine Tuning Advisor을 참조하세요.

데이터베이스를 하나만 튜닝하는 경우 -d 인수는 sqlcmd 유틸리티의 -d 인수와 유사한 기능을 제공하지만 USE database_name 문을 실행하지는 않습니다. 자세한 내용은 sqlcmd 유틸리티를 참조 하세요.

-전자
암호를 요청하는 대신 신뢰할 수 있는 연결을 사용합니다. 로그인 ID를 지정하는 -E 인수 또는 -U 인수를 사용해야 합니다.

-etuning_log_name
dta에서 튜닝할 수 없는 이벤트를 기록하는 테이블 또는 파일의 이름을 지정합니다. 테이블은 튜닝이 수행되는 서버에 만들어집니다.

테이블이 사용되는 경우 해당 이름을 [database_name]형식 으로 지정합니다. owner_name].table_name. 다음 표에는 각 매개 변수의 기본값이 표시됩니다.

매개 변수 기본값 세부 사항
database_name -D 옵션으로 지정된 database_name
owner_name Dbo owner_name dbo여야 합니다. 다른 값을 지정 하면 dta 실행이 실패하고 오류가 반환됩니다.
table_name 아니요

파일을 사용하는 경우 확장자로 .xml을 지정합니다. 예를 들어 TuningLog.xml입니다.

참고 항목

dta 유틸리티는 세션이 삭제된 경우 사용자가 지정한 튜닝 로그 테이블의 내용을 삭제하지 않습니다. 매우 큰 워크로드를 튜닝할 때는 튜닝 로그에 테이블을 지정하는 것이 좋습니다. 큰 워크로드를 튜닝하면 큰 튜닝 로그가 발생할 수 있으므로 테이블을 사용할 때 세션을 훨씬 더 빠르게 삭제할 수 있습니다.

-F
dta기존 출력 파일을 덮어쓸 수 있도록 허용합니다. 이름이 같은 출력 파일이 이미 있고 -F 를 지정 하지 않으면 dta에서 오류를 반환합니다. -of, -or 또는 -ox와 함께 -F를 사용할 수 있습니다.

-faphysical_design_structures_to_add
dta 가 권장 구성에 포함해야 할 실제 디자인 구조 유형을 지정합니다. 다음 표에서는 이 인수에 대해 지정할 수 있는 값을 나열하고 설명합니다. 값이 지정되지 않은 경우 dta 는 기본 -fa IDX를 사용합니다.

설명
IDX_IV 인덱스 및 인덱싱된 뷰입니다.
Idx 인덱스만 해당합니다.
IV 인덱싱된 뷰만.
NCL_IDX 비클러스터형 인덱스만 해당합니다.

-Fi
필터링된 인덱스를 새 권장 사항에 대해 고려되도록 지정합니다. 자세한 내용은 Create Filtered Indexes을(를) 참조하세요.

-fc
columnstore 인덱스가 새 권장 사항으로 고려되도록 지정합니다. DTA는 클러스터형 및 비클러스터형 columnstore 인덱스를 모두 고려합니다. 자세한 내용은 참조하세요.
DTA(데이터베이스 엔진 튜닝 관리자)의 Columnstore 인덱스 권장 사항

적용 대상: SQL Server 2016(13.x) 이상

-fkkeep_existing_option
권장 사항을 생성할 때 dta가 유지해야 하는 기존 물리적 디자인 구조를 지정합니다. 다음 표에서는 이 인수에 대해 지정할 수 있는 값을 나열하고 설명합니다.

설명
NONE 기존 구조체 없음
ALL 모든 기존 구조체
ALIGNED 모든 파티션 맞춤 구조체입니다.
CL_IDX 테이블의 모든 클러스터형 인덱스
Idx 테이블의 모든 클러스터형 및 비클러스터형 인덱스

-fppartitioning_strategy
dta에서 제안하는 새 물리적 디자인 구조(인덱스 및 인덱싱된 뷰)를 분할해야 하는지 여부와 분할 방법을 지정합니다. 다음 표에서는 이 인수에 대해 지정할 수 있는 값을 나열하고 설명합니다.

설명
NONE 분할 안 함
FULL 전체 분할(성능 향상 중심)
ALIGNED 정렬된 분할만(관리 효율성 향상 중심)

ALIGNED는 dta에서 생성된 권장 사항에서 제안된 모든 인덱스가 인덱스가 정의된 기본 테이블과 정확히 동일한 방식으로 분할됨을 의미합니다. 인덱싱된 뷰의 비클러스터형 인덱스는 인덱싱된 뷰에 정렬됩니다. 이 인수에 대해 하나의 값만 지정할 수 있습니다. 기본값은 -fp NONE입니다.

-fxdrop_only_mode
dta 에서 기존의 실제 디자인 구조의 삭제만 고려할 것인지 지정합니다. 새로운 물리적 디자인 구조는 고려되지 않습니다. 이 옵션을 지정 하면 dta 는 기존 물리적 디자인 구조의 유용성을 평가하고 거의 사용되지 않는 구조를 삭제하는 것이 좋습니다. 이 인수는 값을 사용하지 않습니다. 이 인수는 -fa, -fp또는 -fk ALL 인수와 함께 사용할 수 없습니다.

-IDsession_ID
튜닝 세션에 대한 숫자 식별자를 지정합니다. 지정 하지 않으면 dta 에서 ID 번호를 생성합니다. 이 식별자를 사용하여 기존 튜닝 세션에 대한 정보를 볼 수 있습니다. -ID에 대한 값을 지정하지 않으면 세션 이름을 -s지정해야 합니다.

-Ip
계획 캐시를 워크로드로 사용되도록 지정합니다. 명시적으로 선택한 데이터베이스에 대한 상위 1,000개의 계획 캐시 이벤트가 분석됩니다. 이 값은 -n 옵션을 사용하여 변경할 수 있습니다.

-Iq
쿼리 저장소를 워크로드로 사용되도록 지정합니다. 명시적으로 선택한 데이터베이스에 대한 쿼리 저장소의 상위 1,000개 이벤트가 분석됩니다. 이 값은 -n 옵션을 사용하여 변경할 수 있습니다. 자세한 내용은 쿼리 저장소쿼리 저장소의 작업을 사용하여 데이터베이스 튜닝을 참조하세요.

적용 대상: SQL Server 2016(13.x) 이상

-ifworkload_file
튜닝을 위한 입력으로 사용할 워크로드 파일의 경로와 이름을 지정합니다. 파일은 .trc(SQL Server Profiler 추적 파일), .sql(SQL 파일) 또는 .log(SQL Server 추적 파일) 형식 중 하나여야 합니다. 작업 파일 또는 작업 테이블을 하나 지정해야 합니다.

-itworkload_trace_table_name
튜닝을 위한 작업 추적을 포함하는 테이블의 이름을 지정합니다. 이름은 [database_name] 형식으로 지정됩니다.[owner_name].table_name.

다음 표에서는 각 매개 변수의 기본값을 보여 줍니다.

매개 변수 기본값
database_name -D 옵션으로 지정된 database_name.
owner_name dbo.
table_name 없음.

참고 항목

owner_name dbo여야 합니다. 다른 값을 지정하면 dta 실행이 실패하고 오류가 반환됩니다. 작업 파일 또는 작업 테이블 하나를 지정해야 합니다.

-ixinput_XML_file_name
dta 입력 정보를 포함하는 XML 파일의 이름을 지정합니다. DTASchema.xsd를 준수하는 유효한 XML 문서여야 합니다. 명령 프롬프트에서 튜닝 옵션에 대해 지정한 인수와 충돌하면 이 XML 파일의 해당 값보다 우선 적용됩니다. 유일한 예외는 사용자 지정 구성이 XML 입력 파일의 평가 모드로 입력되는 경우입니다. 예를 들어 구성이 XML 입력 파일의 Configuration 요소에 입력되고 EvaluateConfiguration 요소도 튜닝 옵션 중 하나로 지정되면 XML 입력 파일에 지정된 튜닝 옵션이 명령 프롬프트에서 입력한 튜닝 옵션을 재정의합니다.

-kmaxtotalindexes
권장 사항의 최대 인덱스 수입니다.

-Kmaxtotalindexes
테이블당 최대 인덱스 수입니다.

-mminimum_improvement
권장 구성이 충족해야 하는 최소 개선 비율을 지정합니다.

-Nonline_option
물리적 디자인 구조를 온라인으로 만들 것인지 여부를 지정합니다. 다음 표에서는 이 인수에 대해 지정할 수 있는 값을 나열하고 설명합니다.

Description
OFF 권장되는 물리적 디자인 구조는 온라인으로 만들 수 없습니다.
ON 모든 권장 물리적 디자인 구조를 온라인으로 만들 수 있습니다.
혼합 데이터베이스 엔진 튜닝 관리자는 가능하면 온라인으로 만들 수 있는 물리적 디자인 구조를 권장하려고 합니다.

인덱스가 온라인으로 만들어지면 ONLINE = ON이 해당 개체 정의에 추가됩니다.

-nnumber_of_events
dta가 튜닝해야 하는 워크로드의 이벤트 수를 지정합니다. 이 인수를 지정하고 워크로드가 기간 정보를 포함하는 추적 파일인 경우 dta 는 이벤트를 기간의 감소 순서로 조정합니다. 이 인수는 물리적 디자인 구조의 두 가지 구성을 비교하는 데 유용합니다. 두 구성을 비교하려면 다음과 같이 두 구성에 대해 튜닝할 이벤트 수를 같은 값으로 지정하고 무제한 튜닝 시간을 지정합니다.

dta -n number_of_events -A 0  

이 경우 무제한 튜닝 시간(-A 0)을 지정하는 것이 중요합니다. 그렇지 않으면 데이터베이스 엔진 튜닝 관리자는 기본적으로 8시간의 튜닝 시간을 가정합니다.

-ltime_window_in_hours
-iq 옵션(쿼리 저장소의 워크로드)을 사용할 때 DTA에서 튜닝을 위해 쿼리를 실행해야 하는 시간(시간)을 지정합니다.

dta -iq -l 48  

이 경우 DTA는 쿼리 저장소를 워크로드의 원본으로 사용하고 지난 48시간 동안 실행된 쿼리만 고려합니다.

적용 대상: SQL Server 2016(13.x) 이상

-ofoutput_script_file_name
dta가 권장 구성을 지정된 파일 이름 및 대상에 Transact-SQL 스크립트로 쓰도록 지정합니다.

이 옵션과 함께 -F를 사용할 수 있습니다. 특히 -or-ox를 사용하는 경우 파일 이름이 고유한지 확인합니다.

-또는output_xml_report_file_name
dtaXML의 출력 보고서에 권장 사항을 쓰도록 지정합니다. 파일 이름이 제공되면 권장 사항이 해당 대상에 기록됩니다. 그렇지 않으면 dta 는 세션 이름을 사용하여 파일 이름을 생성하고 현재 디렉터리에 씁니다.

이 옵션과 함께 -F를 사용할 수 있습니다. 특히 -of 및 -ox를 사용하는 경우 파일 이름이 고유한지 확인합니다.

-oxoutput_XML_file_name
dta 가 권장 구성을 제공된 파일 이름 및 대상에 XML 파일로 쓰도록 지정합니다. 데이터베이스 엔진 튜닝 관리자에서 대상 디렉터리에 쓸 수 있는 권한이 있는지 확인합니다.

이 옵션과 함께 -F를 사용할 수 있습니다. 파일 이름이 고유한지 확인합니다. 특히 -of-or을 함께 사용하는 경우 고유한 파일 이름이어야 합니다.

-Ppassword
로그인 ID의 암호를 지정합니다. 이 옵션을 사용하지 않으면 dta 가 암호를 묻는 메시지를 표시합니다.

-q
자동 모드를 설정합니다. 진행률 및 헤더 정보를 포함하여 콘솔에 정보가 기록되지 않습니다.

-rlanalysis_report_list
생성할 분석 보고서의 목록을 지정합니다. 다음 표에서는 이 인수에 지정할 수 있는 값을 나열합니다.

보고서
ALL 모든 분석 보고서
STMT_COST 문 비용 보고서
EVT_FREQ 이벤트 빈도 보고서
STMT_DET 문 세부 정보 보고서
CUR_STMT_IDX 문-인덱스 관계 보고서(현재 구성)
REC_STMT_IDX 문 인덱스 관계 보고서(권장 구성)
STMT_COSTRANGE 문 비용 범위 보고서
CUR_IDX_USAGE 인덱스 사용 현황 보고서(현재 구성)
REC_IDX_USAGE 인덱스 사용 현황 보고서(권장 구성)
CUR_IDX_DET 인덱스 세부 정보 보고서(현재 구성)
REC_IDX_DET 인덱스 세부 정보 보고서(권장 구성)
VIW_TAB 뷰-테이블 관계 보고서
WKLD_ANL 워크로드 분석 보고서
DB_ACCESS 데이터베이스 액세스 보고서
TAB_ACCESS 테이블 액세스 보고서
COL_ACCESS 열 액세스 보고서

보고서가 여러 개인 경우 다음과 같이 쉼표로 값을 구분하여 지정합니다.

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

-Sserver_name[ \instance]
연결할 SQL Server의 컴퓨터 및 인스턴스 이름을 지정합니다. server_name 지정하지 않으면 dta는 로컬 컴퓨터에서 SQL Server의 기본 인스턴스에 연결합니다. 이 옵션은 명명된 인스턴스에 연결하거나 네트워크의 원격 컴퓨터에서 dta실행할 때 필요합니다.

-ssession_name
튜닝 세션의 이름을 지정합니다. -ID를 지정하지 않은 경우 이 값이 필요합니다.

-Tftable_list_file
튜닝할 테이블 목록을 포함하는 파일의 이름을 지정합니다. 파일 내에 나열된 각 테이블은 새 줄에서 시작해야 합니다. 테이블 이름은 AdventureWorks2022.HumanResources.Department와 같이 세 부분으로 구성된 명명으로 한정되어야 합니다. 또한 테이블 배율 기능을 호출하려면 기존 테이블 이름 뒤에 테이블의 예상 행 수를 나타내는 숫자를 붙일 수 있습니다. 데이터베이스 엔진 튜닝 관리자에서는 이 테이블을 참조하는 작업에서 문을 튜닝하거나 평가하는 동안 예상 행 수를 고려합니다. number_of_rows 개수와 table_name 사이에 하나 이상의 공백이 있을 수 있습니다.

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]

이 인수는 명령 프롬프트(-Tl)에서 테이블 목록을 입력하는 대신 사용할 수 있습니다. -Tl을 사용하는 경우 테이블 목록 파일(-Tf)을 사용하지 마세요. 두 인수를 모두 사용하면 dta 가 실패하고 오류가 반환됩니다.

-Tf-Tl 인수를 둘 다 생략하면 지정한 데이터베이스의 모든 사용자 테이블이 튜닝 대상으로 고려됩니다.

-Tltable_list
명령 프롬프트에서 튜닝할 테이블 목록을 지정합니다. 테이블 이름은 쉼표를 입력하여 구분합니다. -D 인수를 사용하여 데이터베이스를 하나만 지정하면 테이블 이름을 데이터베이스 이름으로 정규화할 필요가 없습니다. 그렇지 않고 여러 데이터베이스를 지정하는 경우에는 각 테이블에 database_name.schema_name.table_name 형식으로 정규화된 이름을 사용해야 합니다.

이 인수는 테이블 목록 파일(-Tf)을 사용하는 대신 사용할 수 있습니다. -Tl-Tf를 모두 사용하는 경우 dta가 실패하고 오류를 반환합니다.

-Ulogin_id
SQL Server연결에 사용하는 로그인 ID를 지정합니다.

-u
데이터베이스 엔진 튜닝 관리자 GUI를 시작합니다. 모든 매개 변수는 사용자 인터페이스의 초기 설정으로 간주됩니다.

-x
튜닝 세션을 시작하고 종료합니다.

설명

Ctrl+C를 한 번 누르면 튜닝 세션이 중지되고 이 지점까지 dta 가 완료한 분석을 기반으로 권장 구성이 생성됩니다. 권장 사항을 생성할지 여부를 결정하라는 메시지가 표시됩니다. 권장 사항을 생성하지 않고 튜닝 세션을 중지하려면 Ctrl+C를 다시 누릅니다.

A. 권장 구성에 인덱스 및 인덱싱된 뷰가 포함된 작업 튜닝

이 예에서는 보안 연결(-E)을 통해 MyServer에 있는 tpcd1G 데이터베이스에 연결하여 작업을 분석하고 권장 구성을 만듭니다. script.sql이라는 스크립트 파일에 출력을 씁니다. script.sql이 이미 있는 경우 인수가 지정되었으므로 -F dta가 파일을 덮어씁니다. 튜닝 세션은 워크로드-A 0()의 전체 분석을 보장하기 위해 시간 제한 없이 실행됩니다. 권장 구성에서는 최소 향상률 값으로 5%(-m 5)를 지정해야 합니다. dta 는 최종 권장 사항(-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. 디스크 사용 제한

이 예에서는 원시 데이터 및 추가 인덱스를 포함하여 총 데이터베이스 크기를 3GB(-B 3000)로 제한하고 출력을 d:\result_dir\script1.sql로 보냅니다. 1시간-A 60 이내로 실행됩니다.

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

C. 튜닝된 쿼리 수 제한

이 예제에서는 orders_wkld.sql 파일에서 읽은 쿼리 수를 최대 10(-n 10)으로 제한하고 먼저 오는 쿼리 중 15분 동안-A 15 실행됩니다. 10개의 쿼리가 모두 튜닝되었는지 확인하려면 튜닝 시간을 무제한으로 -A 0지정합니다. 시간이 중요할 경우 다음 예와 같이 -A 인수로 튜닝할 수 있는 시간(분)을 지정하여 적절한 제한 시간을 설정합니다.

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

D. 파일에 나열된 특정 테이블 튜닝

이 예제에서는 table_list_file(-Tf 인수)를 사용하는 방법을 보여 줍니다. table_list.txt 파일의 내용은 다음과 같습니다.

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

table_list.txt의 내용은 다음을 지정합니다.

  • 데이터베이스에서 Customer, StoreProduct 테이블만 튜닝해야 합니다.

  • CustomerProduct 테이블의 행 수는 각각 100,000개와 2,000,000개로 가정됩니다.

  • Store의 행 수는 테이블의 현재 행 수로 간주됩니다.

    table_list_file에서 행 개수와 앞 테이블 이름 사이에 하나 이상의 공백이 있을 수 있습니다.

    튜닝 시간은 2시간이며-A 120 출력은 XML 파일(-ox XMLTune.xml)에 기록됩니다.

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

참고 항목