Azure Arc 지원 SQL Server 구성
적용 대상: SQL Server
각 Azure Arc 지원 서버에는 해당 서버에 설치된 모든 SQL Server 인스턴스에 적용되는 속성 세트가 포함되어 있습니다. SQL Server용 Azure 확장 프로그램이 컴퓨터에 설치된 후 이러한 속성을 구성할 수 있습니다. 그러나 이 속성은 하나 이상의 SQL Server 인스턴스가 설치된 경우에만 적용됩니다. Azure Portal의 Azure Arc 지원 SQL Server에 대한 개요 창에는 SQL Server 구성이 특정 인스턴스에 미치는 영향이 반영됩니다.
필수 조건
조직에서 만든 Azure 구독 중 하나 이상에 참가자 역할이 있습니다. 새 청구 구독을 만드는 방법을 알아봅니다.
SQL Server 인스턴스가 등록될 리소스 그룹에 대한 참가자 역할에 속합니다. 자세한 내용은 관리되는 Azure 리소스 그룹을 참조하세요.
Microsoft.AzureArcData
및Microsoft.HybridCompute
리소스 공급자는 SQL Server 종량제 청구에 사용하는 각 구독에 등록됩니다.
리소스 공급자 등록
리소스 공급자를 등록하려면 다음 방법 중 하나를 사용합니다.
- 구독을 선택합니다.
- 구독을 선택합니다.
- 설정에서 리소스 공급자를 선택합니다.
Microsoft.AzureArcData
및Microsoft.HybridCompute
을(를) 검색한 다음 등록을 선택합니다.
SQL Server 구성 수정
Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 특정 Azure Arc 사용 서버의 전체 또는 일부 구성 설정을 원하는 상태로 변경할 수 있습니다.
단일 명령으로 더 큰 범위(예: 리소스 그룹, 구독 또는 여러 구독)에 대한 SQL Server 구성을 수정하려면 modify-license-type.ps1
PowerShell 스크립트를 사용합니다. 오픈 소스 SQL Server 샘플로 게시되며 단계별 지침을 포함합니다.
Azure Cloud Shell에서 스크립트를 실행하는 것이 좋습니다. 그 이유는 다음과 같습니다.
- 필수 Azure Powershell 모듈이 사전 설치되어 있습니다.
- 사용자를 자동으로 인증합니다.
자세한 내용은 Cloud Shell을 사용하여 스크립트 실행을 참조하세요.
Azure Portal에서 SQL Server 호스트를 구성하는 방법에는 두 가지가 있습니다.
Azure Arc 지원 SQL Server 개요 창을 연 다음, SQL Server 구성을 선택합니다.
Azure Arc 지원 SQL Server 개요 창을 연 다음 속성을 선택합니다. SQL Server 구성에서 수정해야 하는 설정을 선택합니다.
- 라이선스 유형
- ESU 구독
- 자동화된 패치
라이선스 유형 속성 설정
라이선스 유형 중 하나를 선택합니다. 설명은 라이선스 유형을 참조하세요.
물리적 코어 라이선스 사용
가상 머신(VM)을 구성 중이고 무제한 가상화 혜택을 SQL Server 소프트웨어 라이선싱 또는 SQL 구독에 사용하는 경우 물리적 코어 라이선스 사용 확인란을 선택합니다. 호스트 구성 속성 UsePhysicalCoreLicense
이(가) True
(으)로 설정됩니다. 이 확인란을 선택하면 물리적 코어(P 코어) 라이선스가 우선 적용되며 SQL Server 소프트웨어 비용은 무효화됩니다.
Important
P 코어 라이선스가 종량제 청구 플랜으로 구성된 경우 선택한 라이선스 유형 값은 종량제여야 합니다. 이 선택은 VM 수준에서 추가 요금이 발생하지는 않지만, P 코어 라이선스가 비활성화되거나 삭제되는 경우 중단 없는 라이선싱 및 청구를 보장합니다.
확장 보안 업데이트 구독
개별 호스트에 대한 ESU(확장 보안 업데이트)를 구독할 수 있습니다. ESU 구독의 자격을 얻으려면 호스트는 라이선스 유형을 종량제 또는 Software Assurance 라이선스로 설정해야 합니다. 이 옵션을 사용하면 호스트가 가상 머신인 경우 vCPU(V 코어)를 사용하여 구독하거나, 호스트가 가상 머신을 사용하지 않고 실행되는 물리적 서버인 경우 물리적 코어를 사용하여 구독할 수 있습니다.
확장 보안 업데이트 구독을 선택합니다. 호스트 구성 속성 EnabelExtendedSecurityUpdates
이(가) True
(으)로 설정됩니다. 저장을 선택하면 구독이 활성화됩니다.
ESU 라이선스 옵션에 대한 자세한 내용은 프로덕션 환경에서 확장 보안 업데이트 구독을 참조하세요.
참고 항목
P 코어 ESU 라이선스와 달리 호스트용 ESU를 구독하는 경우, 각 컴퓨터에 대해 청구 가능한 코어 수를 정의할 필요가 없습니다. SQL Server용 Azure 확장 프로그램은 호스트의 크기, 호스트 유형(가상 또는 물리적) 및 SQL Server 에디션을 감지합니다. 확장은 이러한 매개 변수에 따라 청구됩니다.
ESU를 활성화한 후에는 ESU 구독이 취소될 때까지 호스트의 라이선스 유형 값을 라이선스 전용으로 변경할 수 없습니다.
물리적 코어 ESU 라이선스 사용
가상 머신을 구성 중이고 ESU 구독을 활성화할 때 무제한 가상화 혜택을 사용 중인 경우 물리적 코어 ESU 라이선스 사용 확인란을 선택합니다. UseEsuPhysicalCoreLicense
가 true
로 설정됩니다.
이 확인란을 선택하면 P 코어 라이선스가 우선적으로 적용되며 VM 수준에서의 SQL Server ESU 요금은 무효화됩니다.
확장 보안 업데이트 구독 해제
언제든지 Azure Arc에서 가능한 확장 보안 업데이트를 취소할 수 있습니다. 취소하는 즉시 ESU 요금이 부과되지 않습니다. 확장 보안 업데이트 구독 해제를 선택합니다. 저장을 선택하면 구독이 종료됩니다.
인스턴스 제외 목록에 추가
Azure 정책 또는 자동 온보딩 프로세스에 의해 구동되는 대규모 온보딩 작업에서 특정 인스턴스를 제외할 수 있습니다. 이러한 작업에서 특정 인스턴스를 제외하려면 인스턴스 이름을 인스턴스 건너뛰기 목록에 추가합니다.. 대규모 온보딩 옵션에 대한 자세한 내용은 Azure Arc 지원 SQL Server에 대한 대체 배포 옵션을 참조하세요.
참고 항목
종량제 청구를 사용하는 SQL Server 인스턴스는 제외할 수 없습니다.
업데이트된 구성 저장
라이선스 유형, ESU 설정 및 제외할 인스턴스를 확인한 후 저장을 선택하여 변경 내용을 적용합니다.
Important
나열된 공급자의 인프라에서는 SQL Server 소프트웨어 또는 SQL Server ESU 구독에 대한 무제한 가상화 혜택이 지원되지 않습니다. 나열된 공급자의 VM에서 SQL Server를 실행하고 이 옵션을 선택하는 경우 사용자의 의도는 무시되며 VM의 V 코어에 대한 요금이 청구됩니다.
Azure Policy를 사용하여 확장 보안 업데이트를 대규모로 구독
확장 보안 업데이트에 적격 Arc 지원 SQL Server 인스턴스 구독이라는 Azure 정책 정의를 사용하여 여러 Azure Arc 지원 컴퓨터에서 ESU 구독을 활성화할 수 있습니다.
이 정책 정의의 할당을 원하는 범위에 만들면 SQL Server용 Azure 확장 프로그램이 설치된 모든 Azure Arc 지원 컴퓨터에서 ESU를 사용하도록 설정합니다. 이러한 컴퓨터에 정규화된 SQL Server 인스턴스가 있으면 ESU 구독이 즉시 활성화됩니다.
다음 단계에 따라 이 정책을 활성화합니다.
Azure Portal에서 Azure Policy로 이동한 다음 정의를 선택합니다.
적합한 Arc 지원 SQL Server 인스턴스에 확장 보안 업데이트 구독을 검색하여 정책을 마우스 오른쪽 버튼으로 클릭합니다.
정책 할당을 선택합니다.
범위로 구독 및 리소스 그룹(선택 사항)을 선택합니다.
정책 적용을 사용으로 설정합니다.
매개 변수 탭에서 확장 보안 업데이트 사용을 True로 설정합니다.
수정 탭에서 다음을 수행합니다.
- 기존 리소스에 적용할 이 정책에 대한 수정 작업 만들기를 선택합니다. 이 옵션을 선택하지 않으면 새로 만든 리소스에만 정책이 적용됩니다.
- 관리 ID 만들기를 선택하고 시스템이 할당한 관리 ID를 선택하거나(권장), SQL Server용 Azure 확장 프로그램 배포 및 reader 권한이 있는 사용자가 할당한 관리 ID를 선택합니다.
- ID의 위치를 선택합니다.
검토 + 생성를 선택합니다.
만들기를 선택합니다.
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 쿼리에 대한 자세한 예시는 시작 Resource Graph 쿼리 샘플을 참조하세요.
ESU에 구독된 Azure 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 인스턴스를 호스트하는 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 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 the 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 Server instances
(
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 라이선스 리소스를 만들려면 아래 방법 중 하나를 사용합니다.
- Azure Arc를 선택합니다.
- Data Services에서 SQL Server 라이선스를 선택합니다.
- +만들기를 선택합니다.
- SQL Server 물리적 코어 라이선스를 선택합니다.
- 만들기 마법사를 완료합니다.
SQL Server 라이선스 리소스 업데이트
SQL Server 라이선스 속성을 변경하려면(예: 나중에 활성화) 다음 방법 중 하나를 사용합니다.
- Azure Arc를 선택합니다.
- Data Services에서 SQL Server 라이선스를 선택합니다.
- 라이선스를 선택합니다.
- 관리에서 구성을 선택합니다.
- 변경하고 적용을 선택합니다.
P 코어 라이선스 범위에서 리소스 관리
다음 단계를 사용하여 특정 SQL Server 물리적 코어 라이선스 범위의 리소스를 관리할 수 있습니다.
- Azure Arc를 선택합니다.
- Data Services에서 SQL Server 라이선스를 선택합니다.
- 라이선스를 선택합니다.
- 관리에서 범위 내 리소스를 선택합니다.
특정 리소스가 이 라이선스를 사용하도록 구성되지 않은 경우(물리적 코어 라이선스 적용 열에 아니요가 표시됨), 다음을 변경할 수 있습니다.
- 목록에서 특정 리소스를 선택합니다.
- 라이선스 적용을 선택합니다.
- 고지 사항을 읽고 확인을 선택합니다.
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는 특수 리소스 유형인 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 라이선스 리소스를 만들려면 아래 방법 중 하나를 사용합니다.
- Azure Arc를 선택합니다.
- Data Services에서 SQL Server ESU 라이선스를 선택합니다.
- +만들기를 선택합니다.
- 만들기 마법사를 완료합니다.
SQL Server ESU 라이선스 리소스 업데이트
SQL Server ESU 라이선스 속성을 변경하려면(예: 구독 해지) 다음 방법 중 하나를 사용합니다.
- Azure Arc를 선택합니다.
- Data Services에서 SQL Server ESU 라이선스를 선택합니다.
- 라이선스를 선택합니다.
- 관리에서 구성을 선택합니다.
- 변경하고 적용을 선택합니다.
ESU P 코어 라이선스 범위에서 리소스 관리
다음 단계를 사용하여 특정 SQL Server ESU 라이선스 범위의 리소스를 관리할 수 있습니다.
- Azure Arc를 선택합니다.
- Data Services에서 SQL Server ESU 라이선스를 선택합니다.
- 라이선스를 선택합니다.
- 관리에서 범위 내 리소스를 선택합니다.
이 보기에는 관리 중인 P 코어 ESU 라이선스 버전과 일치하는 버전의 서비스 중단된 SQL Server 인스턴스를 호스팅하는 범위의 연결된 컴퓨터만 표시됩니다. 특정 리소스가 이 라이선스를 사용하도록 구성되지 않은 경우(물리적 코어 라이선스 적용 열에 아니요가 표시됨) 다음을 변경할 수 있습니다.
- 목록에서 특정 리소스를 선택합니다.
- 구독하려면 ESU 구독을 선택하거나 구독을 취소하려면 ESU 구독 취소를 선택합니다.
- 고지 사항을 읽고 확인을 선택합니다.
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