다음을 통해 공유


dta 유틸리티

적용 대상: SQL Server

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

참고

이 데이터베이스 엔진 튜닝 관리자는 Azure SQL Database 또는 Azure SQL Managed Instance에 대해 지원되지 않습니다. 그 대신에 Azure SQL Database 및 Azure SQL Managed Instance의 모니터링 및 성능 튜닝에서 권장되는 전략을 고려해 보세요. Azure SQL 데이터베이스의 경우, Azure SQL 데이터베이스의 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 ]  
]  

인수

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

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

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

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

  • 데이터베이스 내 테이블에 있는 힙과 클러스터형 인덱스의 전체 크기를 포함하여, 현재 원시 데이터 크기의 3배.

  • 연결된 모든 디스크 드라이브의 사용 가능한 공간과 원시 데이터 크기를 더한 것.

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

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

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

-D database_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  

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

dta -d AdventureWorks2022 ...  

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

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

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

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

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

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

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

파일을 사용하는 경우 .xml 익스텐션으로 지정합니다. 예를 들어 TuningLog.xml으로 지정할 수 있습니다.

참고

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

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

-fa physical_design_structures_to_add
dta 가 권장 사항에 포함해야 할 실제 디자인 구조 유형을 지정합니다. 다음 테이블은 이 인수에 지정할 수 있는 값을 나열하고 설명합니다. 값을 지정하지 않으면 dta는 기본적으로 -fa IDX를 사용합니다.

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

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

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

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

-fk keep_existing_option
권장 사항을 생성할 때 dta가 유지해야 하는 기존 실제 디자인 구조를 지정합니다. 다음 테이블에서는 이 인수에 지정할 수 있는 값을 나열하고 설명합니다.

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

-fp partitioning_strategy
dta에서 제안하는 새로운 실제 디자인 구조(인덱스 및 인덱싱된 뷰)를 분할해야 하는지 여부와 분할 방법을 지정합니다. 다음 테이블에서는 이 인수에 지정할 수 있는 값을 나열하고 설명합니다.

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

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

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

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

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

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

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

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

-it workload_trace_table_name
튜닝을 위한 워크로드 추적이 포함된 테이블의 이름을 지정합니다. 이름은 [database_name].[owner_name].table_name 형식으로 지정됩니다.

다음 테이블에서는 다음 각 항목의 기본값을 보여줍니다.

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

참고

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

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

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

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

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

-N online_option
실제 디자인 구조를 온라인으로 만들 것인지 여부를 지정합니다. 다음 테이블은 이 인수에 지정할 수 있는 값을 나열하고 설명합니다.

설명
OFF 권장되는 실제 디자인 구조를 온라인으로 만들 수 없습니다.
ON 권장되는 실제 디자인 구조를 모두 온라인으로 만들 수 있습니다.
MIXED 데이터베이스 엔진 튜닝 관리자는 가능한 경우 온라인으로 만들 수 있는 실제 디자인 구조를 권장하려고 시도합니다.

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

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

dta -n number_of_events -A 0  

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

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

dta -iq -l 48  

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

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

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

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

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

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

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

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

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

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

-rl analysis_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 ...  

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

-s session_name
튜닝 세션의 이름을 지정합니다. -ID가 지정되지 않은 경우 필수 사항입니다.

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

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

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

-U login_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  

추가 정보