Azure VM의 SQL Server에 대한 SQL 모범 사례 평가

적용 대상:Azure VM 기반 SQL Server

Azure Portal의 SQL 모범 사례 평가 기능은 가능한 성능 문제를 식별하고 Azure Virtual Machines(VM)의 SQL Server가 SQL 평가 API에서 제공하는 다양한 규칙 집합을 사용하여 모범 사례를 따르도록 구성되어 있는지 평가합니다.

자세히 알아보려면 SQL 모범 사례 평가에 대한 다음 동영상을 시청합니다.

개요

SQL 모범 사례 평가 기능이 활성화되면 SQL Server 인스턴스 및 데이터베이스를 스캔하여 인덱스, 사용되지 않는 기능, 활성화 또는 누락된 추적 플래그, 통계 등과 같은 항목에 대한 권장 사항을 제공합니다. 권장 사항은 Azure PortalSQL VM 관리 페이지에 표시됩니다.

평가 결과는 Azure Monitor 에이전트(AMA)를 사용하여 Log Analytics 작업 영역에 업로드됩니다. AMA 익스텐션은 아직 설치되지 않은 경우 SQL Server VM에 설치되며 DCE, DCR 등의 AMA 리소스가 만들어지고 지정된 Log Analytics 작업 영역에 연결됩니다.

평가 런타임은 환경(데이터베이스, 개체 수 등)에 따라 달라지며, 기간은 몇 분에서 최대 1시간까지입니다. 마찬가지로 평가 결과의 크기도 환경에 따라 달라집니다. 평가는 인스턴스 및 해당 인스턴스의 모든 데이터베이스에 대해 실행됩니다. 테스트에서 평가 실행이 컴퓨터에 최대 5~10%의 CPU 영향을 미칠 수 있음을 관찰했습니다. 이 테스트에서 평가는 TPC-C와 같은 애플리케이션이 SQL Server에 대해 실행되는 동안 수행되었습니다.

필수 조건

SQL 모범 사례 평가 기능을 사용하려면 다음 필수 조건이 있어야 합니다.

Enable

Azure Portal 또는 Azure CLI를 사용하여 SQL 모범 사례 평가를 사용하도록 설정할 수 있습니다.

Azure Portal을 사용하여 SQL 모범 사례 평가를 사용하도록 설정할 수 있습니다.

  1. Azure Portal에 로그인한 후 SQL Server VM 리소스로 이동합니다.
  2. 설정에서 SQL 모범 사례 평가를 선택합니다.
  3. SQL 모범 사례 평가 사용 또는 구성을 선택하여 구성 페이지로 이동합니다.
  4. SQL 모범 사례 평가 사용 확인란을 선택하고 다음을 제공합니다.
    1. 평가가 업로드될 Log Analytics 작업 영역 드롭다운에서 구독의 기존 작업 영역을 선택합니다.
    2. Azure Monitor 에이전트 리소스 DCEDCR을 만들 리소스 그룹을 선택합니다. 여러 SQL Server VM에서 동일한 리소스 그룹을 지정하면 이러한 리소스가 다시 사용됩니다.
    3. 규칙 예약 수요에 따라 평가를 실행하거나 일정에 따라 자동으로 실행하도록 선택할 수 있습니다. 일정을 선택하는 경우 빈도(매주 또는 매월), 요일, 되풀이(1~6주마다), 평가를 시작해야 하는 시간(로컬에서 VM 시간)을 제공합니다.
  5. 적용을 선택하여 변경 내용을 저장하고 Azure Monitor 에이전트가 아직 배포되지 않은 경우 SQL Server VM에 배포합니다. SQL 모범 사례 평가 기능이 SQL Server VM에 준비되면 Azure Portal 알림이 알려줍니다.

SQL Server VM 평가

평가는 다음을 실행합니다.

  • 일정에 따라
  • 주문형

예약된 평가 실행

Azure Portal 및 Azure CLI를 사용하여 일정에 따라 평가를 구성할 수 있습니다.

구성 창에서 일정을 설정하면 지정된 날짜 및 시간에서 평가가 자동으로 실행됩니다. 구성을 선택하고 평가 일정을 수정합니다. 새 일정을 제공하면 이전 일정을 덮어씁니다.

주문형 평가 실행

Azure Portal 또는 Azure CLI를 통해 SQL Server VM에 SQL 모범 사례 평가 기능을 사용하도록 설정한 후에는 필요에 따라 평가를 실행할 수 있습니다.

Azure Portal 사용하여 주문형 평가를 실행하려면 Azure Portal SQL Server VM 리소스 페이지의 SQL 모범 사례 평가 창에서 평가 실행을 선택합니다.

결과 보기

SQL 모범 사례 평가 페이지의 평가 결과 섹션에는 가장 최근의 평가 실행 목록이 표시됩니다. 각 행은 실행의 시작 시간 및 상태(예약, 실행, 업로드 결과, 완료 또는 실패)를 표시됩니다. 각 평가 실행에는 인스턴스를 평가하고 결과를 Log Analytics 작업 영역으로 업로드하는 두 가지 부분이 있습니다. 상태 필드는 두 부분을 모두 다 포함합니다. 평가 결과는 Azure 통합 문서에 표시됩니다.

다음 세 가지 방법으로 평가 결과 Azure 통합 문서에 액세스합니다.

  • SQL 모범 사례 평가 페이지에서 성공적인 최신 평가 보기 단추를 선택합니다.
  • SQL 모범 사례 평가 페이지의 평가 결과 섹션에서 완료된 실행을 선택합니다.
  • SQL VM 리소스 페이지의 개요 페이지에 표시된 상위 10개 권장 사항에서 평가 결과 보기를 선택합니다.

통합 문서가 열리면 드롭다운을 사용하여 이전 실행을 선택할 수 있습니다. 결과 페이지를 사용하여 단일 실행의 결과를 보거나 추세 페이지를 사용하여 기록 추세를 검토할 수 있습니다.

결과 페이지

결과 페이지는 모두, 새, 확인됨 탭을 사용하여 권장 사항을 구성합니다. 이러한 탭을 사용하여 현재 실행의 모든 권장 사항, 모든 새 권장 사항(이전 실행의 델타) 또는 이전 실행에서 확인된 권장 사항을 볼 수 있습니다. 탭을 사용하면 실행 간의 진행률을 추적할 수 있습니다. 인사이트 탭은 가장 되풀이되는 문제 및 가장 많은 문제가 있는 데이터베이스를 식별합니다. 이러한 기능을 사용하여 노력을 집중할 위치를 결정할 수 있습니다.

그래프 그룹 평가 결과는 심각도(높음, 중간, 낮음 및 정보)의 다양한 범주로 나뉩니다. 각 범주를 선택하여 권장 사항 목록을 보거나 검색 상자에서 핵심 구를 검색합니다. 가장 심각한 권장 사항으로 시작하고 목록을 아래로 이동하는 것이 가장 최선입니다.

첫 번째 그리드는 각 권장 사항과 환경에서 해당 문제가 발생한 인스턴스 수를 보여 줍니다. 첫 번째 그리드에서 행을 선택하면 두 번째 그리드에 해당 특정 권장 사항에 대한 모든 인스턴스가 나열됩니다. 첫 번째 그리드에 선택 항목이 없으면 두 번째 그리드에 모든 권장 사항이 표시됩니다. 잠재적으로 이는 큰 목록이 될 수 있습니다. 그리드 위의 드롭다운(이름, 심각도, 태그, 확인 ID)을 사용하여 결과를 필터링할 수 있습니다. 각 그리드의 오른쪽 상단에 있는 작은 아이콘을 선택하여 Excel로 내보내기로그 보기에서 마지막 실행 쿼리 열기 옵션을 사용할 수도 있습니다.

그래프의 전달됨 섹션에서는 시스템이 이미 따르는 권장 사항을 식별합니다.

메시지 필드(예: 긴 설명 및 관련 온라인 리소스)를 선택하여 각 권장 사항의 자세한 정보를 봅니다.

추세 페이지에는 모든 문제, 새 문제 및 해결된 문제의 시간 경과에 따른 변경 내용을 보여주는 세 가지 차트가 있습니다. 차트를 통해 진행 상황을 확인할 수 있습니다. 해결된 문제의 수가 올라가는 동안 권장 사항 수가 내려가는 것이 가장 이상적입니다. 범례는 각 심각도 수준에 대한 평균 문제 수를 보여줍니다. 막대 위에 마우스를 대고 각 실행에 대한 개별 베일을 볼 수 있습니다.

단일 일에 여러 실행이 있는 경우 최신 실행만 추세 페이지의 그래프에 포함됩니다.

구독의 모든 VM에 사용하도록 설정

Azure CLI를 사용하여 구독 내의 모든 SQL Server VM에서 SQL 모범 사례 평가 기능을 사용하도록 설정할 수 있습니다. 이렇게 하려면 다음 예제 스크립트를 사용합니다.

# This script is formatted for use with Az CLI on Windows PowerShell. You may need to update the script for use with Az CLI on other shells.
# This script enables SQL best practices assessment feature for all SQL Servers on Azure VMs in a given subscription. It configures the VMs to use a Log Analytics workspace to upload assessment results. It sets a schedule to start an assessment run every Sunday at 11pm (local VM time).
# Please note that if a VM is already associated with another Log Analytics workspace, it will give an error.
 
$subscriptionId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
# Resource Group where the Log Analytics workspace belongs
$myWsRg = 'myWsRg'
# Log Analytics workspace where assessment results will be stored
$myWsName = 'myWsName'
# Resource Group where the Azure Monitor Agent resources will be created
$myAgentRg = 'myAgentRg'
 
# Ensure in correct subscription
az account set --subscription $subscriptionId
 
$sqlvms = az sql vm list | ConvertFrom-Json 
 
foreach ($sqlvm in $sqlvms)
{
  echo "Configuring feature on $($sqlvm.id)"
  az sql vm update --assessment-weekly-interval 1 --assessment-day-of-week Sunday --assessment-start-time-local "23:00" --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name
  
  # Alternatively you can use this command to only enable the feature without setting a schedule
  # az sql vm update --enable-assessment true --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name  
 
  # You can use this command to start an on-demand assessment on each VM
  # az sql vm start-assessment -g $sqlvm.resourceGroup -n $sqlvm.name
}

알려진 문제

SQL 모범 사례 평가를 사용할 때 다음과 같은 알려진 문제가 발생할 수 있습니다.

Microsoft Monitoring Agent(MMA)에서 Azure Monitor 에이전트(AMA)로 마이그레이션

이전에는 SQL 모범 사례 평가 기능이 MMA를 사용하여 Log Analytics 작업 영역에 평가를 업로드했습니다. MMA는 사용 중지됩니다. 이 기능은 이제 AMA를 사용하여 평가를 업로드합니다. 과거에 MMA를 사용하여 SQL 모범 사례 평가를 사용하도록 설정한 경우 먼저 해당 기능을 사용 중지했다가 다시 사용하도록 설정하여 AMA로 쉽게 마이그레이션할 수 있습니다. 동일한 Log Analytics 작업 영역을 지정하는 한 사용 중지/사용 작업 후에도 기존 결과를 계속 사용할 수 있습니다. 다른 서비스에서 사용하지 않는 경우 이 시점에 다음 지침에 따라 Microsoft Monitoring Agent를 제거할 수 있습니다. 마이그레이션하기 전에 여기에 링크된 표를 사용하여 SQL Server VM이 있는 하위 지역에서 Azure Monitor Log Analytics가 지원되는지 확인하세요.

평가 활성화 또는 실행에 대한 배포 실패

실패한 작업과 관련된 오류 메시지를 보려면 SQL VM이 포함된 리소스 그룹의 배포 기록을 참조하세요.

실패한 평가

어떤 이유로 평가 또는 결과 업로드에 실패한 경우 해당 실행 상태에 실패가 표시됩니다. 상태를 클릭하면 오류에 대한 세부 정보와 문제를 해결할 수 있는 방법을 볼 수 있는 컨텍스트 창이 열립니다.

여기에 설명된 대로 Windows에서 TLS 1.0 이상을 적용하고 이전 SSL 프로토콜을 사용하지 않도록 설정한 경우 .NET Framework가 강력한 암호화를 사용하도록 구성되었는지도 확인해야 합니다.

다음 단계