Connecter des instances SQL Server à Azure à grande échelle en utilisant un script

S’applique à :SQL Server

Important

Azure Arc installe automatiquement l’extension Azure pour SQL Server du moment que SQL Server est installé sur un serveur connecté à Azure Arc. Toutes les ressources de l’instance SQL Server sont automatiquement créées dans Azure, fournissant une plateforme de gestion centralisée pour toutes vos instances SQL Server.

Pour connecter automatiquement vos instances SQL Server, reportez-vous à Connecter automatiquement votre SQL Server à Azure Arc.

Utilisez la méthode présentée dans le présent article, si votre serveur est déjà connecté à Azure, tout en vous assurant que l'extension Azure pour SQL Server n'est pas déployée automatiquement.

Si l'extension est déployée lorsque vous utilisez cette méthode, une balise ArcSQLServerExtensionDeployment = Disabled est créée sur la ressource de l'ordinateur Arc.

Cet article décrit comment connecter des instances SQL Server installées sur plusieurs machines Windows ou Linux à Azure Arc en tant que tâche unique à l'aide d'un script. Une fois les machines connectées à Azure, Azure Arc installe automatiquement l’extension d’Azure pour SQL Server. Pour plus d'informations, consultez la section Connecter automatiquement votre SQL Server à Azure Arc.

Pour une expérience optimale, utilisez Microsoft Entra ID. Par le biais de Microsoft Entra ID, vous définissez un principal de service. Le principal de service est une identité de gestion limitée spéciale qui ne reçoit que les autorisations minimales nécessaires pour connecter les machines à Azure et créer les ressources Azure pour le serveur activé par Azure Arc et SQL Server activé par Azure Arc.

Avant de commencer, consultez les prérequis et assurez-vous d’avoir créé un rôle personnalisé correspondant aux autorisations requises.

Connecter plusieurs instances

Azure PowerShell doit être installé sur chaque machine.

  1. Créez le principal de service. Utilisez l'applet de commande New-AzADServicePrincipal. Veillez à stocker la sortie dans une variable. Dans le cas contraire, vous ne pourrez pas récupérer le mot de passe nécessaire ultérieurement.

    $sp = New-AzADServicePrincipal -DisplayName "Arc-for-servers" -Role <your custom role>
    $sp
    
  2. Accordez au principal de service les autorisations d’accès à Microsoft Graph.

    Notes

    • Quand vous créez un principal de service, votre compte doit être Propriétaire ou Administrateur de l’accès utilisateur sur l’abonnement à utiliser pour l’intégration. Si vous n’avez pas les autorisations appropriées pour créer les attributions de rôles, le principal de service sera créé, mais il ne pourra pas intégrer de machines. Pour obtenir des instructions relatives à la création d’un rôle personnalisé, consultez Prérequis.
  3. Récupérez le mot de passe stocké dans la variable $sp :

    $credential = New-Object pscredential -ArgumentList "temp", $sp.PasswordCredentials.SecretText 
    $credential.GetNetworkCredential().password
    
  4. Récupérez la valeur de l’ID du locataire du principal de service :

    $tenantId= (Get-AzContext).Tenant.Id
    
  5. Copiez et enregistrez le mot de passe, l’ID de l’application et l’ID du locataire en respectant les mesures de sécurité appropriées. Si vous oubliez ou perdez le mot de passe de votre principal de service, vous pouvez le réinitialiser à l’aide de la cmdlet New-AzADSpCredential.

    Notes

    Veuillez noter qu’Azure Arc pour serveurs ne prend actuellement pas en charge la connexion avec un certificat, donc un secret est nécessaire pour l’authentification du principal de service.

  6. Téléchargez le script PowerShell depuis le portail en suivant les instructions fournies dans Connecter votre SQL Server à Azure Arc.

  7. Ouvrez le script dans une instance administrateur de PowerShell ISE et remplacez les variables d’environnement suivantes par les valeurs générées au cours du provisionnement du principal de service décrite précédemment. Ces variables sont vides au départ.

    $servicePrincipalAppId="{serviceprincipalAppID}"
    $servicePrincipalSecret="{serviceprincipalPassword}"
    $servicePrincipalTenantId="{serviceprincipalTenantId}"
    
  8. Exécutez le script sur chaque machine cible.

Vérifier la réussite de l’intégration

Une fois les instances SQL Server connectées à Azure, accédez au Portail Azure et visualisez les nouvelles ressources Azure Arc. Une nouvelle ressource Server - Azure Arc s’affiche pour chaque machine connectée, ainsi qu’une nouvelle ressource SQL Server - Azure Arc pour chaque instance de SQL Server connectée, dans un délai d’environ une minute. Si ces ressources ne sont pas créées, cela signifie qu’un problème s’est produit au cours du processus d’installation et d’activation de l’extension. Pour connaître les options de dépannage, consultez Résolution des problèmes de l’extension Azure pour SQL Server.

Screenshot showing a successful onboard.

Étapes suivantes