작업 정보

인덱스, 인덱싱된 뷰 또는 데이터베이스 파티션의 최적 집합을 위한 권장 구성을 작성하려면 데이터베이스 엔진 튜닝 관리자에 작업이 필요합니다. 작업은 Transact-SQL 스크립트 또는 파일이나 테이블로 저장된 SQL Server 프로파일러 추적으로 구성됩니다. SQL Server 프로파일러 추적 파일 또는 테이블을 사용하는 경우 여기에는 Transact-SQL 일괄 처리나 RPC(원격 프로시저 호출) 이벤트 클래스, Event ClassText 데이터 열이 반드시 포함되어야 합니다. 자세한 내용은 TSQL 이벤트 범주를 참조하십시오.

데이터베이스 엔진 튜닝 관리자는 다음 작업 유형을 처리하도록 설계되었습니다.

  • OLTP(온라인 트랜잭션 처리) 쿼리만 수행하는 작업

  • OLAP(온라인 분석 처리) 쿼리만 수행하는 작업

  • OLTP 및 OLAP 쿼리가 혼합된 작업

  • 쿼리가 많은 작업(쿼리가 업데이트보다 많음)

  • 업데이트가 많은 작업(업데이트가 쿼리보다 많음)

작업은 튜닝할 수 있는 이벤트를 많이 포함해야 합니다. 튜닝할 수 있는 이벤트란 데이터베이스에 대해 실행되는 일반적인 작업을 나타냅니다.

데이터베이스 엔진 튜닝 관리자에서 분석할 기존 작업이 없는 경우 SQL Server 프로파일러에 있는 튜닝 템플릿을 사용하여 만들 수 있습니다. 튜닝 템플릿은 데이터베이스 엔진 튜닝 관리자로 튜닝하는 데 필요한 이벤트와 열을 캡처하도록 구성되어 있습니다. 자세한 내용은 SQL Server 프로파일러 템플릿을 참조하십시오.

정상적인 데이터베이스 작업의 전형적인 샘플이 추적에 캡처되면 데이터베이스 엔진 튜닝 관리자는 작업을 분석한 다음 데이터베이스 성능을 향상시킬 수 있는 인덱스, 인덱싱된 뷰 또는 파티션의 최적 구성을 권장합니다.

다음 항목도 작업으로 사용할 수 있습니다.

  • 특정 조직 또는 업계의 벤치마킹

  • 실행에 오랜 시간이 걸리는 쿼리

작업 사용

데이터베이스 엔진 튜닝 관리자에서 작업을 사용하는 경우 다음 사항을 고려하십시오.

  • 추적 테이블을 작업으로 사용하는 경우 데이터베이스 엔진 튜닝 관리자가 튜닝 중인 서버와 같은 서버에 해당 테이블이 있어야 합니다. 다른 서버에 추적 테이블을 만든 경우에는 이 테이블을 데이터베이스 엔진 튜닝 관리자가 튜닝하는 서버로 이동합니다.

  • 추적 테이블을 데이터베이스 엔진 튜닝 관리자의 작업으로 사용하기 전에 추적이 중지되었는지 확인합니다. 데이터베이스 엔진 튜닝 관리자에서는 추적 이벤트가 계속 작업으로 기록되는 추적 테이블을 사용할 수 없습니다.

  • 추적 파일을 작업으로 사용하는 경우 데이터베이스 엔진 튜닝 관리자는 이를 롤오버 파일로 가정합니다. 롤오버 파일에 대한 자세한 내용은 추적 파일 및 테이블 크기 제한을 참조하십시오.

  • SQL Server에서 특정 쿼리 계획을 사용하도록 강제하는 USE PLAN 쿼리 힌트를 사용하는 쿼리가 작업에 포함되어 있으면 데이터베이스 엔진 튜닝 관리자는 강제된 계획에 포함된 모든 인덱스를 유지하고 튜닝 권장 구성의 일부로 이러한 인덱스를 삭제하지 않습니다.

  • 데이터베이스 엔진 튜닝 관리자는 튜닝 프로세스의 일부로 실행 계획 요청을 제출합니다. LoginName 데이터 열이 포함된 추적 테이블이나 파일이 작업으로 사용되면 데이터베이스 엔진 튜닝 관리자는 LoginName에 지정된 사용자를 가장합니다. 이 사용자에게 추적에 포함된 문의 실행 계획을 실행하고 생성할 권한이 없으면 데이터베이스 엔진 튜닝 관리자는 해당 문을 튜닝하지 않습니다. 이 문제를 해결하려면 튜닝되지 않은 이벤트에서 LoginName 열을 제거합니다. 자세한 내용은 방법: 작업 만들기의 "LoginName 데이터 열이 포함된 추적 파일 또는 추적 테이블 작업"을 참조하십시오.