2단원: 데이터베이스 엔진 튜닝 관리자 사용

적용 대상:SQL Server

데이터베이스 엔진 튜닝 관리자 사용하면 데이터베이스를 튜닝하고, 튜닝 세션을 관리하고, 튜닝 권장 사항을 볼 수 있습니다. 물리적 디자인 구조에 대한 고급 지식을 가진 사용자는 이 도구를 사용하여 예비 데이터베이스 튜닝 분석을 수행할 수 있습니다. 데이터베이스 튜닝 초보자는 도구를 사용하여 조정하는 워크로드에 가장 적합한 물리적 디자인 구조 구성을 찾을 수도 있습니다. 이 단원에서는 데이터베이스 엔진 튜닝 관리자 그래픽 사용자 인터페이스를 처음으로 사용하는 데이터베이스 관리자와 물리적 디자인 구조에 대한 광범위한 지식이 없는 시스템 관리자를 위한 기본 사례를 제공합니다.

필수 조건

이 자습서를 완료하려면 SQL Server Management Studio, SQL Server를 실행하는 서버에 대한 액세스 및 데이터베이스가 AdventureWorks2022 필요합니다.

SSMS에서 데이터베이스를 복원하기 위한 지침은 여기: 데이터베이스 복원에 있습니다.

참고 항목

이 자습서는 SQL Server Management Studio 및 기본적인 데이터베이스 관리 작업을 사용하는 데 익숙한 사용자를 위한 것입니다.

워크로드 튜닝

데이터베이스 엔진 튜닝 관리자를 사용하여 튜닝하려고 선택한 데이터베이스와 테이블의 쿼리 성능에 가장 적합한 물리적 데이터베이스 디자인을 찾을 수 있습니다.

  1. 샘플 SELECT 문을 복사하고 SQL Server Management Studio의 쿼리 편집기 문을 붙여넣습니다. 파일을 쉽게 찾을 수 있는 디렉터리에 MyScript.sql 저장합니다. 데이터베이스에 대해 AdventureWorks2022 작동하는 예제가 아래에 제공되었습니다.
Use [AdventureWorks2022]; -- may need to modify database name to match database
GO
SELECT DISTINCT pp.LastName, pp.FirstName 
FROM Person.Person pp JOIN HumanResources.Employee e
ON e.BusinessEntityID = pp.BusinessEntityID WHERE pp.BusinessEntityID IN 
(SELECT SalesPersonID 
FROM Sales.SalesOrderHeader
WHERE SalesOrderID IN 
(SELECT SalesOrderID 
FROM Sales.SalesOrderDetail
WHERE ProductID IN 
(SELECT ProductID 
FROM Production.Product p 
WHERE ProductNumber = 'BK-M68B-42')));
GO

Save SQL Query

  1. 데이터베이스 엔진 튜닝 관리자 시작합니다. SSMS(SQL Server Management Studio)의 도구 메뉴에서 데이터베이스 튜닝 관리자를 선택합니다. 자세한 내용은 데이터베이스 엔진 튜닝 관리자 시작을 참조하세요. 서버로 커넥트 대화 상자에서 SQL Server로 커넥트.

  2. 데이터베이스 엔진 튜닝 관리자 GUI 오른쪽 창의 일반 탭에 세션 이름에 MySession입력합니다.

  3. 워크로드에 대한 파일을 선택하고 쌍안경 아이콘을 선택하여 워크로드 파일을 찾습니다. 1단계에서 저장한 MyScript.sql 파일을 찾습니다.

Find the script that was saved previously

  1. 워크로드 분석용 데이터베이스 목록에서 선택하고AdventureWorks2022, 데이터베이스 및 테이블 선택에서 선택하여 AdventureWorks2022 그리드를 튜닝하고, 튜닝 로그 저장을 선택합니다. 워크로드 분석을 위한 데이터베이스는 워크로드를 튜닝할 때 데이터베이스 엔진 튜닝 관리자 연결하는 첫 번째 데이터베이스를 지정합니다. 튜닝이 시작되면 데이터베이스 엔진 튜닝 관리자 워크로드에 포함된 문으로 USE DATABASE 지정된 데이터베이스에 연결합니다.

DTA options for db

  1. 튜닝 옵션 탭을 클릭합니다. 이 연습에 대한 튜닝 옵션을 설정하지 않고 잠시 시간을 내어 기본 튜닝 옵션을 검토합니다. 이 탭 페이지에 대한 도움말을 보려면 F1 키를 누릅니다. 추가 튜닝 옵션을 보려면 고급 옵션 을 클릭합니다. 고급 튜닝 옵션 대화 상자에서 도움말을 클릭하여 표시되는 튜닝 옵션에 대한 정보를 확인합니다. [취소]를 클릭하여 [고급 튜닝 옵션] 대화 상자를 닫고 기본 옵션을 선택합니다.

DTA tuning options

  1. 도구 모음에서 분석 시작 단추를 클릭합니다. 데이터베이스 엔진 튜닝 관리자 워크로드를 분석하는 동안 진행률 탭에서 상태 모니터링할 수 있습니다. 튜닝이 완료되면 권장 사항 탭이 표시됩니다.

    튜닝 중지 날짜 및 시간에 대한 오류가 표시되면 기본 튜닝 옵션 탭에서 시간에 중지를 검사. 날짜 및 시간 중지가 현재 날짜 및 시간보다 큰지 확인하고 필요한 경우 변경합니다.

Start DTA analysis

  1. 분석이 완료되면 작업 메뉴에서 권장 사항 저장을 클릭하여 권장 사항을 Transact-SQL 스크립트로 저장합니다. 다른 이름으로 저장 대화 상자에서 권장 사항 스크립트를 저장할 디렉터리로 이동하고 파일 이름을 My권장 사항 입력합니다.

Save DTA recommendations

튜닝 권장 사항 보기

  1. 권장 구성 탭에서 탭 페이지 맨 아래의 스크롤 막대를 사용하여 모든 인덱스 권장 구성 열을 볼 수 있습니다. 각 행은 삭제하거나 만들 것을 권장하는 데이터베이스 개체(인덱스 또는 인덱싱된 뷰)를 데이터베이스 엔진 튜닝 관리자 나타냅니다. 가장 오른쪽 열로 스크롤하고 정의를 클릭합니다. 데이터베이스 엔진 튜닝 관리자는 해당 행에서 데이터베이스 개체를 생성하거나 삭제하는 Transact-SQL 스크립트를 볼 수 있는 SQL 스크립트 미리 보기 창을 표시합니다. 닫기를 클릭하여 미리 보기 창을 닫습니다.

    링크가 포함된 정의를 찾는 데 어려움이 있는 경우 탭 페이지 아래쪽에 있는 기존 개체 검사 표시 상자를 선택 취소하여 표시되는 행 수를 줄입니다. 이 검사box를 지우면 데이터베이스 엔진 튜닝 관리자 권장 사항을 생성한 개체만 표시됩니다. 기존 개체 표시 검사 상자를 선택하여 현재 데이터베이스에 있는 모든 데이터베이스 개체를 AdventureWorks2022 봅니다. 탭 페이지의 오른쪽에 있는 스크롤 막대를 사용하여 모든 개체를 볼 수 있습니다.

DTA index recommendation

  1. 인덱스 권장 사항 창에서 그리드를 마우스 오른쪽 단추로 클릭합니다. 바로 가기 메뉴에서 권장 구성을 선택하거나 권장 구성의 선택을 취소할 수 있습니다. 표 텍스트의 글꼴을 변경할 수도 있습니다.

Selection menu for index recommendation

  1. 작업 메뉴에서 권장 사항 저장을 클릭하여 모든 권장 사항을 하나의 Transact-SQL 스크립트에 저장합니다. 스크립트 이름을 MySession권장 사항.sql 지정합니다.

    SQL Server Management Studio의 쿼리 편집기 MySession권장 사항.sql 스크립트를 열어 봅니다. 쿼리 편집기 스크립트를 실행하여 샘플 데이터베이스에 권장 사항을 AdventureWorks2022 적용할 수 있지만 이 작업은 수행하지 않습니다. 쿼리 편집기에서 스크립트를 실행하지 않고 닫습니다.

    또는 데이터베이스 엔진 튜닝 관리자 작업 메뉴에서 권장 사항 적용을 클릭하여 권장 사항을 적용할 수도 있지만 이 연습에서는 이러한 권장 사항을 적용하지 마세요.

  2. 권장 사항 탭에 둘 이상의 권장 사항이 있는 경우 인덱스 권장 사항 표에 데이터베이스 개체를 나열하는 일부 행을 지웁니다.

  3. 동작 메뉴에서 권장 구성 평가를 클릭합니다. 데이터베이스 엔진 튜닝 관리자 MySession에서 원래 권장 사항의 하위 집합을 평가할 수 있는 새 튜닝 세션을 만듭니다.

  4. 세션 이름에 대해 EvaluateMySession을 입력하고 도구 모음에서 분석 시작 단추를 클릭합니다. 이 새 튜닝 세션에 대해 2단계와 3단계를 반복하여 권장 사항을 볼 수 있습니다.

요약

세션을 실행한 후 튜닝 옵션을 변경해야 하는 경우 튜닝 권장 사항의 하위 집합을 평가해야 할 수 있습니다. 예를 들어 세션에 대한 튜닝 옵션을 지정할 때 데이터베이스 엔진 튜닝 관리자 인덱싱된 뷰를 고려하도록 요청하지만 권장 사항이 생성된 후에는 인덱싱된 뷰를 사용하지 않기로 결정합니다. 그런 다음 작업 메뉴에서 권장 사항 평가 옵션을 사용하여 인덱싱된 뷰를 고려하지 않고 세션을 다시 평가할 데이터베이스 엔진 튜닝 관리자 있습니다. 권장 사항 평가 옵션을 사용하면 이전에 생성된 권장 사항이 두 번째 튜닝 세션의 물리적 디자인에 도달하도록 현재 물리적 디자인에 가설적으로 적용됩니다.

이 단원의 다음 작업에 설명된 보고서 탭에서 더 많은 튜닝 결과 정보를 볼 수 있습니다.

튜닝 보고서 보기

튜닝 결과를 구현하는 데 사용할 수 있는 스크립트를 보는 것이 유용하지만 데이터베이스 엔진 튜닝 관리자 볼 수 있는 많은 유용한 보고서도 제공합니다. 이러한 보고서는 튜닝하는 데이터베이스의 기존 물리적 디자인 구조 및 권장 구조에 대한 정보를 제공합니다. 튜닝 보고서는 다음 연습에서 설명하는 대로 보고서 탭을 클릭하여 볼 수 있습니다.

  1. 데이터베이스 튜닝 관리자에서 보고서 탭을 선택합니다.

  2. 튜닝 요약 창에서 이 튜닝 세션에 대한 정보를 볼 수 있습니다. 스크롤 막대를 사용하여 모든 창 내용을 볼 수 있습니다. 예상 백분율 개선 사항 및 권장 사항에서 사용하는 공간을 확인합니다. 튜닝 옵션을 설정할 때 권장 사항에서 사용하는 공간을 제한할 수 있습니다. 튜닝 옵션 탭에서 고급 옵션을 선택합니다. 권장 구성에 필요한 최대 공간 정의를 선택하고 권장 구성이 사용할 수 있는 최대 공간(MB)을 지정합니다. 도움말 브라우저의 뒤로 단추를 사용하여 이 자습서로 돌아갑니다.

    DTA tuning summary

  3. 보고서 튜닝 창의 보고서 선택 목록에서 문 비용 보고서를 클릭합니다. 보고서를 볼 수 있는 공간이 더 필요한 경우 세션 모니터 창 테두리를 왼쪽으로 끕니다. 데이터베이스의 테이블에 대해 실행되는 각 Transact-SQL 문에는 성능 비용이 연결되어 있습니다. 테이블의 자주 액세스하는 열에 효과적인 인덱스를 만들어 이 성능 비용을 줄일 수 있습니다. 이 보고서는 워크로드에서 문을 실행하는 원래 비용과 튜닝 권장 사항이 구현되는 경우 비용 간의 예상 백분율 향상을 보여줍니다. 보고서에 포함된 정보의 양은 작업의 길이와 복잡성을 기반으로 합니다.

    DTA report - statement cost

  4. 표 영역에서 문 비용 보고서 창을 마우스 오른쪽 단추로 클릭하고 파일로 내보내기를 클릭합니다. 보고서를 MyReport저장합니다. 파일 이름에 .xml 확장명이 자동으로 추가됩니다. 즐겨 찾는 XML 편집기 또는 SQL Server Management Studio에서 MyReport.xml 열어 보고서 내용을 볼 수 있습니다.

  5. 데이터베이스 엔진 튜닝 관리자 보고서 탭으로 돌아가서 문 비용 보고서를 다시 마우스 오른쪽 단추로 클릭합니다. 사용할 수 있는 다른 옵션을 검토합니다. 보고 있는 보고서의 글꼴을 변경할 수 있습니다. 여기에서 글꼴을 변경하면 다른 탭 페이지에서도 변경됩니다.

  6. 보고서 선택 목록에서 다른 보고서를 클릭하여 해당 보고서를 숙지합니다.

요약

이제 MySession 튜닝 세션에 대한 데이터베이스 엔진 튜닝 관리자 GUI의 보고서 탭을 살펴보셨습니다. 이와 같은 단계를 사용하여 EvaluateMySession 튜닝 세션에 대해 생성된 보고서를 탐색할 수 있습니다. 세션 모니터 창에서 EvaluateMySession두 번 클릭하여 시작합니다.

다음 단원

3단원: DTA 명령 프롬프트 유틸리티 사용