다음을 통해 공유


Azure SQL 데이터베이스 및 Azure SQL Managed Instance에서 사용할 수 있는 자동 조정 옵션은 다음과 같습니다.

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

Azure SQL 데이터베이스 및 Azure SQL Managed Instance 자동 튜닝은 AI 및 머신 러닝에 기반한 지속적인 성능 조정을 통해 최고의 성능과 안정적인 워크로드를 제공합니다.

자동 조정은 기본 제공 인텔리전스를 사용하여 데이터베이스에서 실행된 쿼리를 지속적으로 모니터링하고 해당 성능을 자동으로 개선하는 완전히 관리되는 지능형 성능 서비스입니다. 이것은 변화하는 워크로드에 동적으로 데이터베이스를 적용하고 튜닝 권장 사항을 적용함으로써 달성됩니다. 자동 조정은 AI를 통해 Azure의 모든 데이터베이스에서 수평적으로 학습하고 동적으로 조정 작업을 개선합니다. 자동 튜닝을 사용하여 데이터베이스를 더 오래 실행할수록 성능이 향상됩니다.

Azure SQL 데이터베이스 및 Azure SQL Managed Instance 자동 튜닝은 안정적이고 최고 성능의 데이터베이스 워크로드를 제공하는 데 사용할 수 있는 가장 영향력 있는 기능 중 하나일 수 있습니다.

Azure SQL 자동 튜닝은 데이터베이스 엔진의 SQL Server 자동 튜닝 기능과 핵심 논리를 공유합니다. 기본 제공 인텔리전스 메커니즘에 대한 추가 기술 정보는 SQL Server 자동 조정을 참조하세요.

자동 조정의 기능

  • 데이터베이스의 자동화된 성능 튜닝
  • 성능 향상의 자동화된 확인
  • 자동화된 롤백 및 자체 수정
  • 조정 기록
  • 수동 배포를 위한 T-SQL(Transact-SQL) 스크립트 조정 작업
  • 수십만 개의 데이터베이스에서 스케일 아웃 기능
  • DevOps 리소스 및 총 소유 비용에 긍정적인 영향

안전하고 신뢰할 수 있으며 검증됨

데이터베이스에 적용된 조정 작업은 가장 강력한 워크로드의 성능에 대해 완벽하게 안전합니다. 시스템은 사용자 워크로드를 방해하지 않도록 주의하여 설계되었습니다. 자동 조정 권장 사항은 CPU, 데이터 IO, 로그 IO의사용률이 낮은 경우에만 적용됩니다. 시스템 또한 워크로드 성능을 보호하기 위해 일시적으로 자동 조정 작업을 사용하지 않도록 설정할 수도 있습니다. 이 경우 “Disabled by the system”(시스템에서 사용 안 함) 메시지가 Azure Portal 및 sys.database_automatic_tuning_options DMV에 표시됩니다. 자동 튜닝은 사용자 워크로드에 가장 높은 리소스 우선 순위를 부여하도록 설계되었습니다.

자동 조정 메커니즘은 Azure에서 실행되는 수십만 개의 데이터베이스에서 완성도를 높여 더욱 진보되었습니다. 적용된 자동 튜닝 작업이 자동으로 검증되어 워크로드 성능이 눈에 띄게 긍정적으로 개선됩니다. 개선 사항이 없거나 성능이 저하될 가능성이 낮은 경우에는 자동 튜닝으로 변경된 내용이 즉시 되돌려집니다. 기록된 튜닝 기록을 통해 Azure SQL 데이터베이스의 각 데이터베이스에 대한 튜닝 개선 사항을 명확히 추적할 수 있습니다.

자동 튜닝 작동 방식

자동 튜닝 사용

자동 조정 옵션

Azure SQL 데이터베이스 및 Azure SQL Managed Instance에서 사용할 수 있는 자동 튜닝 옵션은 다음과 같습니다.

자동 조정 옵션 설명 단일 데이터베이스 및 풀링된 데이터베이스 지원 인스턴스 데이터베이스 지원
CREATE INDEX 워크로드의 성능을 향상시킬 수 있는 인덱스를 식별하고, 인덱스를 만들며, 쿼리의 성능이 향상되었는지 자동으로 확인합니다. 새 인덱스를 추천할 때 시스템은 데이터베이스에서 사용 가능한 공간을 고려합니다. 인덱스 추가가 최대 데이터 크기에 대해 공간 사용률을 90% 이상으로 증가시키는 것으로 추정되는 경우 인덱스 권장 사항이 생성되지 않습니다. 시스템이 사용률이 낮은 기간을 식별하고 인덱스를 만들기 시작하면 리소스 사용률이 예기치 않게 증가하더라도 이 작업을 일시 중지하거나 취소하지 않습니다. 인덱스 만들기에 실패하면 이후 사용률이 낮은 기간 동안 다시 시도됩니다. 클러스터형 인덱스 또는 힙이 10GB보다 큰 테이블에는 인덱스 권장 사항이 제공되지 않습니다. 아니요
DROP INDEX 사용되지 않은 인덱스(지난 90일 동안) 및 중복 인덱스를 삭제합니다. 기본 키 및 고유 제약 조건을 지원하는 인덱스를 포함한 고유 인덱스는 삭제되지 않습니다. 인덱스 힌트가 있는 쿼리가 워크로드에 있거나 워크로드에서 파티션 전환을 수행할 경우, 이 옵션은 자동으로 비활성화될 수 있습니다. 이 옵션은 프리미엄 및 중요 비즈니스용 서비스 계층에서 사용되지 않은 인덱스는 절대 삭제하지 않지만 중복 인덱스(있는 경우)는 삭제합니다. 아니요
마지막 좋은 계획 강제 실행(자동 계획 수정) 이전의 적절한 계획보다 느린 실행 계획을 사용하여 Azure SQL 쿼리를 식별하고 쿼리가 회귀된 계획 대신 마지막으로 알려진 적절한 계획을 사용하도록 합니다.

SQL Database의 자동 조정

Azure SQL 데이터베이스의 자동 조정은 CREATE INDEX, DROP INDEXFORCE_LAST_GOOD_PLAN 데이터베이스 관리자 권장 사항을 사용하여 데이터베이스 성능을 최적화합니다. 자세한 내용은 Azure 포털의 데이이터베이스 관리자 권장 사항, PowerShellREST API를 참조하세요.

Azure Portal을 사용하여 수동으로 튜닝 권장 사항을 적용하거나 자동 튜닝이 자동으로 튜닝 권장 사항을 적용하도록 할 수 있습니다. 시스템이 튜닝 권장 사항을 자율적으로 적용하도록 하면 워크로드 성능에 긍정적인 이득이 있는지 자동으로 검증하고, 상당한 성능 향상이 감지되지 않거나 성능이 회귀되는 경우 시스템이 자동으로 변경한 내용을 되돌릴 수 있다는 이점이 있습니다. 쿼리 실행 빈도에 따라 유효성 검사 프로세스는 30분에서 72시간까지 걸릴 수 있으며 쿼리 실행 빈도가 낮을수록 더 오래 걸릴 수 있습니다. 유효성 검사 중 어느 시점에서든 회귀가 감지되면 변경 내용이 즉시 되돌아갑니다.

Important

T-SQL을 통해 튜닝 권장 사항을 적용하는 경우 자동 성능 유효성 검사 및 반전 메커니즘을 사용할 수 없습니다. 이러한 방식으로 적용되는 권장 사항은 시스템이 자동으로 철회되기 전에 활성 상태로 유지되며 24~48시간에 대한 튜닝 권장 사항 목록에 표시됩니다. 권장 사항을 더 빠르게 제거하려면 Azure 포털에서 제거할 수 있습니다.

자동 튜닝 옵션은 데이터베이스별로 별도로 설정 또는 해제하거나 서버 수준에서 구성하고 서버에서 설정을 상속하는 모든 데이터베이스에서 적용할 수 있습니다. 기본적으로 새 서버는 자동 튜닝 설정에 대한 Azure 기본값을 상속합니다. Azure 기본값은 다음과 같습니다. FORCE_LAST_GOOD_PLAN = 사용, CREATE_INDEX = 사용 안 함, DROP_INDEX = 사용 안 함.

서버에서 자동 튜닝 옵션을 구성하고 부모 서버에 속한 데이터베이스에 대한 설정을 상속하는 것이 자동 튜닝 구성에 권장되는 방법입니다. 많은 수의 데이터베이스에 대한 자동 튜닝 옵션 관리를 간소화합니다.

자동 조정 알림을 활성화하려면 자동 조정 이메일 알림을 참조하세요.

Azure SQL Managed Instance에 대한 자동 튜닝

SQL Managed Instance에 대한 자동 튜닝은 FORCE LAST GOOD PLAN만 지원합니다. T-SQL을 통한 자동 튜닝 옵션 구성에 대한 자세한 내용은 자동 튜닝에 자동 계획 수정 도입자동 계획 수정을 참조하세요.

사용하도록 설정할 샘플

자세한 내용은 ALTER DATABASE SET 옵션을 참조하세요.

부모 논리 서버에서 기본 구성을 상속하려면 다음 T-SQL을 사용합니다. Azure Portal에서 이는 '상속 위치: 서버'에 대한 옵션을 반영합니다.

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING = INHERIT;

CREATE INDEXDROP INDEX 자동 튜닝 옵션을 사용하도록 설정하려면 다음 T-SQL을 사용합니다.

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

자동 튜닝 기록

Azure SQL 데이터베이스의 경우 자동 튜닝으로 변경한 기록은 21일 동안 유지됩니다. 데이터베이스에 대한 성능 권장 사항 페이지의 Azure Portal에서 보거나 또는 Get-AzSqlDatabaseRecommendedAction cmdlet과 함께 PowerShell을 사용하여 볼 수 있습니다. 더 오래 보존하려면 AutomaticTuning 진단 설정을 활성화하여 기록 데이터를 여러 유형의 대상으로 스트리밍할 수도 있습니다.