다음을 통해 공유


Azure Arc 지원 SQL Server 구성

적용 대상: SQL Server

각 Azure Arc 지원 서버에는 해당 서버에 설치된 모든 SQL Server 인스턴스에 적용되는 속성 세트가 포함되어 있습니다. SQL Server용 Azure 확장이 컴퓨터에 설치된 후 이러한 속성을 구성할 수 있습니다. 그러나 이 속성은 하나 이상의 SQL Server 인스턴스가 설치된 경우에만 적용됩니다. Azure Portal의 Azure Arc 지원 SQL Server 개요에서 SQL Server 구성이 특정 인스턴스에 미치는 영향을 반영합니다.

필수 조건

리소스 공급자 등록

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

  1. 구독을 선택합니다.
  2. 구독 선택
  3. 설정 아래에서 리소스 공급자를 선택합니다.
  4. Microsoft.AzureArcDataMicrosoft.HybridCompute를 검색하고 등록을 선택합니다

SQL Server 구성 수정

Azure Portal, PowerShell 또는 CLI를 사용하여 특정 Arc 지원 서버의 구성 설정을 모두 또는 일부 원하는 상태로 변경할 수 있습니다.

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

다음과 같은 이유로 Azure Cloud Shell에서 스크립트를 실행합니다.

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

자세한 내용은 Cloud Shell을 사용하여 스크립트 실행을 참조하세요.

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

  • Arc 지원 서버 개요 페이지를 열고 표시된 대로 SQL Server 구성을 선택합니다.

    Azure Portal의 Azure Arc 지원 SQL Server 스크린샷.

    또는

  • Arc 지원 SQL Server 개요 페이지를 열고 속성을 선택합니다. SQL Server 구성에서 수정해야 하는 설정을 선택합니다.

    • 라이선스 유형
    • ESU 구독
    • 업데이트 자동화

    Azure Portal SQL Server 인스턴스 구성 스크린샷.

라이선스 유형 속성 설정

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

물리적 코어 라이선스 사용

가상 머신을 구성하고 SQL Server 소프트웨어 라이선스 또는 SQL 구독에 대한 무제한 가상화 혜택을 사용하는 경우 이 확인란을 선택합니다. 호스트 구성 속성 UsePhysicalCoreLicenseTrue로 설정됩니다. 이 옵션을 선택하면 P 코어 라이선스가 우선하고 SQL Server 소프트웨어 비용이 무효화됩니다.

Important

물리적 코어 라이선스가 종량제 청구 플랜으로 구성된 경우 선택한 라이선스 유형종량제로 설정해야 합니다. 그러면 VM 수준에서 추가 요금이 트리거되지 않지만 p 코어 라이선스가 비활성화되거나 삭제될 때 라이선싱 및 청구가 중단되지 않습니다.

확장 보안 업데이트 구독

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

확장 보안 업데이트 구독을 선택합니다. 호스트 구성 속성 EnabelExtendedSecurityUpdatesTrue로 설정됩니다. 저장을 클릭하면 구독이 활성화됩니다.

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

참고 항목

  • p 코어 ESU 라이선스와 달리 호스트에 대해 ESU를 구독하는 경우 각 머신에 대한 청구 가능 코어 수를 정의할 필요가 없습니다. SQL Server용 Azure 확장은 이러한 매개 변수에 따라 호스트의 크기 및 유형(가상 또는 물리적), SQL Server 버전 및 청구서를 검색합니다.
  • ESU를 사용한 이후에는 ESU 구독이 취소될 때까지 호스트의 라이선스 유형라이선스 전용으로 변경할 수 없습니다.

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

가상 머신을 구성하고, ESU 구독에 대한 무제한 가상화 혜택을 사용하는 경우 이 확인란을 선택합니다. UseEsuPhysicalCoreLicensetrue로 설정됩니다. 이 옵션을 선택하면 P 코어 라이선스가 우선하고 VM 수준에서 SQL Server ESU 요금이 무효화됩니다.

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

언제든지 Azure Arc에서 가능한 확장 보안 업데이트를 취소할 수 있습니다. 취소하는 즉시 ESU 요금이 부과되지 않습니다. 확장 보안 업데이트 구독 해제를 선택합니다. 저장을 클릭하면 구독이 종료됩니다.

인스턴스 제외 목록에 추가

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

주의

PAYG(종량제)를 사용하는 SQL Server 인스턴스는 제외할 수 없습니다.

업데이트된 구성 저장

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

Important

SQL Server 소프트웨어 또는 SQL Server ESU 구독에 대한 무제한 가상화 혜택은 나열된 공급자의 인프라에서 지원되지 않습니다. 나열된 공급자의 VM에서 SQL Server를 실행하고 이 옵션을 선택하는 경우 사용자의 의도는 무시되며 VM의 V 코어에 대한 요금이 청구됩니다. 자세한 내용은 나열된 공급자를 참조하세요.

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

적합한 Arc 지원 SQL Server 인스턴스에 확장 보안 업데이트 구독이라는 Azure 정책 정의를 사용하여 여러 Arc 지원 컴퓨터에서 ESU 구독을 활성화할 수 있습니다. 선택한 범위에 이 정책 정의를 할당하면 SQL Server용 Azure 확장이 설치된 모든 Arc 지원 컴퓨터에서 ESU를 사용하도록 설정할 수 있습니다. 이러한 컴퓨터에 정규화된 SQL Server 인스턴스가 있으면 ESU 구독이 즉시 활성화됩니다.

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

  1. Azure Portal에서 Azure Policy로 이동하여 정의를 선택합니다.
  2. 적합한 Arc 지원 SQL Server 인스턴스에 확장 보안 업데이트 구독을 검색하여 정책을 마우스 오른쪽 단추로 클릭합니다.
  3. 정책 할당을 선택합니다.
  4. 범위로 구독 및 리소스 그룹(선택 사항)을 선택합니다.
  5. 정책 적용을 사용으로 설정합니다.
  6. 매개 변수 탭에서 확장 보안 업데이트 사용True로 설정합니다.
  7. 수정 탭에서 다음을 수행합니다.
    1. 기존 리소스에 적용할 이 정책에 대한 수정 작업 만들기를 선택합니다. 선택하지 않으면 새로 만든 리소스에만 정책이 적용됩니다.
    2. 관리 ID 만들기를 선택하고 시스템이 할당한 관리 ID를 선택하거나(권장), SQL Server 배포용 Azure 확장reader 권한이 있는 사용자가 할당한 관리 ID를 선택합니다.
    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 인스턴스가 있는 Arc 지원 서버 나열

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

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

이 쿼리는 SQL Server 인스턴스가 있지만 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 쿼리에 대한 자세한 예제는 시작 Resource Graph 쿼리 샘플을 참조하세요.

ESU를 구독하는 Arc 지원 SQL Server 인스턴스 나열

다음 예제에서는 모든 적격 SQL Server 2012(11.x) 또는 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 ("2012", "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"), ""), Extension_Version = properties.instanceView.typeHandlerVersion
)
on $left.machineId == $right.machineIdHasSQLServerExtensionInstalled
| project-away machineId, containerId, machineIdHasSQLServerExtensionInstalled

청구 가능한 SQL Server 인스턴스를 호스트하는 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 in (
        "VMware",
        "QEMU",
        "Amazon EC2",
        "OpenStack",
        "Hetzner",
        "Mission Critical Cloud",
        "DigitalOcean",
        "UpCloud",
        "oVirt",
        "Alibaba",
        "KubeVirt",
        "Parallels",
        "XEN"
    ), 1, 0))
| extend VMbyModel = toboolean(iff(properties.detectedProperties.model in (
        "OpenStack",
        "Droplet",
        "oVirt",
        "Hypervisor",
        "Virtual",
        "BHYVE",
        "KVM"
    ), 1, 0))
| extend GoogleVM = toboolean(iff((properties.detectedProperties.manufacturer =~ "Google") and (properties.detectedProperties.model =~ "Google Compute Engine"), 1, 0))
| extend NutanixVM = toboolean(iff((properties.detectedProperties.manufacturer =~ "Nutanix") and (properties.detectedProperties.model =~ "AHV"), 1, 0))
| extend MicrosoftVM = toboolean(iff((properties.detectedProperties.manufacturer =~ "Microsoft Corporation") and (properties.detectedProperties.model =~ "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 // Join Extension
        (
        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       // Join SQL Arc
            (
            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'
            | where sqlStatus =~ "Connected"
            | 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
            , Model = tostring(properties.detectedProperties.model)
            , Manufacturer = tostring(properties.detectedProperties.manufacturer)
            , License_Type = tostring(properties1.settings.LicenseType)
            , OS = tostring(properties.osName)
            , Uses_UV = tostring(properties1.settings.UsePhysicalCoreLicense.IsApplied)
            , Cores = tostring(billableCores)
            , Version = sqlVersion
            | project-away machineID
            | order by Edition, 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. Data Services에서 SQL Server 라이선스 선택
  3. +만들기를 선택합니다.
  4. SQL Server 물리적 코어 라이선스 선택
  5. 만들기 마법사 완료

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

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

  1. Azure Arc 선택
  2. Data Services에서 SQL Server 라이선스 선택
  3. 문제의 라이선스 선택
  4. 관리에서 구성 선택
  5. 변경하고 적용 선택

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

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

  1. Azure Arc 선택
  2. Data Services에서 SQL Server 라이선스 선택
  3. 문제의 라이선스 선택
  4. 관리범위에서 리소스 선택

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

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

SQL Server 라이선스 범위에서 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는 특수 리소스 유형인 SQLServerEsuLicense를 지원합니다. 이 리소스를 사용하면 지원이 종료된 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. Data Services에서 SQL Server ESU 라이선스 선택
  3. +만들기 선택
  4. 만들기 마법사 완료

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

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

  1. Azure Arc 선택
  2. Data Services에서 SQL Server ESU 라이선스 선택
  3. 문제의 라이선스 선택
  4. 관리에서 구성 선택
  5. 변경하고 적용 선택

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

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

  1. Azure Arc 선택
  2. Data Services에서 SQL Server ESU 라이선스 선택
  3. 문제의 라이선스 선택
  4. 관리범위에서 리소스 선택

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

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

SQL Server ESU 라이선스 범위에서 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