Configuration de SQL Server activé par Azure Arc

S’applique à :SQL Server

Chaque serveur avec Azure Arc inclut un ensemble de propriétés qui s’appliquent à toutes les instances SQL Server installées sur ce serveur. Vous pouvez configurer ces propriétés après avoir installé l’extension Azure pour SQL Server sur l’ordinateur. Toutefois, les propriétés ne prennent effet que si une ou plusieurs instances SQL Server sont installées. Dans le portail Azure, la vue d’ensemble de SQL Server activé par Azure Arc reflète la façon dont la configuration de SQL Server affecte une instance particulière.

La configuration de SQL Server du Portail Azure vous permet d’effectuer les tâches de gestion suivantes :

  1. Configurer le type de licence SQL Server
  2. Définir la propriété Mises à jour de sécurité étendue
  3. Ajouter à la liste des Instances exclues

Prérequis

Inscrire des fournisseurs de ressources

Pour inscrire le fournisseur de ressources, utilisez l’une des méthodes ci-dessous :

  1. Sélectionnez Abonnements.
  2. Choisir votre abonnement
  3. Sous Paramètres, sélectionnez Fournisseurs de ressources
  4. Recherchez Microsoft.AzureArcData et Microsoft.HybridCompute, puis sélectionnez Inscrire.

Modifier la configuration de SQL Server

Vous pouvez utiliser le portail Azure, PowerShell ou l’interface CLI pour modifier certains paramètres de configuration ou la totalité de ces derniers sur un serveur avec Arc spécifique à l’état souhaité.

Pour modifier la configuration SQL Server pour une étendue plus grande, tel qu'un groupe de ressources, un abonnement ou plusieurs abonnements avec une seule commande, utilisez le script PowerShell modify-license-type.ps1. Il est publié en tant qu’exemple SQL Server open source et comprend des instructions pas à pas.

Conseil

Exécutez le script à partir d'Azure Cloud Shell, car :

  • il dispose de modules Azure PowerShell requis préinstallés
  • il vous authentifie automatiquement

Pour plus d’informations, consultez Exécution du script à l’aide de Cloud Shell.

Il existe deux façons de configurer l’hôte SQL Server dans le portail Azure.

  • Ouvrez la page de présentation du serveur avec Arc, puis sélectionné Configuration de SQL Server, comme indiqué.

    Capture d'écran de SQL Server activé par Azure Arc dans le portail Azure.

    Or

  • Ouvrez la page de présentation de SQL Server avec Arc, puis sélectionnez Propriétés. Sous Configuration du SQL Server, sélectionnez le paramètre à modifier :

    • Type de licence
    • Abonnement ESU
    • Mises à jour automatisées

    Capture d'écran de la configuration de l'instance SQL Server du portail Azure.

Définir la propriété Type de licence

Choisissez l’un des types de licence. Pour obtenir des descriptions, consultez Types de licence.

Définir la propriété Correctifs de sécurité étendue

Les correctifs de sécurité étendue sont disponibles pour les instances SQL Server qualifiées qui utilisent la licence avec Software Assurance ou le paiement à l’utilisation comme type de licence. Si le type de licence est uniquement une licence, l’option permettant d’activer l’abonnement ESU est désactivée. Consultez Correctifs de sécurité étendus pour SQL Server.

Remarque

  • Pour activer un abonnement ESU, le type de licence doit être défini sur Paiement à l’utilisation ou Licence avec Software Assurance. S’il est défini sur Licence uniquement, les options correctifs de sécurité étendue sont désactivées.
  • Si l’ESU est activé, le type de licence ne peut pas être modifié sur LicenseOnly tant que l’abonnement ESU n’est pas annulé.

Appliquer une licence par cœur physique

Cochez cette case s'il s'agit d'un ordinateur virtuel et que vous tirez profit de l'avantage de la virtualisation illimitée pour la gestion des licences du logiciel SQL Server ou pour votre abonnement SQL. Si cette option est sélectionnée, le cœur-p aura la précédence et les coûts du logiciel SQL Server ou les coûts USU associés à cet ordinateur virtuel seront annulés.

Important

  1. L'avantage UV n'est pas pris en charge pour tout ordinateur virtuel s'exécutant sur l'infrastructure des fournisseurs répertoriés. Si vous sélectionnez cette option pour un tel ordinateur virtuel, cette intention sera ignorée et vous serez facturé pour les cœurs-v de l'ordinateur virtuel. Pour plus d'informations, consultez Fournisseurs répertoriés .
  2. Si vous configurez un ordinateur virtuel qui n'est pas soumis à la restriction ci-dessus, assurez-vous que Type de licence sélectionné correspond au Plan de facturation configuré dans la ressource de licence par cœur-p.

Ajouter à la liste des Instances exclues

Vous pouvez exclure certaines instances des opérations d’intégration à grande échelle pilotées par Azure Policy ou par des processus d’intégration automatique. Pour exclure des instances spécifiques de ces opérations, ajoutez les noms d’instances à la liste Ignorer les instances. Pour plus d’informations sur les options d’intégration à grande échelle, consultez Autres options de déploiement pour SQL Server activé par Azure Arc.

Attention

Les instances SQL Server utilisant le paiement à l'utilisation (PAYG) ne peuvent pas être exclues.

Enregistrez la configuration mis à jour.

Après avoir vérifié le type de licence, le paramètre ESU et les instances à exclure, sélectionnez Enregistrer pour appliquer les modifications.

Interrogez la configuration de SQL Server

Vous pouvez utiliser Azure Resource Graph pour interroger les paramètres de configuration de SQL Server dans une étendue sélectionnée. Consultez les exemples suivants.

Nombre par type de licence

Cet exemple retourne le nombre par type de licence.

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)

Identifier les instances où le type de licence n’est pas défini

Cette requête retourne une liste d’instances où le type de licence est nul.

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

Répertorier les détails de configuration de chaque instance SQL Server

Cette requête identifie de nombreux détails sur chaque instance, notamment le type de licence, les paramètres ESU et les fonctionnalités activées.

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

Répertorier les serveurs avec Arc dotés d’instances SQL Server

Cette requête identifie les serveurs avec Azure Arc sur lesquels des instances SQL Server ont été découvertes.

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

Cette requête renvoie les serveurs Azure Arc qui ont des instances SQL Server, mais l'extension SQL Server d'Arc n'est pas installée. Cette requête s’applique aux serveurs Windows uniquement.

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

Pour obtenir d’autres exemples de requêtes Azure Resource Graph, consultez Requêtes Resource Graph de démarrage.

Gérer la virtualisation illimitée

Pour activer une virtualisation illimitée, SQL Server activé par Azure Arc prend en charge un type de ressource spécial : SQLServerLicense. Cette ressource vous permet d'acquérir sous licence de nombreuses machines virtuelles avec les instances SQL Server installées. Pour plus d'informations sur le modèle de gestion des licences, consultez gestion des licences des instances SQL Server avec virtualisation illimitée.

Prérequis

Votre rôle RBAC inclut les autorisations suivantes :

  • 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

Créer une licence SQL Server

Pour créer la ressource de licence SQL Server, utilisez l'une des méthodes ci-dessous :

  1. Sélectionner Azure Arc
  2. Sous Data Services, sélectionnez Licences SQL Server
  3. Cliquez sur +Créer
  4. Sélectionner Licence par cœur physique SQL Server
  5. Terminer toutes les étapes de l'Assistant de création

Changer les propriétés de licence SQL Server

Pour changer la propriété de la licence SQL Server, par exemple l'activer à une date ultérieure, utilisez l'une des méthodes ci-dessous :

  1. Sélectionner Azure Arc
  2. Sous Data Services, sélectionnez Licences SQL Server
  3. Cliquez sur la licence en question
  4. Sélectionner Configurer sous Gestion
  5. Apportez les modifications, puis cliquez sur Appliquer

Gérer des ressources dans l'étendue

Vous pouvez gérer les ressources dans l'étendue d'une licence par cœur physique spécifique de SQL Server en suivant les étapes suivantes :

  1. Sélectionner Azure Arc
  2. Sous Data Services, sélectionnez Licences SQL Server
  3. Cliquez sur la licence en question
  4. Sélectionner Ressources dans l'étendue sous Gestion

Si les ressources spécifiques ne sont pas configurées pour utiliser cette licence (Appliquer la colonne de licence par cœur physique affiche « NON »), vous pouvez changer ce paramètre :

  1. Sélectionner la/les ressource(s) spécifique(s) de la liste
  2. Cliquez sur l'onglet Appliquer la licence.
  3. Lisez la clause de non-responsabilité et cliquez sur Confirmer.

Répertorier les serveurs activés par Arc dans l'étendue de la licence SQL Server

Cette requête répertorie tous les serveurs activés par Azure Arc dans l'étendue de la licence et les propriétés pertinentes de chacun d'eux.

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