Настройка SQL Server, включенная Azure Arc

Применимо к:SQL Server

Каждый сервер с поддержкой Azure Arc включает набор свойств, которые применяются ко всем экземплярам SQL Server, установленным на этом сервере. Эти свойства можно настроить после установки расширения Azure для SQL Server на компьютере. Однако свойства вступают в силу только в том случае, если установлены экземпляры ИЛИ экземпляры SQL Server. В портал Azure SQL Server, включенный в Azure Arc Overview, отражает, как конфигурация SQL Server влияет на конкретный экземпляр.

портал Azure конфигурации SQL Server позволяет выполнять следующие задачи управления:

  1. Управление лицензированием и выставлением счетов SQL Server с поддержкой Azure Arc
  2. Установка свойства расширенных Обновления безопасности
  3. Добавление в список исключенных экземпляров

Необходимые компоненты

  • Вы находитесь в роли участника по крайней мере в одной из подписок Azure, созданных вашей организацией. Узнайте, как создать новую подписку на выставление счетов.

  • Вы находитесь в роли участника для группы ресурсов, в которой будет зарегистрирован экземпляр SQL Server. Дополнительные сведения см. в управляемых группах ресурсов Azure.

  • Microsoft.HybridCompute Поставщики Microsoft.AzureArcData ресурсов регистрируются в каждой подписке, используемой для выставления счетов по мере использования SQL Server.

Регистрация поставщиков ресурсов

Чтобы зарегистрировать поставщиков ресурсов, используйте один из следующих методов:

  1. Выбор пункта Подписки
  2. Выберите свою подписку
  3. В разделе Параметры с помощью пункта Поставщики ресурсов
  4. Найдите Microsoft.AzureArcData и Microsoft.HybridCompute и выберите Зарегистрировать.

Изменение конфигурации SQL Server

Вы можете использовать портал Azure, PowerShell или CLI для изменения всех или некоторых параметров конфигурации на определенном сервере с поддержкой Arc в нужное состояние.

Чтобы изменить конфигурацию SQL Server для более крупных область, например группу ресурсов, подписку или несколько подписок с помощью одной команды, используйте modify-license-type.ps1 сценарий PowerShell. Он опубликован как пример открытый код SQL Server и включает пошаговые инструкции.

Совет

Запустите скрипт из Azure Cloud Shell, так как:

  • У него есть необходимые предварительно установленные модули Azure PowerShell
  • Он автоматически проходит проверку подлинности.

Дополнительные сведения см. в разделе "Запуск скрипта с помощью Cloud Shell".

Существует два способа настройки узла SQL Server в портал Azure.

  • Откройте страницу обзора сервера с поддержкой Arc и выберите конфигурацию SQL Server, как показано ниже.

    Снимок экрана: SQL Server, включенный Azure Arc в портал Azure.

    Or

  • Откройте страницу обзора SQL Server с поддержкой Arc и выберите "Свойства". В разделе конфигурации SQL Server выберите нужный параметр:

    • Тип лицензии
    • Подписка ESU
    • Автоматическое обновление

    Снимок экрана: конфигурация экземпляра SQL Server портал Azure.

Установка свойства типа лицензии

Выберите один из типов лицензий. Сведения о типах лицензий см. в разделе "Типы лицензий".

Установка свойства расширенных Обновления безопасности

Расширенная Обновления безопасности (ESU) доступна для квалифицированных экземпляров SQL Server, использующих лицензию с Software Assurance или оплатой по мере использования в качестве типа лицензии. Если тип лицензии является только лицензией, параметр активации подписки ESU отключен. См. сведения о Обновления расширенной безопасности для SQL Server?

Примечание.

  • Чтобы активировать подписку ESU, тип лицензии должен иметь значение Pay-as-you-go или License with Software Assurance. Если для него задана только лицензия, параметры расширенной безопасности Обновления будут отключены.
  • Если тип лицензии ESU включен, нельзя изменить до LicenseOnly отмены подписки ESU.

Применение лицензии на физическое ядро

Выберите этот проверка box, если вы настраиваете виртуальную машину, и вы используете неограниченное преимущество виртуализации для лицензирования программного обеспечения SQL Server или подписки SQL. Если выбрано, p-core имеет приоритет, а затраты на программное обеспечение SQL Server или затраты ESU, связанные с этой виртуальной машиной, будут иметь значение NULL.

Внимание

  1. Преимущество UV не поддерживается для виртуальных машин, работающих в инфраструктуре перечисленных поставщиков. Если выбрать этот параметр для такой виртуальной машины, это намерение будет игнорироваться, и вы будете взимать плату за виртуальные ядра виртуальной машины. Дополнительные сведения см. в разделе "Перечисленные поставщики ".
  2. Если вы настраиваете виртуальную машину, которая не соответствует приведенному выше ограничению, убедитесь, что выбранный тип лицензии соответствует плану выставления счетов, настроенному в ресурсе лицензии p-core.

Добавление в список исключенных экземпляров

Некоторые экземпляры можно исключить из операций подключения в масштабе, управляемых политикой Azure или автоматическим подключением. Чтобы исключить определенные экземпляры из этих операций, добавьте имена экземпляров в список "Пропустить экземпляры ". Дополнительные сведения о параметрах подключения в масштабе см. в статье "Альтернативные варианты развертывания" для SQL Server, включенных Azure Arc.

Внимание

Экземпляры SQL Server, использующие оплату по мере использования (PAYG), не могут быть исключены.

Сохранение обновленной конфигурации

После проверки типа лицензии, параметра ESU и любого экземпляра, чтобы исключить, нажмите кнопку "Сохранить ", чтобы применить изменения.

Запрос конфигурации 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

Вывод списка серверов с поддержкой Arc с экземплярами SQL Server

Этот запрос определяет серверы с поддержкой Azure Arc с экземплярами SQL Server, обнаруженными на них.

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

Этот запрос возвращает серверы с поддержкой Azure Arc, имеющие экземпляры SQL Server, но расширение SQL Server 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 см . в примерах запросов Начальных ресурсов Graph.

Управление неограниченной виртуализацией

Чтобы включить неограниченную виртуализацию, SQL Server, включенная Azure Arc, поддерживает специальный тип ресурсов: 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. Внесите изменения и нажмите кнопку "Применить"

Управление ресурсами в область

Вы можете управлять ресурсами в область конкретной лицензии физического ядра SQL Server, выполнив следующие действия.

  1. Выбор Azure Arc
  2. В разделе "Службы данных" выберите лицензии SQL Server
  3. Выберите в вопросе лицензию
  4. Выберите ресурсы в область в разделе "Управление"

Если определенные ресурсы не настроены для использования этой лицензии (при применении столбца лицензий физического ядра отображается значение NO), можно изменить следующее:

  1. Выберите определенные ресурсы в списке
  2. Выберите вкладку "Применить лицензию"
  3. Прочитайте заявление об отказе и нажмите кнопку "Подтвердить"

Вывод списка серверов с поддержкой Arc в область лицензии SQL Server

В этом запросе перечислены все серверы с поддержкой 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