적용 대상:SQL Server
데이터베이스 엔진 튜닝 관리자를 사용하면 데이터베이스를 튜닝하고, 튜닝 세션을 관리하고, 튜닝 권장 사항을 볼 수 있습니다. 실제 디자인 구조에 대해 고급 지식을 갖고 있는 사용자는 이 도구를 사용하여 예비 데이터베이스 튜닝 분석을 수행할 수 있습니다. 데이터베이스 튜닝 초보자도 이 도구를 사용하여 튜닝 워크로드에 가장 적합한 실제 디자인 구조 구성을 찾을 수도 있습니다. 이 단원에서는 데이터베이스 엔진 튜닝 관리자 그래픽 사용자 인터페이스를 처음으로 사용하는 데이터베이스 관리자와 물리적 디자인 구조에 대한 광범위한 지식이 없는 시스템 관리자를 위한 기본 사례를 제공합니다.
필수 조건
이 자습서를 완료하려면 SQL Server Management Studio, SQL Server를 실행하는 서버에 대한 액세스 및 AdventureWorks2025 데이터베이스가 필요합니다.
- SQL Server Management Studio를 설치합니다.
- SQL Server 2017 Developer Edition을 설치합니다.
- AdventureWorks 샘플 데이터베이스를 다운로드합니다.
SSMS에서 데이터베이스를 복원하는 방법에 대한 지침은 SSMS를 사용하여 데이터베이스 백업 복원을 참조하세요.
참고
이 자습서는 SQL Server Management Studio 및 기본적인 데이터베이스 관리 작업을 사용하는 데 익숙한 사용자를 위한 것입니다.
워크로드 튜닝
데이터베이스 엔진 튜닝 관리자를 사용하여 튜닝을 위해 선택한 데이터베이스 및 테이블에서 쿼리 성능에 가장 적합한 물리적 데이터베이스 디자인을 찾습니다.
샘플 SELECT 예제 문을 복사하고 SQL Server Management Studio의 쿼리 편집기에 문을 붙여넣습니다. 파일을
MyScript.sql쉽게 찾을 수 있는 디렉터리에 저장합니다. 다음 코드는AdventureWorks데이터베이스와 상호작용하는 예제를 보여줍니다.USE [AdventureWorks2022]; GO -- Might need to modify database name to match database SELECT DISTINCT pp.LastName, pp.FirstName FROM Person.Person AS pp INNER JOIN HumanResources.Employee AS 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 AS p WHERE ProductNumber = 'BK-M68B-42')));데이터베이스 엔진 튜닝 어드바이저를 시작합니다. SSMS(SQL Server Management Studio)의 도구 메뉴에서 데이터베이스 튜닝 관리자를 선택합니다. 자세한 내용은 데이터베이스 엔진 튜닝 관리자 시작하기를 참조하세요. 서버에 연결 대화 상자에서 SQL 서버로 연결하기를 선택합니다.
데이터베이스 엔진 튜닝 관리자 GUI 오른쪽 창의 일반 탭에서
MySession입력 합니다.워크로드에 대한 파일을 선택하고 쌍안경 아이콘을 선택하여 워크로드 파일을 찾습니다.
MyScript.sql1단계에서 저장한 파일을 찾습니다.워크로드 분석 목록의
데이터베이스에서 선택하고, 데이터베이스 및 테이블 선택에서 그리드를 튜닝하고,선택하여 튜닝 로그 저장을 선택합니다. 워크로드 분석용 데이터베이스는 워크로드를 튜닝할 때 데이터베이스 엔진 튜닝 관리자가 연결되는 첫 번째 데이터베이스를 지정합니다. 튜닝이 시작되면 데이터베이스 엔진 튜닝 관리자는 워크로드에 포함된USE DATABASE문이 지정한 데이터베이스로 연결됩니다.
튜닝 옵션 탭을 선택합니다. 이 연습에 대한 튜닝 옵션을 설정하지 않고 잠시 시간을 내어 기본 튜닝 옵션을 검토합니다. 이 탭 페이지에 대한 도움말을 보려면 F1 키를 누릅니다. 고급 옵션을 선택하여 더 많은 튜닝 옵션을 봅니다. 표시되는 튜닝 옵션에 대한 자세한 내용은 고급 튜닝 옵션 대화 상자에서 도움말을 선택합니다. [취소]를 선택하여 [고급 튜닝 옵션] 대화 상자를 닫고 기본 옵션을 선택합니다.
도구 모음에서 분석 시작 단추를 선택합니다. 데이터베이스 엔진 튜닝 관리자에서 작업을 분석하는 동안 진행률 탭에서 상태를 모니터링할 수 있습니다. 튜닝이 완료되면 권장 사항 탭이 표시됩니다.
튜닝 중지 날짜 및 시간에 대한 오류가 표시되면 기본 튜닝 옵션 탭에서 중지 시간을 확인합니다. 중지 날짜 및 시간이 현재 날짜 및 시간보다 앞서있는지 확인하고 필요한 경우 변경합니다.
분석이 완료되면 작업 메뉴에서 권장 사항 저장을 선택하여 권장 사항을 Transact-SQL 스크립트로 저장합니다. 다른 이름으로 저장 대화 상자에서 권장 사항 스크립트를 저장할 디렉터리로 이동하고 파일 이름을
MyRecommendations입력합니다.
튜닝 권장 사항 보기
권장 사항 탭에서 탭 페이지 맨 아래에 있는 스크롤 막대를 사용하여 모든 인덱스 권장 사항 열을 볼 수 있습니다. 각 행은 데이터베이스 엔진 튜닝 관리자가 삭제하거나 만들 것을 권장하는 데이터베이스 개체(인덱스 또는 인덱싱된 뷰)를 나타냅니다. 가장 오른쪽 열로 스크롤하고 정의를 선택합니다. 데이터베이스 엔진 튜닝 관리자는 해당 행에서 데이터베이스 개체를 생성하거나 삭제하는 Transact-SQL 스크립트를 볼 수 있는 SQL 스크립트 미리 보기 창을 표시합니다. 닫기를 선택하여 미리 보기 창을 닫습니다.
링크가 포함된 정의를 찾는 데 어려움이 있는 경우 탭 페이지 아래쪽에서 기존 개체 표시 확인란을 선택 취소합니다. 이 작업을 수행하면 표시되는 행 수가 줄어듭니다. 이 확인란의 선택을 취소하면 데이터베이스 엔진 튜닝 관리자 권장 사항을 생성한 개체만 표시됩니다. 현재 데이터베이스 내에 있는 모든 데이터베이스 개체를 보려면
AdventureWorks2025확인란을 선택합니다. 탭 페이지의 오른쪽에 있는 스크롤 막대를 사용하여 모든 개체를 볼 수 있습니다.인덱스 권장 사항 창에서 그리드를 마우스 오른쪽으로 클릭합니다. 마우스 오른쪽 버튼 메뉴를 사용하여 권장 사항을 선택하거나 선택 취소할 수 있습니다. 그리드 텍스트의 글꼴을 변경할 수도 있습니다.
작업 메뉴에서 권장 사항 저장을 선택하여 모든 권장 사항을 하나의 Transact-SQL 스크립트에 저장합니다. 스크립트
MySessionRecommendations.sql이름을 지정합니다.MySessionRecommendations.sqlSQL Server Management Studio의 쿼리 편집기에서 스크립트를 열어 봅니다. 쿼리 편집기에서 스크립트를 실행하여 샘플 데이터베이스에 권장 사항을AdventureWorks2025적용할 수 있지만 이 작업은 수행하지 않습니다. 쿼리 편집기에서 스크립트를 실행하지 않고 닫습니다.또는 데이터베이스 엔진 튜닝 관리자의 작업 메뉴에서 권장 사항 적용을 선택하여 권장 사항을 적용할 수도 있지만 이 연습에서는 이러한 권장 사항을 적용하지 마세요.
권장 사항 탭에 권장 사항이 두 개 이상 있는 경우, 인덱스 권장 사항 그리드에서 데이터베이스 개체를 나열하는 일부 행을 지웁니다.
[작업] 메뉴에서 [권장 사항 평가]를 선택합니다. 데이터베이스 엔진 튜닝 관리자는 원래 권장 사항
MySession의 하위 집합을 평가할 수 있는 새 튜닝 세션을 만듭니다.새
EvaluateMySession입력 하고 도구 모음에서 분석 시작 단추를 선택합니다. 이 새 튜닝 세션에 대해 2단계와 3단계를 반복하여 권장 사항을 확인합니다.
요약
세션을 실행한 후 튜닝 옵션을 변경해야 하는 경우 튜닝 권장 사항의 하위 집합을 평가해야 할 수 있습니다. 예를 들어 세션에 대한 튜닝 옵션을 지정할 때 데이터베이스 엔진 튜닝 관리자에게 인덱싱된 뷰를 고려하도록 요청할 수 있지만 권장 사항이 생성된 후에는 인덱싱된 뷰를 사용하지 않기로 결정합니다.
작업 메뉴의 권장 사항 평가 옵션을 사용하여 인덱싱된 뷰를 고려하지 않고 데이터베이스 엔진 튜닝 관리자가 세션을 다시 평가하도록 합니다. 권장 사항 평가 옵션을 사용하는 경우 이전에 생성된 권장 사항은 두 번째 튜닝 세션의 물리적 디자인에 도달하도록 현재 물리적 디자인에 가설적으로 적용됩니다.
이 단원의 다음 작업에 설명된 보고서 탭에서 더 많은 튜닝 결과 정보를 볼 수 있습니다.
튜닝 보고서 보기
튜닝 결과를 구현하는 스크립트를 보는 것이 유용하지만 데이터베이스 엔진 튜닝 관리자는 볼 수 있는 많은 유용한 보고서도 제공합니다. 이러한 보고서는 튜닝하는 데이터베이스의 기존 물리적 디자인 구조 및 권장 구조에 대한 정보를 제공합니다. 보고서 탭을 선택하여 튜닝 보고서를 봅니 다.
데이터베이스 튜닝 관리자에서 보고서 탭을 선택합니다.
튜닝 요약 창에서 이 튜닝 세션에 대한 정보를 볼 수 있습니다. 스크롤 막대를 넘겨 모든 창 내용을 볼 수 있습니다. 예상 백분율 개선 및 권장 사항에서 사용하는 공간을 확인합니다. 튜닝 옵션을 설정할 때 권장 사항에서 사용하는 공간을 제한할 수 있습니다. 튜닝 옵션 탭에서 고급 옵션을 선택합니다. 권장 사항에 필요한 최대 공간 정의를 선택하고, 권장 구성이 사용할 수 있는 최대 공간(MB)을 지정합니다. 도움말 브라우저의 뒤로 버튼을 눌러 이 자습서로 돌아옵니다.
튜닝 보고서 패널에서 보고서 선택 목록 중 명세서 비용 보고서를 선택합니다. 보고서를 볼 수 있는 공간이 더 필요한 경우 세션 모니터 창 테두리를 왼쪽으로 끌어옵니다. 데이터베이스의 테이블에 대해 실행되는 각 Transact-SQL 문에는 성능 비용이 연결되어 있습니다. 테이블에서 자주 액세스하는 열에 효과적인 인덱스를 만들어 이 성능 비용을 줄입니다. 이 보고서는 워크로드에서 문을 실행하는 원래 비용과 튜닝 권장 사항이 구현되는 경우 비용 간의 예상 백분율 향상을 보여줍니다. 보고서에 포함된 정보의 양은 워크로드의 길이와 복잡성을 기반으로 합니다.
표 영역에서 문 비용 보고서 창을 마우스 오른쪽 단추로 클릭하고 파일로 내보내기를 선택합니다. 보고서를 .로
MyReport저장합니다. 파일 이름에 .xml 확장명이 자동으로 추가됩니다. 즐겨 찾는 XML 편집기 또는 SQL Server Management Studio에서 열어MyReport.xml보고서 내용을 볼 수 있습니다.데이터베이스 엔진 튜닝 관리자 보고서 탭으로 돌아가서 문 비용 보고서를 다시 마우스 오른쪽으로 클릭합니다. 사용 가능한 다른 옵션을 검토하세요. 보고 있는 보고서의 글꼴을 변경할 수 있습니다. 여기에서 글꼴을 변경하면 다른 탭 페이지에서도 변경됩니다.
보고서 선택 목록에서 다른 보고서를 선택하여 해당 보고서를 숙지합니다.
요약
튜닝 세션에 대한 데이터베이스 엔진 튜닝 관리자 GUI의 보고서 탭을 MySession 탐색했습니다. 이러한 동일한 단계를 사용하여 튜닝 세션에 대해 EvaluateMySession 생성된 보고서를 탐색할 수 있습니다.
세션 모니터 창에서 EvaluateMySession을 두 번 클릭합니다.