다음을 통해 공유


Azure Portal에서 자동 튜닝을 사용하여 쿼리 모니터링 및 워크로드 성능 향상

적용 대상:Azure SQL 데이터베이스Azure SQL Managed Instance

Azure SQL 데이터베이스는 지속적으로 쿼리를 모니터링하고 워크로드의 성능 향상을 위해 수행할 수 있는 작업을 식별하는 자동으로 관리되는 데이터 서비스입니다. 권장 사항을 검토하고 수동으로 적용하거나 Azure SQL Database에서 자동으로 수정 작업을 적용하도록 할 수 있습니다. 이를 자동 튜닝 모드이라고 합니다.

서버 또는 데이터베이스 수준에서 자동 튜닝을 사용할 수 있습니다.

참고 항목

Azure SQL Managed Instance의 경우 지원되는 옵션 FORCE_LAST_GOOD_PLANT-SQL통해서만 구성할 수 있습니다. 이 문서에 설명된 Azure Portal 기반 구성 및 자동 인덱스 튜닝 옵션은 Azure SQL Managed Instance에 적용되지 않습니다.

ARM(Azure Resource Manager) 템플릿을 통해 자동 튜닝 옵션을 구성하는 것은 현재 지원되지 않습니다.

서버에서의 자동 튜닝 사용

서버 수준에서 "Azure 기본값"에서 자동 튜닝 구성을 상속하거나 구성을 상속하지 않도록 선택할 수 있습니다. Azure 기본값은 FORCE_LAST_GOOD_PLAN 사용하도록 설정되고, CREATE_INDEX 사용하지 않도록 설정되고, DROP_INDEX 사용할 수 없습니다.

Azure Portal

Azure SQL 데이터베이스의 서버 자동 조정을 사용하려면 Azure Portal에서 서버로 이동한 다음, 메뉴에서 자동 조정을 선택합니다.

스크린샷은 서버에 대한 옵션을 적용할 수 있는 Azure Portal의 자동 튜닝을 보여줍니다.

사용하려는 자동 튜닝 옵션을 선택하고 적용을 선택합니다.

서버의 자동 조정 옵션은 서버의 모든 데이터베이스에 적용됩니다. 기본적으로 모든 데이터베이스는 부모 서버의 구성을 상속하지만 이 구성을 재정의하고 각 개별 데이터베이스에 대한 변경 내용을 지정할 수 있습니다.

REST API

REST API를 사용하여 서버에서 자동 튜닝을 활성화하는 방법에 대해 자세히 알아보려면 서버 자동 튜닝 업데이트 및 HTTP 메서드 가져오기를 참조하세요.

ARM(Azure Resource Manager) 템플릿을 통해 자동 튜닝 옵션을 구성하는 것은 현재 지원되지 않습니다.

개별 데이터베이스에서의 자동 튜닝닝 사용

Azure Portal을 통해 각 데이터베이스에서 개별적으로 자동 튜닝 구성을 지정할 수 있습니다. 데이터베이스 수준에서 "Azure 기본값"에서 자동 튜닝 구성을 상속하거나 구성을 상속하지 않도록 선택할 수 있습니다. 이러한 기본값은 다음과 같습니다.

  • FORCE_LAST_GOOD_PLAN 활성화됨
  • CREATE_INDEX 사용할 수 없음
  • DROP_INDEX 사용할 수 없음

모든 데이터베이스에 동일한 구성 설정을 자동으로 적용할 수 있도록 서버 수준에서 자동 튜닝 구성을 관리하는 것이 좋습니다. 데이터베이스가 동일한 서버에서 설정을 상속하는 다른 데이터베이스와 다른 설정을 가지도록 해야 하는 경우에만 개별 데이터베이스에서 자동 조정을 구성합니다.

Azure Portal

단일 데이터베이스에서 자동 튜닝을 사용하려면 Azure Portal에서 데이터베이스로 이동한 다음 자동 튜닝을 선택합니다.

개별 자동 조정 설정을 각 데이터베이스에 대해 별도로 구성할 수 있습니다. 개별 자동 튜닝 옵션을 수동으로 구성하거나 서버에서 해당 설정을 상속하는 옵션을 지정할 수 있습니다.

스크린샷은 단일 데이터베이스에 대한 옵션을 적용할 수 있는 Azure Portal의 자동 튜닝을 보여줍니다.

원하는 구성을 선택한 후, 적용을 선택합니다.

REST API

단일 데이터베이스에서 자동 조정을 활성화하기 위한 REST API 사용에 대해 자세히 알아보려면 Azure SQL 데이터베이스 자동 조정 업데이트 및 HTTP 메서드 가져오기를 참조하세요.

ARM(Azure Resource Manager) 템플릿을 통해 자동 튜닝 옵션을 구성하는 것은 현재 지원되지 않습니다.

T-SQL

T-SQL을 통해 단일 데이터베이스에서 자동 튜닝을 사용하도록 설정하려면 데이터베이스에 연결하고 다음 쿼리를 실행합니다.

ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM

자동 조정을 AUTO 설정하면 Azure 기본값이 적용됩니다. INHERIT설정하면 자동 튜닝 구성이 부모 서버에서 상속됩니다. CUSTOM선택하는 경우 자동 조정을 수동으로 구성해야 합니다.

T-SQL을 통해 개별 자동 튜닝 옵션을 구성하려면 데이터베이스에 연결하고 다음 쿼리를 실행합니다.

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
    FORCE_LAST_GOOD_PLAN = ON,
    CREATE_INDEX = ON,
    DROP_INDEX = OFF
);

개별 튜닝 옵션을 ON으로 설정하면 데이터베이스가 상속한 모든 설정이 재정의되고 튜닝 옵션이 활성화됩니다. OFF 설정하면 데이터베이스가 상속한 모든 설정이 재정의되고 튜닝 옵션이 비활성화됩니다. DEFAULT 지정된 자동 튜닝 옵션은 서버 수준 설정에서 자동 튜닝 구성을 상속합니다.

Important

활성 지역 복제경우 주 데이터베이스에서만 자동 튜닝을 구성해야 합니다. 인덱스 만들기 또는 삭제와 같이 자동으로 적용된 튜닝 작업은 지역 보조 복제본에 자동으로 복제됩니다. 읽기 전용 보조 데이터베이스에서 T-SQL을 통해 자동 튜닝을 사용하도록 설정하면 읽기 전용 보조 데이터베이스에 다른 튜닝 구성이 지원되지 않으므로 오류가 발생합니다.

T-SQL 옵션에 대한 자동 튜닝 구성을 알아보려면 ALTER DATABASE SET 옵션을 참조하세요.

문제 해결

자동화된 권장 사항 관리 사용 안 함

자동화된 권장 사항 관리가 비활성화되었거나 시스템에서 사용하지 않도록 설정된 오류 메시지가 표시되는 경우 가장 일반적인 원인은 다음과 같습니다.

  • 쿼리 저장소를 사용할 수 없거나
  • 쿼리 저장소 지정된 데이터베이스에 대해 읽기 전용 모드인 경우, 또는
  • 할당된 스토리지 공간이 부족하여 쿼리 저장소 실행이 중지되었습니다.

이 문제를 해결하려면 다음 단계를 고려해야 합니다.

  • 쿼리 저장소를 정리하거나 T-SQL을 사용하여 데이터 보존 기간을 “auto”로 수정하거나 쿼리 저장소 최대 크기를 늘립니다. 쿼리 저장소 권장 보존 및 캡처 정책을 구성하는 방법을 참조하세요.

  • SSMS(SQL Server Management Studio)를 사용하고 다음 단계를 수행합니다.

    1. Azure SQL 데이터베이스에 연결합니다.
    2. 데이터베이스를 마우스 오른쪽 단추로 클릭합니다.
    3. 속성으로 이동하여 쿼리 저장소을 선택합니다.
    4. 작업 모드읽기/쓰기으로 변경합니다.
    5. 스토어 캡처 모드를 자동으로 변경합니다.
    6. 크기 기반 정리 모드자동으로 변경합니다.

사용 권한

Azure SQL Database의 경우 Azure Portal에서 자동 튜닝을 관리하거나 PowerShell 또는 REST API를 사용하려면 기본 제공 Azure RBAC(역할 기반 액세스 제어) 역할의 멤버 자격이 필요합니다.

자동 튜닝을 관리하기 위해 사용자에게 부여해야 하는 최소 필요 권한은 SQL Database contributor 역할의 구성원입니다. SQL Server Contributor, Contributor, Owner 등 더 높은 권한 역할을 사용하는 것을 고려할 수도 있습니다.

T-SQL로 자동 조정을 관리하려면 필요한 권한은 권한에서 ALTER DATABASE를 참조하세요.

이메일 알림 자동 조정 구성

자동 조정을 통해 만들어진 권장 사항에 대해 자동화된 이메일 알림을 받으려면 이메일 알림 자동 조정 가이드를 참조하세요.