Configuración de SQL Server habilitado por Azure Arc

Se aplica a:SQL Server

Cada servidor habilitado para Azure Arc incluye un conjunto de propiedades que se aplican a todas las instancias de SQL Server instaladas en ese servidor. Puede configurar estas propiedades después de instalar la extensión de Azure para SQL Server en la máquina. Sin embargo, las propiedades solo surten efecto si se instala una instancia o instancias de SQL Server. En el Azure Portal, la hoja de información general de SQL Server habilitada para Arc reflejará cómo afecta la configuración de SQL Server a una instancia determinada.

La configuración de SQL Server del portal de Azure permite realizar las siguientes tareas de administración:

  1. Configuración del tipo de licencia de SQL Server
  2. Configure la propiedad Actualizaciones de seguridad ampliada
  3. Añadir a la lista Excluir instancias

Requisitos previos

Registro de proveedores de recursos

Para registrar los proveedores de recursos, utilice uno de estos métodos:

  1. Seleccione Suscripciones.
  2. Elija una suscripción
  3. En Configuración, seleccione Proveedores de recursos.
  4. Busque Microsoft.AzureArcData y Microsoft.HybridCompute, y seleccione Registrar.

Modifique Configuración De SQL Server

Puede usar Azure Portal, PowerShell o la CLI para cambiar todos o algunos conjuntos de configuración en un servidor específico habilitado para Arc al estado deseado.

Para modificar la configuración de SQL Server para un ámbito mayor, como un grupo de recursos, una suscripción o varias suscripciones con un solo comando, consulte el modify-license-type.ps1 script de PowerShell. Está publicado como un ejemplo de SQL Server de código abierto e incluye las instrucciones paso a paso.

Sugerencia

Ejecute el script desde Azure Cloud Shell porque:

  • Tiene los módulos de Azure PowerShell necesarios preinstalados.
  • Le autentica automáticamente.

Para más información, consulte Ejecución del script mediante Cloud Shell.

Hay dos maneras de configurar el host de SQL Server en Azure Portal.

  • Abra la página de información general del servidor habilitado para Arc y seleccione Configuración de SQL Server como se muestra.

    Captura de pantalla de SQL Server habilitado por Azure Arc en Azure Portal.

    Or

  • Abra la página de información general de SQL Server habilitada para Arc y seleccione Propiedades. En Configuración de SQL Server, seleccione la configuración que necesita modificar:

    • Tipo de licencia
    • Suscripción a ESU
    • Actualizaciones automatizadas

    Captura de pantalla de configuración de la instancia de SQL Server en Azure Portal.

Configure la propiedad Tipo de licencia

Elija uno de los tipos de licencia. Consulte Tipos de licencia para ver sus descripciones.

Configure la propiedad Actualizaciones de seguridad ampliada

Las Actualizaciones de seguridad ampliada (ESU) están disponibles para instancias de SQL Server calificadas que usan licencia con Software Assurance o pago por uso como tipo de licencia. Si el tipo de licencia de servidor es solo licencia, la opción para activar la suscripción de ESU estará deshabilitada. Consulte Actualizaciones de seguridad ampliada de SQL Server.

Nota:

  • Para activar una suscripción de ESU, el tipo de licencia debe establecerse en Pago por uso o Licencia con Software Assurance. Si se configura como Solo licencia, las opciones Actualizaciones de seguridad ampliada se deshabilitarán.
  • Si el ESU está habilitado, el Tipo de licencia no se puede cambiar a LicenseOnly hasta que se cancele la suscripción de ESU.

Aplicar una licencia de núcleo físico

Active esta casilla si se trata de una máquina virtual y está aprovechando la ventaja de virtualización ilimitada para la concesión de licencias del software de SQL Server o de la suscripción de SQL. Si se selecciona, el núcleo físico tendrá prioridad y los costes de software de SQL Server o los costes de USU asociados a esta VM se anularán.

Importante

  1. La ventaja de UV no se admite para las VM que se ejecutan en la infraestructura de los proveedores enumerados. Si selecciona esta opción para dicha VM, esta intención se omitirá y se le cobrará por los núcleos virtuales de la VM. Consulte Proveedores enumerados para obtener más información.
  2. Si va a configurar una VM que no está sujeta a la restricción anterior, asegúrese de que el tipo de licencia seleccionado coincide con el plan de facturación configurado en el recurso de licencia de núcleo físico.

Añadir a la lista Excluir instancias

Puede excluir determinadas instancias de las operaciones de incorporación a gran escala controladas por Azure Policy o por procesos de incorporación automática. Para excluir instancias específicas de estas operaciones, añada los nombres de instancia a la lista Omitir instancias. Para más información sobre las opciones de incorporación a escala, consulta Opciones de implementación alternativas para SQL Server habilitado por Azure Arc.

Precaución

Las instancias de SQL Server que usan pago por uso (PAYG) no se pueden excluir.

Guarde el archivo de configuración actualizado

Después de comprobar el tipo de licencia, la configuración de ESU y cualquier instancia que se vaya a excluir, seleccione Guardar para aplicar los cambios.

Consulte Configuración de SQL Server

Puede usar Azure Resource Graph para consultar el conjunto de configuración de SQL Server dentro de un ámbito seleccionado. Vea los ejemplos siguientes:

Recuento por tipo de licencia

En este ejemplo se devuelve el recuento por tipo de licencia.

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)

Identificación de instancias en las que el tipo de licencia no está definido

Esta consulta devuelve una lista de instancias en las que el tipo de licencia es 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

Lista de los detalles de configuración de cada instancia de SQL Server

Esta consulta identifica muchos detalles sobre cada instancia, incluido el tipo de licencia, la configuración de ESU y las características habilitadas.

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

Enumeración de servidores habilitados para Arc con instancias de SQL Server

Esta consulta identifica los servidores habilitados para Azure Arc con las instancias de SQL Server que se han detectado.

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

Esta consulta devuelve servidores habilitados para Azure Arc que tienen instancias de SQL Server, pero la extensión de SQL Server de Arc no está instalada. Esta consulta se aplica solo a servidores de 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

Para ver más ejemplos de consultas de Azure Resource Graph, consulte Consultas de inicio de Resource Graph.

Administrar virtualización ilimitada

Para habilitar la virtualización ilimitada, SQL Server habilitado por Azure Arc admite un tipo de recurso especial: SQLServerLicense. Este recurso permite conceder licencias a muchas máquinas virtuales con las instancias de SQL Server instaladas. Para obtener más información sobre el modelo de licencias, consulte Licencias de instancias de SQL Server con virtualización ilimitada.

Requisitos previos

El rol RBAC incluye los siguientes permisos:

  • 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

Crear licencia de SQL Server

Para crear el recurso de licencia de SQL Server, utilice uno de los métodos siguientes:

  1. Seleccionar Azure Arc
  2. En Data Services, seleccione Licencias de SQL Server
  3. Haga clic en +Crear.
  4. Seleccione la licencia de núcleo físico de SQL Server
  5. Complete el asistente para la instalación

Cambiar las propiedades de licencia de SQL Server

Para cambiar la propiedad de licencia de SQL Server, por ejemplo, actívela en una fecha posterior, utilice uno de los métodos siguientes:

  1. Seleccionar Azure Arc
  2. En Data Services, seleccione Licencias de SQL Server
  3. Haga clic en la licencia en cuestión
  4. Seleccione Configurar en Administración
  5. Realice los cambios y haga clic en Aplicar

Administración de recursos en el ámbito

Puede administrar los recursos en el ámbito de una licencia de núcleo físico de SQL Server específica mediante los pasos siguientes:

  1. Seleccionar Azure Arc
  2. En Data Services, seleccione Licencias de SQL Server
  3. Haga clic en la licencia en cuestión
  4. Seleccione Recursos en el ámbito en Administración.

Si los recursos específicos no están configurados para usar esta licencia (la columna Aplicar licencia de núcleo físico muestra "NO"), puede cambiarlo:

  1. Seleccione los recursos específicos en la lista
  2. Haga clic en la pestaña Aplicar licencia.
  3. Lea la declinación de responsabilidades y haga clic en Confirmar.

Enumeración de servidores habilitados para Arc en el ámbito de la licencia de SQL Server

En esta consulta se enumeran todos los servidores habilitados para Azure Arc en el ámbito de la licencia y las propiedades pertinentes de cada uno.

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