다음을 통해 공유


Azure Arc 사용하도록 설정된 SQL Server 구성

적용 대상:SQL Server

각 Azure Arc 사용 가능한 서버에는 해당 서버에 설치된 모든 SQL Server 인스턴스에 적용되는 속성 집합이 포함되어 있습니다. SQL Server 대한 Azure 확장이 컴퓨터에 설치된 후 이러한 속성을 구성할 수 있습니다. 그러나 속성은 SQL Server 인스턴스 또는 인스턴스가 설치된 경우에만 적용됩니다. Azure 포털에서 Azure Arc 사용하도록 설정된 SQL Server 대한 Overview 창은 SQL Server 구성이 특정 인스턴스에 미치는 영향을 반영합니다.

필수 조건

리소스 공급자 등록

리소스 공급자를 등록하려면 다음 방법 중 하나를 사용합니다.

  1. 구독을 선택합니다.
  2. 구독을 선택합니다.
  3. 설정에서 리소스 공급자를 선택합니다.
  4. Microsoft.AzureArcDataMicrosoft.HybridCompute 검색한 다음, 레기스터를 선택합니다.

SQL Server 구성 수정

Azure 포털, Azure PowerShell 또는 Azure CLI 사용하여 특정 Azure Arc 사용 가능한 서버의 구성 설정을 원하는 상태로 변경할 수 있습니다.

단일 명령으로 더 큰 범위(예: 리소스 그룹, 구독 또는 여러 구독)에 대한 SQL Server 구성을 수정하려면 modify-license-type.ps1 PowerShell 스크립트를 사용합니다. 오픈 소스 SQL Server 샘플로 게시되며 단계별 지침을 포함합니다.

다음과 같은 이유로 Azure Cloud Shell 스크립트를 실행하는 것이 좋습니다.

  • 필수 Azure PowerShell 모듈이 미리 설치되어 있습니다.
  • 사용자를 자동으로 인증합니다.

자세한 내용은 Cloud Shell 참조하세요.

Azure 포털에서 SQL Server 호스트를 구성하는 방법에는 두 가지가 있습니다.

  • Azure Arc 사용 가능한 SQL Server Overview 창을 열고 SQL Server 구성 선택합니다.

    Azure 포털에서 Azure Arc로 사용 설정된 SQL Server의 개요 창 스크린샷입니다.

  • Azure Arc 사용 가능한 SQL Server Overview 창을 열고 프로퍼티 선택합니다. SQL Server 구성에서 수정해야 하는 설정을 선택합니다.

    • 라이선스 유형
    • ESU 구독
    • 자동화된 패치

    Azure 포털에서 SQL Server 인스턴스 구성 영역의 스크린샷.

라이선스 유형 속성 설정

라이선스 유형 중 하나를 선택합니다. 설명은 라이선스 유형을 참조하세요.

참고

Linux에서는 수동 인스턴스 검색 및 연결된 사용자 확인을 포함하여 특정 구성 기능을 사용할 수 없습니다. Linux에서 PAYG 청구를 구성하면 HA/DR 역할에 관계없이 모든 인스턴스가 활성으로 청구됩니다. 자세한 내용은 라이선스 및 청구 관리를 참조하세요.

물리적 코어 라이선스 사용

VM(가상 머신)을 구성하고 SQL Server 소프트웨어 또는 SQL 구독 라이선스에 무제한 가상화 혜택을 사용하는 경우 물리적 코어 라이선스 사용 확인란을 선택합니다. 호스트 구성 속성 UsePhysicalCoreLicense이(가) True(으)로 설정됩니다. 이 확인란을 선택하면 물리적 코어(p-core) 라이선스가 우선하며 SQL Server 소프트웨어 비용이 무효화됩니다.

중요한

P 코어 라이선스가 종량제 청구 플랜으로 구성된 경우 선택한 라이선스 유형 값은 종량제여야 합니다. 이 선택은 VM 수준에서 추가 요금이 발생하지는 않지만, P 코어 라이선스가 비활성화되거나 삭제되는 경우 중단 없는 라이선싱 및 청구를 보장합니다.

확장 보안 업데이트 구독

참고

AZURE VM에서 2016년 SQL Server EUS(확장 보안 업데이트)의 가격 구조가 변경되고 있습니다. 자세한 내용은 ESU 가격 책정 블로그를 참조하세요.

개별 호스트에 대한 ESU(확장 보안 업데이트)를 구독할 수 있습니다. ESU 구독의 자격을 얻으려면 호스트는 라이선스 유형종량제 또는 Software Assurance 라이선스로 설정해야 합니다. 이 옵션을 사용하면 호스트가 가상 머신인 경우 vCPU(V 코어)를 사용하여 구독하거나, 호스트가 가상 머신을 사용하지 않고 실행되는 물리적 서버인 경우 물리적 코어를 사용하여 구독할 수 있습니다.

확장 보안 업데이트 구독을 선택합니다. 호스트 구성 속성 EnableExtendedSecurityUpdates이(가) True(으)로 설정됩니다. 저장을 선택하면 구독이 활성화됩니다.

ESU 라이선스 옵션에 대한 자세한 내용은 프로덕션 환경에서 확장 보안 업데이트 구독을 참조하세요.

참고

P 코어 ESU 라이선스와 달리 호스트용 ESU를 구독하는 경우, 각 컴퓨터에 대해 청구 가능한 코어 수를 정의할 필요가 없습니다. Azure SQL Server 확장은 호스트의 크기, 호스트 유형(가상 또는 물리적) 및 SQL Server 버전을 검색합니다. 확장은 이러한 매개 변수에 따라 비용이 청구됩니다.

ESU를 활성화한 후에는 ESU 구독이 취소될 때까지 호스트의 라이선스 유형 값을 라이선스 전용으로 변경할 수 없습니다.

물리적 코어 ESU 라이선스 사용

가상 머신을 구성 중이고 ESU 구독을 활성화할 때 무제한 가상화 혜택을 사용 중인 경우 물리적 코어 ESU 라이선스 사용 확인란을 선택합니다. UseEsuPhysicalCoreLicensetrue로 설정됩니다.

확인란을 선택하면 p-core 라이선스가 우선적으로 적용되고 VM 수준에서 SQL Server ESU 요금이 무효화됩니다.

확장 보안 업데이트 구독 해제

언제든지 Azure Arc 사용하도록 설정된 확장 보안 업데이트를 취소할 수 있습니다. 취소하는 즉시 ESU 요금이 부과되지 않습니다. 확장 보안 업데이트 구독 해제를 선택합니다. 저장을 선택하면 구독이 종료됩니다.

인스턴스 제외 목록에 추가

특정 인스턴스는 Azure 정책 또는 자동 온보딩 프로세스에 의해 구동되는 대규모 온보딩 작업에서 제외할 수 있습니다. 이러한 작업에서 특정 인스턴스를 제외하려면 인스턴스 이름을 인스턴스 건너뛰기 목록에 추가합니다.. 대규모 온보딩 옵션에 대한 자세한 내용은 Azure Arc 활성화된 SQL Server 대한 배포 옵션을 참조하세요.

참고

종량제 청구를 사용하는 SQL Server 인스턴스 또는 연결 서비스 제외할 수 없습니다.

업데이트된 구성 저장

라이선스 유형, ESU 설정 및 제외할 인스턴스를 확인한 후 저장을 선택하여 변경 내용을 적용합니다.

중요한

SQL Server 소프트웨어 또는 SQL Server ESU 구독에 대한 무제한 가상화 혜택은 목록에 있는 공급자 인프라에서 지원되지 않습니다. 나열된 공급자의 VM에서 SQL Server 실행하고 이 옵션을 선택하면 의도는 무시되고 VM의 v 코어에 대한 요금이 청구됩니다.

Azure Policy 사용하여 대규모로 확장 보안 업데이트 구독

사용 가능한 Arc 지원 SQL Server 인스턴스를 확장 보안 업데이트 구독이라는 Azure Policy 정의를 사용하여 여러 Azure Arc 지원 컴퓨터에서 ESU 구독을 활성화할 수 있습니다.

이 정책 정의의 할당을 원하는 범위로 만들면 SQL Server Azure 확장이 설치된 모든 Azure Arc 사용 가능한 컴퓨터에서 ESU를 사용할 수 있습니다. 이러한 머신에 정규화된 SQL Server 인스턴스가 있는 경우 ESU 구독이 즉시 활성화됩니다.

다음 단계에 따라 이 정책을 활성화합니다.

  1. Azure 포털에서 Azure Policy로 이동한 다음 구성을 선택합니다.

  2. 적합한 Arc 지원 SQL Server 인스턴스에 확장 보안 업데이트 구독을 검색하여 정책을 마우스 오른쪽 버튼으로 클릭합니다.

  3. 정책 할당을 선택합니다.

  4. 범위로 구독 및 리소스 그룹(선택 사항)을 선택합니다.

  5. 정책 강제 시행이 사용으로 설정되어 있는지 확인합니다.

  6. 매개 변수 탭에서 확장 보안 업데이트 사용True로 설정합니다.

  7. 수정 탭에서 다음을 수행합니다.

    1. 기존 리소스에 적용할 이 정책에 대한 수정 작업 만들기를 선택합니다. 이 옵션을 선택하지 않으면 새로 만든 리소스에만 정책이 적용됩니다.
    2. 관리 ID 만들기를 선택한 다음, 시스템 할당 관리 ID(권장) 또는 사용자 할당 관리 ID를 선택합니다. SQL Server 배포용 Azure 확장Reader 권한이 있는 경우
    3. ID의 위치를 선택합니다.
  8. 검토 + 생성를 선택합니다.

  9. 만들기를 선택합니다.

SQL Server 구성 쿼리

Azure Resource Graph 사용하여 선택한 범위 내에서 SQL Server 구성 설정을 쿼리할 수 있습니다. 다음 예를 참조하세요.

라이선스 유형별 개수 가져오기

이 예시에서는 라이선스 유형별로 개수를 반환합니다.

resources
| where type == "microsoft.hybridcompute/machines/extensions"
| where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
| extend licenseType = iff(properties.settings.LicenseType == '', 'Configuration needed', properties.settings.LicenseType)
| summarize count() by tostring(licenseType)

라이선스 유형이 정의되지 않은 인스턴스 식별

이 쿼리는 라이선스 유형이 null인 인스턴스 목록을 반환합니다.

resources
| where type == "microsoft.hybridcompute/machines/extensions"
| where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
| where isnull(properties.settings.LicenseType)
| project ['id'], resourceGroup, subscriptionId

각 SQL Server 인스턴스에 대한 구성 세부 정보 나열

이 쿼리는 라이선스 유형, ESU 설정 및 사용 기능을 포함하여 각 인스턴스에 대한 많은 세부 정보를 식별합니다.

resources
| where type == "microsoft.hybridcompute/machines"
| where properties.detectedProperties.mssqldiscovered == "true"
| extend machineIdHasSQLServerDiscovered = id
| project name, machineIdHasSQLServerDiscovered, resourceGroup, subscriptionId
| join kind= leftouter (
    resources
    | where type == "microsoft.hybridcompute/machines/extensions"    | where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
    | extend machineIdHasSQLServerExtensionInstalled = iff(id contains "/extensions/WindowsAgent.SqlServer" or id contains "/extensions/LinuxAgent.SqlServer", substring(id, 0, indexof(id, "/extensions/")), "")
    | project Extension_State = properties.provisioningState,
    License_Type = properties.settings.LicenseType,
    ESU = iff(notnull(properties.settings.enableExtendedSecurityUpdates), iff(properties.settings.enableExtendedSecurityUpdates == true,"enabled","disabled"), ""),
    Extension_Version = properties.instanceView.typeHandlerVersion,
    Excluded_instances = properties.ExcludedSqlInstances,
    Purview = iff(notnull(properties.settings.ExternalPolicyBasedAuthorization),"enabled",""),
    Entra = iff(notnull(properties.settings.AzureAD),"enabled",""),
    BPA = iff(notnull(properties.settings.AssessmentSettings),"enabled",""),
    machineIdHasSQLServerExtensionInstalled)on $left.machineIdHasSQLServerDiscovered == $right.machineIdHasSQLServerExtensionInstalled
| where isnotempty(machineIdHasSQLServerExtensionInstalled)
| project-away machineIdHasSQLServerDiscovered, machineIdHasSQLServerExtensionInstalled

SQL Server 인스턴스가 있는 Azure Arc 지원 서버를 나열합니다.

이 쿼리는 SQL Server 인스턴스가 검색된 Azure Arc 사용 가능한 서버를 식별합니다.

resources
| where type == "microsoft.hybridcompute/machines"
| where properties.detectedProperties.mssqldiscovered == "true"
//| summarize count()

이 쿼리는 SQL Server 인스턴스가 있지만 Azure Arc SQL Server 확장이 설치되지 않은 Azure Arc 사용 가능한 서버를 반환합니다. 이 쿼리는 Windows 서버에만 적용됩니다.

resources
| where type == "microsoft.hybridcompute/machines"
| where properties.detectedProperties.mssqldiscovered == "true"
| project machineIdHasSQLServerDiscovered = id
| join kind= leftouter (
    resources
    | where type == "microsoft.hybridcompute/machines/extensions"
    | where properties.type == "WindowsAgent.SqlServer"
    | project machineIdHasSQLServerExtensionInstalled = substring(id, 0, indexof(id, "/extensions/WindowsAgent.SqlServer")))
on $left.machineIdHasSQLServerDiscovered == $right.machineIdHasSQLServerExtensionInstalled
| where isempty(machineIdHasSQLServerExtensionInstalled)
| project machineIdHasSQLServerDiscoveredButNotTheExtension = machineIdHasSQLServerDiscovered

Azure Resource Graph 쿼리의 더 많은 예제는 Starter Resource Graph 쿼리 샘플 참조하세요.

Azure Arc가 활성화된 ESU에 가입된 SQL 서버 인스턴스 나열

다음 예제에서는 모든 적격 SQL Server 2014(12.x) 인스턴스 및 해당 ESU 구독 상태를 볼 수 있는 방법을 보여 줍니다.

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances'
| extend Version = properties.version
| extend Edition = properties.edition
| extend containerId = tolower(tostring (properties.containerResourceId))
| where Version in ("SQL Server 2014")
| where Edition in ("Enterprise", "Standard")
| where isnotempty(containerId)
| project containerId, SQL_instance = name, Version, Edition
| join kind=inner (
    resources
    | where type == "microsoft.hybridcompute/machines"
    | extend machineId = tolower(tostring(id))
    | project machineId, Machine_name = name
)
on $left.containerId == $right.machineId
| join kind=inner (
    resources
    | where type == "microsoft.hybridcompute/machines/extensions"
    | where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
    | extend machineIdHasSQLServerExtensionInstalled = tolower(iff(id contains "/extensions/WindowsAgent.SqlServer" or id contains "/extensions/LinuxAgent.SqlServer", substring(id, 0, indexof(id, "/extensions/")), ""))
    | project machineIdHasSQLServerExtensionInstalled,
     Extension_State = properties.provisioningState,
     License_Type = properties.settings.LicenseType,
     ESU = iff(notnull(properties.settings.enableExtendedSecurityUpdates), iff(properties.settings.enableExtendedSecurityUpdates == 'true',"ENABLED","disabled"), "disabled"),
     Extension_Version = properties.instanceView.typeHandlerVersion
)
on $left.machineId == $right.machineIdHasSQLServerExtensionInstalled
| project-away machineId, containerId, machineIdHasSQLServerExtensionInstalled

청구 가능한 SQL Server 인스턴스를 호스트하는 Azure Arc 사용 가능한 서버 나열

이 쿼리는 SQL Server 인스턴스를 호스트하고 청구 가능하거나 SQL Server 소프트웨어에 대한 라이선스가 필요한 연결된 머신(가상 또는 물리적)을 식별합니다. 라이선스 유형, ESU 설정, v 코어 또는 p 코어의 크기 및 기타 관련 매개 변수를 포함하여 SQL Server 구성의 세부 정보를 제공합니다.

resources
| where type =~ 'Microsoft.HybridCompute/machines'
| extend status = tostring(properties.status)
| where status =~ 'Connected'
| extend machineID = tolower(id)
| extend VMbyManufacturer = toboolean(iff(
    properties.detectedProperties.manufacturer contains_cs "VMware" or
    properties.detectedProperties.manufacturer contains_cs "QEMU" or
    properties.detectedProperties.manufacturer contains_cs "Amazon EC2" or
    properties.detectedProperties.manufacturer contains_cs "OpenStack" or
    properties.detectedProperties.manufacturer contains_cs "Hetzner" or
    properties.detectedProperties.manufacturer contains_cs "Mission Critical Cloud" or
    properties.detectedProperties.manufacturer contains_cs "DigitalOcean" or
    properties.detectedProperties.manufacturer contains_cs "UpCloud" or
    properties.detectedProperties.manufacturer contains_cs "oVirt" or
    properties.detectedProperties.manufacturer contains_cs "Alibaba" or
    properties.detectedProperties.manufacturer contains_cs "KubeVirt" or
    properties.detectedProperties.manufacturer contains_cs "Parallels" or
    properties.detectedProperties.manufacturer contains_cs "Bochs" or
    properties.detectedProperties.manufacturer contains_cs "XEN", 1, 0))
| extend VMbyModel = toboolean(iff(
    properties.detectedProperties.model contains_cs "OpenStack" or
    properties.detectedProperties.model contains_cs "Droplet" or
    properties.detectedProperties.model contains_cs "oVirt" or
    properties.detectedProperties.model contains_cs "Hypervisor" or
    properties.detectedProperties.model contains_cs "Virtual" or
    properties.detectedProperties.model contains_cs "BHYVE" or
    properties.detectedProperties.model contains_cs "KVM", 1, 0))
| extend GoogleVM = toboolean(iff(
    properties.detectedProperties.manufacturer contains_cs "Google" and
    properties.detectedProperties.model contains_cs "Google Compute Engine", 1, 0))
| extend NutanixVM = toboolean(iff(
    properties.detectedProperties.manufacturer contains_cs "Nutanix" and
    properties.detectedProperties.model contains_cs "AHV", 1, 0))
| extend MicrosoftVM = toboolean(iff(
    properties.detectedProperties.manufacturer contains_cs "Microsoft Corporation" and
    properties.detectedProperties.model contains_cs "Virtual Machine", 1, 0))
| extend billableCores = iff(
    VMbyManufacturer or VMbyModel or GoogleVM or NutanixVM or MicrosoftVM,
    properties.detectedProperties.logicalCoreCount,
    properties.detectedProperties.coreCount)
| join kind=leftouter (
    resources
    | where type =~ 'Microsoft.HybridCompute/machines/extensions'
    | where name == 'WindowsAgent.SqlServer' or name == 'LinuxAgent.SqlServer'
    | extend extMachineID = substring(id, 0, indexof(id, '/extensions'))
    | extend extensionId = id
) on $left.id == $right.extMachineID
| join kind=inner (
    resources
    | where type =~ 'microsoft.azurearcdata/sqlserverinstances'
    | extend sqlVersion = tostring(properties.version)
    | extend sqlEdition = tostring(properties.edition)
    | extend is_Enterprise = toint(iff(sqlEdition == "Enterprise", 1, 0))
    | extend sqlStatus = tostring(properties.status)
    | extend licenseType = tostring(properties.licenseType)
    | where sqlEdition in ('Enterprise', 'Standard')
    | where licenseType !~ 'HADR'
    | extend ArcServer = tolower(tostring(properties.containerResourceId))
    | order by sqlEdition
) on $left.machineID == $right.ArcServer
| where isnotnull(extensionId)
| summarize Edition = iff(sum(is_Enterprise) > 0, "Enterprise", "Standard") by machineID, name, resourceGroup, subscriptionId, Status = tostring(properties.status), Model = tostring(properties.detectedProperties.model), Manufacturer = tostring(properties.detectedProperties.manufacturer), License_Type = tostring(properties1.settings.LicenseType), ESU = iff(notnull(properties1.settings.enableExtendedSecurityUpdates), iff(properties1.settings.enableExtendedSecurityUpdates == true, "enabled", "not enabled"), "not enabled"), OS = tostring(properties.osName), Uses_UV = tostring(properties1.settings.UsePhysicalCoreLicense.IsApplied), Cores = tostring(billableCores), Version = sqlVersion, HostType = iff(VMbyManufacturer or VMbyModel or GoogleVM or NutanixVM or MicrosoftVM, "VM", "Physical")
| summarize by name, subscriptionId, resourceGroup, Model, Manufacturer, HostType, License_Type, ESU, OS, Cores, Status
| project Name = name, Model, Manufacturer, HostType, OperatingSystem = OS, Status, HostLicenseType = License_Type, ESU, BillableCores = Cores, SubscriptionID = subscriptionId, ResourceGroup = resourceGroup
| order by Name asc

SQL Server 대한 무제한 가상화 혜택 관리

무제한 가상화를 사용하도록 설정하기 위해 Azure Arc 사용하도록 설정된 SQL Server 특수 리소스 유형인 SQLServerLicense 지원합니다. 이 리소스를 사용하여 설치된 SQL Server 인스턴스를 사용하여 많은 가상 머신에 라이선스를 부여할 수 있습니다. 라이선스 모델에 대한 자세한 내용은 SQL Server 인스턴스를 무제한 가상화로 라이선스하는 방법 참조하세요.

필수 조건

역할 기반 액세스 제어(RBAC) 역할에는 다음 권한이 포함됩니다.

  • Microsoft.AzureArcData/SqlLicenses/read
  • Microsoft.AzureArcData/SqlLicenses/write
  • Microsoft.Management/managementGroups/read
  • Microsoft.Resources/subscriptions/read
  • Microsoft.Resources/subscriptions/resourceGroups/read
  • Microsoft.Support/supporttickets/write

SQL Server 라이선스 만들기

SQL Server 라이선스 리소스를 만들려면 다음 방법 중 하나를 사용합니다.

  1. Azure Arc 선택합니다.
  2. 데이타 서비스에서 SQL Server 라이선스 선택합니다.
  3. +만들기를 선택합니다.
  4. SQL Server 물리적 코어 라이선스 선택합니다.
  5. 생성 마법사를 완료하십시오.

SQL Server 라이선스 리소스 업데이트

SQL Server 라이선스 속성을 변경하려면(예: 나중에 활성화) 다음 방법 중 하나를 사용합니다.

  1. Azure Arc 선택합니다.
  2. 데이타 서비스에서 SQL Server 라이선스 선택합니다.
  3. 라이선스를 선택합니다.
  4. 관리에서 구성을 선택합니다.
  5. 변경하고 적용을 선택합니다.

P 코어 라이선스 범위에서 리소스 관리

다음 단계를 사용하여 특정 SQL Server 물리적 코어 라이선스의 범위에서 리소스를 관리할 수 있습니다.

  1. Azure Arc 선택합니다.
  2. 데이타 서비스에서 SQL Server 라이선스 선택합니다.
  3. 라이선스를 선택합니다.
  4. 관리에서 범위 내 리소스를 선택합니다.

특정 리소스가 이 라이선스를 사용하도록 구성되지 않은 경우(물리적 코어 라이선스 적용 열에 아니요가 표시됨), 다음을 변경할 수 있습니다.

  1. 목록에서 특정 리소스를 선택합니다.
  2. 라이선스 적용을 선택합니다.
  3. 고지 사항을 읽고 확인을 선택합니다.

SQL Server 라이선스의 범위에서 Azure Arc 사용 가능한 서버를 나열합니다.

이 쿼리는 라이선스 범위의 모든 Azure Arc 사용 가능한 서버와 각 서버의 관련 속성을 나열합니다.

resources
        | where type =~ 'Microsoft.HybridCompute/machines'
        | where ('${scopeType}'!= 'Subscription' or subscriptionId == '${subscription}')
        | where ('${scopeType}' != 'ResourceGroup' or (resourceGroup == '${resourceGroup.toLowerCase()}' and subscriptionId == '${subscription}'))
        | extend status = tostring(properties.status)
        | where status =~ 'Connected'
        | join kind = leftouter
        (
        resources
        | where type =~ 'Microsoft.HybridCompute/machines/extensions'
        | where name == 'WindowsAgent.SqlServer' or name == 'LinuxAgent.SqlServer'
        | extend machineId = substring(id, 0, indexof(id, '/extensions'))
        | extend extensionId = id
        )
        on $left.id == $right.machineId
        | where isnotnull(extensionId)
        | project id, name, properties.status, resourceGroup, subscriptionId, Model = properties.detectedProperties.model, Manufacturer = properties.detectedProperties.manufacturer, kind, OSE = properties.osName, License_applied = properties1.settings.UsePhysicalCoreLicense.IsApplied
        |order by name asc

SQL Server ESU 구독에 대한 무제한 가상화 혜택 관리

ESU 구독에 대해 무제한 가상화를 사용하도록 설정하려면 Azure Arc 사용하도록 설정된 SQL Server 특수 리소스 종류인 SqlServerEsuLicenses 지원합니다. 이 리소스를 사용하여 지원되지 않는 SQL Server 인스턴스를 실행하는 가상 머신 수가 무제한인 물리적 호스트 집합에 대해 ESU 구독을 사용하도록 설정할 수 있습니다. 라이선스 모델에 대한 자세한 내용은 무제한 가상화가 있는 물리적 코어를 사용하여 SQL Server ESU 구독 참조하세요.

필수 조건

RBAC 역할에는 다음 권한이 포함됩니다.

  • Microsoft.AzureArcData/SqlLicenses/read
  • Microsoft.AzureArcData/SqlLicenses/write
  • Microsoft.Management/managementGroups/read
  • Microsoft.Resources/subscriptions/read
  • Microsoft.Resources/subscriptions/resourceGroups/read
  • Microsoft.Support/supporttickets/write

SQL Server ESU 라이선스 리소스 만들기

SQL Server ESU 라이선스 리소스를 만들려면 다음 방법 중 하나를 사용합니다.

  1. Azure Arc 선택합니다.
  2. 데이타 서비스에서 SQL Server ESU 라이선스 선택합니다.
  3. +만들기를 선택합니다.
  4. 생성 마법사를 완료하십시오.

SQL Server ESU 라이선스 리소스 업데이트

SQL Server ESU 라이선스 속성(예: 구독 종료)을 변경하려면 다음 방법 중 하나를 사용합니다.

  1. Azure Arc 선택합니다.
  2. 데이타 서비스에서 SQL Server ESU 라이선스 선택합니다.
  3. 라이선스를 선택합니다.
  4. 관리에서 구성을 선택합니다.
  5. 변경하고 적용을 선택합니다.

ESU P 코어 라이선스 범위에서 리소스 관리

다음 단계를 사용하여 특정 SQL Server ESU 라이선스 범위에서 리소스를 관리할 수 있습니다.

  1. Azure Arc 선택합니다.
  2. 데이타 서비스에서 SQL Server ESU 라이선스 선택합니다.
  3. 라이선스를 선택합니다.
  4. 관리에서 범위 내 리소스를 선택합니다.

이 보기는 관리 중인 p-core ESU 라이선스 버전과 일치하는 버전으로 서비스 외 SQL Server 인스턴스를 호스트하는 범위의 연결된 컴퓨터만 보여줍니다. 특정 리소스가 이 라이선스를 사용하도록 구성되지 않은 경우(물리적 코어 라이선스 적용 열에 아니요가 표시됨) 다음을 변경할 수 있습니다.

  1. 목록에서 특정 리소스를 선택합니다.
  2. 구독하려면 ESU 구독을 선택하거나 구독을 취소하려면 ESU 구독 취소를 선택합니다.
  3. 고지 사항을 읽고 확인을 선택합니다.

SQL Server ESU 라이선스의 범위에서 Azure Arc 사용 가능한 서버를 나열합니다.

이 쿼리는 라이선스 범위의 모든 Azure Arc 사용 가능한 서버와 각 서버의 관련 속성을 나열합니다.

resources
        | where type =~ 'Microsoft.HybridCompute/machines'
        | where ('${scopeType}'!= 'Subscription' or subscriptionId == '${subscription}')
        | where ('${scopeType}' != 'ResourceGroup' or (resourceGroup == '${resourceGroup.toLowerCase()}' and subscriptionId == '${subscription}'))
        | extend status = tostring(properties.status)
        | where status =~ 'Connected'
        | join kind = leftouter
        (
        resources
        | where type =~ 'Microsoft.HybridCompute/machines/extensions'
        | where name == 'WindowsAgent.SqlServer' or name == 'LinuxAgent.SqlServer'
        | extend machineId = substring(id, 0, indexof(id, '/extensions'))
        | extend extensionId = id
        )
        on $left.id == $right.machineId
        | where isnotnull(extensionId)
        | project id, name, properties.status, resourceGroup, subscriptionId, Model = properties.detectedProperties.model, Manufacturer = properties.detectedProperties.manufacturer, kind, OSE = properties.osName, License_applied = properties1.settings.UseEsuPhysicalCoreLicense.IsApplied
        |order by name asc

확장을 업그레이드하십시오

현재 확장 릴리스의 버전을 확인하려면 릴리스 정보를 검토합니다.

확장 버전을 확인하려면 다음 PowerShell 명령을 사용합니다.

azcmagent version

확장 업그레이드를 간소화하려면 자동 업데이트를 사용하도록 설정해야 합니다. Azure 포털, PowerShell 및 Azure CLI 사용하여 확장을 수동으로 업그레이드할 수도 있습니다.

Azure 포털에서 확장을 업그레이드하려면 다음 단계를 수행합니다.

  1. Azure 포털에서 Machines - Azure Arc 이동합니다.

  2. SQL Server 설치된 컴퓨터의 이름을 선택하여 서버에 대한 Overview 창을 엽니다.

  3. 설정에서 확장을 선택합니다.

  4. 확장 확인란을 WindowsAgent.SqlServer 선택한 다음 탐색 메뉴에서 업데이트를 선택합니다.

    Azure 포털에서 Azure Arc 창의 '확장' 탭에 대한 스크린샷입니다. 업데이트가 강조 표시되어 있습니다.

  5. 확장 프로그램 업데이트 확인 대화 상자에서 예를 선택하여 업그레이드를 완료합니다.

SQL Server 대한 Azure 확장을 업그레이드하는 방법에 대한 자세한 내용은 업그레이드 확장 참조하세요.