방법: 작업 만들기

작업은 튜닝하려는 데이터베이스에 대해 실행되는 일련의 Transact-SQL 문입니다. 데이터베이스 엔진 튜닝 관리자의 GUI(그래픽 사용자 인터페이스) 및 dta 명령줄 유틸리티에서는 데이터베이스를 튜닝할 때 추적 파일, 추적 테이블 또는 Transact-SQL 스크립트를 작업 입력으로 사용합니다. 작업은 각 이벤트에 대한 가중치를 지정할 수 있는 XML 입력 파일에도 포함될 수 있습니다. 인라인 작업 지정 방법은 튜닝을 위해 XML 입력 파일 사용을 참조하십시오.

Microsoft SQL Server Management Studio의 쿼리 편집기나 선호하는 텍스트 편집기를 사용하여 Transact-SQL 스크립트 작업을 만들 수 있습니다. 추적 파일이나 추적 테이블 작업을 만들려면 SQL Server 프로파일러를 사용하십시오. 데이터베이스 엔진 튜닝 관리자는 이러한 작업을 분석하여 서버의 쿼리 성능을 향상시키는 인덱스 또는 분할 전략을 권장합니다.

[!참고]

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

SQL Server Management Studio 쿼리 편집기를 사용하여 Transact-SQL 스크립트 작업을 만들려면

  1. SQL Server Management Studio에서 쿼리 편집기를 시작합니다. 이 단계를 수행하는 방법은 SQL Server Management Studio에서 스크립트 및 파일 편집을 참조하십시오.

  2. 쿼리 편집기에 Transact-SQL 스크립트를 입력합니다. 이 스크립트는 튜닝하려는 데이터베이스에 대해 실행되는 일련의 Transact-SQL 문을 포함해야 합니다. 파일을 .sql 확장명으로 저장합니다. 데이터베이스 엔진 튜닝 관리자 GUI 및 명령줄 유틸리티에서 이 Transact-SQL 스크립트를 작업으로 사용할 수 있습니다.

SQL Server 프로파일러를 사용하여 추적 파일 및 추적 테이블 작업을 만들려면

  1. 다음 중 한 가지 방법을 사용하여 SQL Server 프로파일러를 시작합니다.

    • 시작 메뉴에서 모든 프로그램, Microsoft SQL Server, 성능 도구를 차례로 가리킨 다음 SQL Server Profiler를 클릭합니다.

    • SQL Server Management Studio에서 도구 메뉴를 클릭한 다음 SQL Server 프로파일러를 클릭합니다.

  2. SQL Server 프로파일러 Tuning 템플릿을 사용하는 다음 절차에 따라 추적 파일 또는 테이블을 만듭니다.

SQL Server 프로파일러 Tuning 템플릿을 사용하여 데이터베이스 엔진 튜닝 관리자의 작업을 캡처하는 것이 좋습니다.

사용자 고유의 템플릿을 사용하려면 사용 중인 SQL Server 버전에 대해 다음 추적 이벤트가 캡처되는지 확인하십시오.

SQL Server 2005 이상

  • RPC:Completed

  • SQL:BatchCompleted

  • SP:StmtCompleted

SQL Server 2000

  • RPC:Completed

  • SQL:BatchCompleted

이러한 추적 이벤트의 Starting 버전을 사용할 수도 있습니다. SQL:BatchStarting을 예로 들 수 있습니다. 한편 이러한 추적 이벤트의 Completed 버전에는 데이터베이스 엔진 튜닝 관리자의 작업 튜닝 효율을 높일 수 있도록 Duration 열이 포함됩니다. 데이터베이스 엔진 튜닝 관리자는 다른 유형의 추적 이벤트는 튜닝하지 않습니다. 이러한 추적 이벤트에 대한 자세한 내용은 Stored Procedures 이벤트 범주TSQL 이벤트 범주를 참조하십시오. SQL Trace 저장 프로시저를 사용하여 추적 파일 작업을 만드는 방법은 방법: 추적 만들기(Transact-SQL)를 참조하십시오.

LoginName 데이터 열이 포함된 추적 파일 또는 추적 테이블 작업

데이터베이스 엔진 튜닝 관리자는 튜닝 프로세스의 일부로 실행 계획 요청을 제출합니다. LoginName 데이터 열이 포함된 추적 테이블이나 파일이 작업으로 사용되면 데이터베이스 엔진 튜닝 관리자는 LoginName에 지정된 사용자를 가장합니다. 이 사용자에게 추적에 포함된 문의 실행 계획을 실행하고 생성할 수 있는 SHOWPLAN 권한이 없으면 데이터베이스 엔진 튜닝 관리자는 해당 문을 튜닝하지 않습니다. LoginName 데이터 열에 대한 자세한 내용은 데이터 열을 사용하여 이벤트 설명을 참조하십시오. SHOWPLAN 권한에 대한 자세한 내용은 Showplan 보안을 참조하십시오.

추적의 LoginName 열에 지정된 각 사용자에게 SHOWPLAN 권한을 부여하지 않으려면

  1. 추적 파일 또는 테이블 작업을 튜닝합니다. 자세한 내용은 방법: 데이터베이스 튜닝을 참조하십시오.

  2. 튜닝 로그에서 부적절한 권한 때문에 튜닝되지 않은 문을 확인합니다. 자세한 내용은 튜닝 로그 정보방법: 튜닝 출력 보기를 참조하십시오.

  3. 튜닝되지 않은 이벤트에서 LoginName 열을 삭제하여 새 작업을 만든 다음 튜닝되지 않은 이벤트만 새 추적 파일이나 테이블에 저장합니다. 추적에서 데이터 열을 삭제하는 방법은 방법: 추적 파일에 대해 이벤트 지정(SQL Server Profiler) 또는 방법: 기존 추적 수정(Transact-SQL)을 참조하십시오.

  4. LoginName 열이 없는 새 작업을 데이터베이스 엔진 튜닝 관리자에 다시 제출합니다.

추적에 로그인 정보가 지정되어 있지 않으므로 데이터베이스 엔진 튜닝 관리자에서 새 작업을 튜닝합니다. 문에 대한 LoginName이 없으면 데이터베이스 엔진 튜닝 관리자는 튜닝 세션을 시작한 사용자(sysadmin 고정 서버 역할이나 db_owner 고정 데이터베이스 역할의 멤버)를 가장하여 해당 문을 튜닝합니다.