Partager via


Installer SQL Server Machine Learning Services (Python et R) sur Windows

Applies to : SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

Cet article explique comment installer SQL Server Machine Learning Services sur Windows. Vous pouvez utiliser Machine Learning Services pour exécuter des scripts Python et R dans la base de données.

Important

Ces instructions s’appliquent à SQL Server 2016 (13.x), SQL Server 2017 (14.x) et SQL Server 2019 (15.x). Pour SQL Server 2022 (16.x), reportez-vous à Installer SQL Server 2022 Machine Learning Services sur Windows.

informations de référence sur la version Python et R

Le tableau suivant présente les versions du runtime Python et R incluses dans chaque version de SQL Server. Utilisez ce tableau pour déterminer les versions linguistiques disponibles pour votre instance de SQL Server.

version SQL Server version de Python Version R
SQL Server 2016 (13.x) N/A (R uniquement) 3.2.2
SQL Server 2017 (14.x) RTM - CU21 3.5.2 3.3.3
SQL Server 2017 (14.x) CU22 et versions ultérieures 3.5.2 et 3.7.2 3.3.3 et 3.5.2
SQL Server 2019 (15.x) 3.7.1 3.5.2
SQL Server 2022 (16.x) 3.10.2 4.2.0

Note

À compter de SQL Server 2022 (16.x), les environnements d'exécution pour R, Python et Java ne sont plus installés avec le programme d'installation de SQL Server. Au lieu de cela, installez vos runtimes et packages personnalisés souhaités. Pour plus d’informations, consultez Install SQL Server 2022 Machine Learning Services sur Windows.

Pour plus d’informations sur toutes les versions prises en charge, consultez Qu’est-ce que SQL Server Machine Learning Services ?

Liste de contrôle de préinstallation

  • Une instance du moteur de base de données est nécessaire. Vous ne pouvez pas installer uniquement les fonctionnalités Python ou R, bien que vous puissiez les ajouter de manière incrémentielle à une instance autonome existante.

  • Pour assurer la continuité des activités, les groupes de disponibilité Always On sont pris en charge pour les services de Machine Learning. Installez Machine Learning Services et configurez des packages sur chaque nœud.

  • L'installation de Machine Learning Services n'est pas prise en charge sur une instance de cluster de basculement Always On dans SQL Server 2017. Il est pris en charge avec SQL Server 2019 et versions ultérieures. Vous devez installer Machine Learning Services au moment de l'installation et les fonctionnalités ne peuvent pas être ajoutées à une instance de cluster de basculement existante une fois installées.

  • N'installez pas Machine Learning Services sur un contrôleur de domaine. La partie Machine Learning Services de l’installation échoue.

  • N'installez pas les fonctionnalités Shared Features>Machine Learning Server (autonome) sur le même ordinateur qui exécute une instance de base de données. Un serveur autonome tente d’accéder aux mêmes ressources, ce qui affecte les performances des deux installations.

  • L'installation côte à côte avec d'autres versions de Python et R est prise en charge, mais nous ne le recommandons pas. Elle est prise en charge, car l'instance SQL Server utilise ses propres copies des distributions R et Anaconda open source. Nous ne le recommandons pas, car l'exécution de code qui utilise Python et R sur un ordinateur en dehors de SQL Server peut entraîner des problèmes :

    • L'utilisation d'une bibliothèque différente et de différents fichiers exécutables crée des résultats incohérents avec ce que vous exécutez dans SQL Server.
    • SQL Server ne pouvez pas gérer les scripts R et Python qui s'exécutent dans des bibliothèques externes, ce qui entraîne la contention des ressources.

Note

Machine Learning Services est installé par défaut sur SQL Server Clusters Big Data. Vous n’avez pas besoin de suivre les étapes décrites dans cet article si vous utilisez un cluster Big Data. Pour plus d’informations, consultez Utiliser Machine Learning Services (Python et R) sur Clusters Big Data.

Important

Une fois l’installation terminée, veillez à suivre les étapes post-configuration décrites dans cet article. Ces étapes incluent l’activation de SQL Server pour utiliser des scripts externes et l’ajout de comptes requis pour SQL Server pour exécuter des travaux R et Python en votre nom. Les modifications de configuration nécessitent généralement un redémarrage de l’instance ou du service Launchpad.

Obtenir le média d’installation

L’emplacement de téléchargement pour SQL Server dépend de l’édition :

  • éditions SQL Server Enterprise, Standard et Express. Ces éditions sont concédées sous licence pour une utilisation en production. Pour les éditions Entreprise et Standard, contactez votre fournisseur de logiciels afin d’obtenir le support d’installation. Vous trouverez des informations sur l’achat et un annuaire de partenaires de Microsoft sur le site web d’achat de Microsoft.

  • L’édition gratuite la plus récente.

Pour plus d’informations sur les éditions SQL Server qui prennent en charge l’intégration Python et R à Machine Learning Services, consultez Editions et fonctionnalités prises en charge de SQL Server 2017.

Pour plus d’informations sur les éditions SQL Server qui prennent en charge l’intégration Python et R à Machine Learning Services, consultez Editions et fonctionnalités prises en charge de SQL Server 2019.

Exécuter le programme d’installation

Dans le cas d'une installation locale, vous devez exécuter le programme d'installation en qualité d'administrateur. Si vous installez SQL Server à partir d’un partage distant, vous devez utiliser un compte de domaine qui dispose d’autorisations de lecture et d’exécution sur le partage distant.

  1. Démarrez l’assistant de configuration pour SQL Server.

  2. Sous l’onglet Installation, sélectionnez New SQL Server installation autonome ou ajoutez des fonctionnalités à une installation existante.

    Screenshot qui affiche l’option permettant de créer une installation autonome SQL Server ou d’ajouter des fonctionnalités à une installation existante.

    Screenshot qui affiche l’option permettant d’utiliser une nouvelle installation autonome SQL Server ou d’ajouter des fonctionnalités à une installation existante.

  3. Dans la page Sélection de fonctionnalités , sélectionnez les options suivantes :

    • Moteur de base de données Services

      Pour utiliser R et Python avec SQL Server, vous devez installer une instance du moteur de base de données. Vous pouvez utiliser l’instance par défaut ou une instance nommée.

    • Machine Learning Services (In-Database)

      Cette option installe les services de base de données qui prennent en charge L’exécution de script R et Python.

    • Moteur de base de données Services

      Pour utiliser R ou Python avec SQL Server, vous devez installer une instance du moteur de base de données. Vous pouvez utiliser l’instance par défaut ou une instance nommée.

    • Machine Learning Services et extension de langage

      Cette option installe les services de base de données qui prennent en charge L’exécution de script R et Python.

    • R

      Sélectionnez cette option pour ajouter les packages Microsoft R, l’interpréteur et R open source.

    • Python

      Sélectionnez cette option pour ajouter les packages Microsoft Python, l’exécutable Python et sélectionner des bibliothèques dans la distribution Anaconda. Pour obtenir la version spécifique Python incluse dans votre version de SQL Server, consultez Python et référence de version R.

    Pour plus d’informations sur l’installation et l’utilisation de Java, consultez Installer l’extension de langage SQL Server Java sur Windows.

    Capture d'écran qui affiche les options de fonctionnalités pour R et Python.

    Screenshot montrant la sélection des options de fonctionnalités pour R et Python.

    Note

    Ne sélectionnez pas l'option Machine Learning Server (autonome) sous Fonctionnalités partagés. Cette option est prévue pour un ordinateur distinct.

  1. Dans la page Accepter l’installation de Microsoft R Open, sélectionnez AccepterSuivant.

    Le contrat de licence couvre :

    • Microsoft R Open.
    • Outils et packages de base R open source.
    • Packages et fournisseurs de connectivité R améliorés de l’équipe de développement Microsoft.
  2. Dans la page Consent pour installer Python, sélectionnez Accept>Next. Le contrat de licence open source Python couvre également anaconda et les outils connexes, ainsi que de nouvelles bibliothèques de Python de l’équipe de développement Microsoft.

    Note

    Si l’ordinateur que vous utilisez n’a pas accès à Internet, vous pouvez mettre en pause l’installation à ce stade pour télécharger les programmes d’installation séparément. Pour plus d’informations, consultez Installer des composants de machine learning sans accès à Internet.

  3. Dans la page Prêt pour l’installation, vérifiez que ces sélections sont ajoutées, puis sélectionnez Installer :

    • Services du Moteur de Base de Données
    • Machine Learning Services (dans la base de données)
    • R, Python, ou les deux

    Notez l’emplacement du dossier sous le chemin où sont stockés les fichiers de configuration. Une fois l’installation terminée, vous pouvez passer en revue les composants installés dans le fichier de synthèse.

  4. Si vous êtes invité à redémarrer l’ordinateur après l’installation, faites-le. Lisez bien le message de l’Assistant Installation à la fin de l’installation. Pour plus d’informations, consultez Afficher et lire les fichiers journaux de l'installation de SQL Server.

  1. Dans la page Accepter l’installation de Microsoft R Open, sélectionnez AccepterSuivant. Le contrat de licence couvre Microsoft R Open, qui comprend une distribution des outils et packages de base R open source. Il comprend aussi des packages R et des fournisseurs de connectivité améliorés fournis par l’équipe de développement Microsoft.

  2. Dans la page Consent pour installer Python, sélectionnez Accept>Next. Le contrat de licence open source Python couvre également anaconda et les outils connexes, ainsi que de nouvelles bibliothèques de Python de l’équipe de développement Microsoft.

  3. Dans la page Prêt pour l’installation, vérifiez que ces sélections sont ajoutées, puis sélectionnez Installer :

    • Service du moteur de base de données
    • Machine Learning Services (dans la base de données)
    • R, Python, ou les deux

    Notez l’emplacement du dossier sous le chemin où sont stockés les fichiers de configuration. Une fois l’installation terminée, vous pouvez passer en revue les composants installés dans le fichier de synthèse.

  4. Si vous êtes invité à redémarrer l’ordinateur après l’installation, faites-le. Lisez bien le message de l’Assistant Installation à la fin de l’installation. Pour plus d’informations, consultez Consultez et lisez les fichiers journaux d'installation de SQL Server.

Définir des variables d’environnement

Pour l’intégration de fonctionnalités R uniquement, vous devez définir la variable d’environnement pour garantir la cohérence de la sortie des calculs d’Intel Math Kernel Library (MKL) :

  1. Dans Panneau de configuration, sélectionnez System and Security>System>Advanced System Settings>Environment Variables.

  2. Créez une variable Utilisateur ou Système :

    • Définissez le nom de la variable sur .
    • Définissez la valeur de la variable sur .

Cette étape nécessite un redémarrage du serveur. Si vous êtes sur le point d’activer l’exécution de scripts, vous pouvez reporter le redémarrage jusqu’à ce que le travail de configuration soit terminé.

Activer l’exécution de scripts

  1. Utilisez SQL Server Management Studio (SSMS) pour vous connecter à l’instance où vous avez installé SQL Server Machine Learning Services.

  2. Sélectionnez Nouvelle requête pour ouvrir une fenêtre de requête, puis exécutez la commande suivante :

    EXEC sp_configure
    
  3. La valeur de la propriété doit être à ce stade. Cette fonctionnalité est désactivée par défaut. Pour l’activer afin de pouvoir exécuter des scripts R ou Python, exécutez l’instruction suivante :

    EXEC sp_configure  'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    

    Si vous avez déjà activé la fonctionnalité pour la langue R, vous n'avez pas besoin d'exécuter RECONFIGURE une deuxième fois pour Python. La plateforme d’extensibilité sous-jacente prend en charge les deux langages.

Redémarrez le service.

Une fois l’installation terminée, redémarrez le moteur de base de données. Le redémarrage du service redémarre également automatiquement le service SQL Server Launchpad associé.

Vous pouvez redémarrer le service en utilisant une de ces méthodes :

  • La commande Redémarrer par clic droit pour l’instance dans l’Explorateur d’objets dans SSMS
  • Élément Services Microsoft Management Console (MMC) dans Panneau de configuration
  • Gestionnaire de configuration SQL Server

Vérifier l'installation

Utilisez les étapes suivantes pour vérifier que tous les composants utilisés pour lancer les scripts externes sont en cours d’exécution :

  1. Dans SQL Server Management Studio, ouvrez une nouvelle fenêtre de requête et exécutez la commande suivante :

    EXECUTE sp_configure  'external scripts enabled'
    

    Ensuite, est défini sur .

  2. Ouvrez l’élément du panneau de configuration Services ou Gestionnaire de configuration SQL Server, puis vérifiez que SQL Server service Launchpad est en cours d’exécution. Vous devez disposer d’un service pour chaque instance du moteur de base de données sur laquelle R ou Python installé. Pour plus d’informations sur le service, consultez Architecture d’extensibilité dans SQL Server Machine Learning Services.

  3. Si Launchpad est en cours d’exécution, vous pouvez exécuter des scripts Python et R simples pour vérifier que les runtimes de script externes peuvent communiquer avec SQL Server.

    Ouvrez une nouvelle fenêtre Query dans SQL Server Management Studio, puis exécutez un script tel que :

    • Pour R :

      EXEC sp_execute_external_script  @language =N'R',
      @script=N'
      OutputDataSet <- InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      
    • Pour Python :

      EXEC sp_execute_external_script  @language =N'Python',
      @script=N'
      OutputDataSet = InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      

    La première fois que vous chargez le runtime du script externe, le script peut prendre un certain temps pour s’exécuter. Les résultats doivent se présenter comme suit :

    bonjour
    1

Note

Les colonnes ou les en-têtes utilisés dans le script Python ne sont pas retournés automatiquement. Pour ajouter des noms de colonne à votre sortie, vous devez spécifier le schéma du jeu de données de retour. Pour cela, utilisez le paramètre de la procédure stockée en nommant les colonnes et en spécifiant le type de données SQL.

Par exemple, vous pouvez ajouter la ligne suivante pour générer un nom de colonne arbitraire : .

Appliquer des mises à jour

Installation existante

Si vous avez ajouté Machine Learning Services à une instance de SQL Server existante et que vous avez précédemment appliqué une mise à jour cumulative (CU), les versions de votre moteur de base de données et la fonctionnalité Machine Learning Services peuvent être différentes. Cette différence peut entraîner un comportement inattendu ou des erreurs parce que et ont des versions différentes.

Procédez comme suit pour apporter Machine Learning Services à la même version que votre moteur de base de données :

  1. Déterminez la mise à jour cumulative de votre moteur de base de données. Exécutez cette instruction T-SQL :

    SELECT @@VERSION
    

    Voici un exemple de sortie de SQL Server 2019 CU 8 :

    Microsoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64)   Nov  2 2020 18:35:09   Copyright (C) 2019 Microsoft Corporation  Developer Edition (64-bit) on Windows 10 Enterprise 10.0 (X64) (Build 19042: ) (Hypervisor)
    

    Pour plus d’informations, consultez Déterminer la version, l’édition et le niveau de mise à jour de SQL Server et de ses composants.

  2. Si nécessaire, téléchargez la mise à jour cumulative que vous avez installée pour le moteur de base de données.

  3. Exécutez l’installation de la mise à jour cumulative et suivez les instructions pour l’installer à nouveau pour Machine Learning Services. Sélectionnez l’instance existante où Machine Learning Services est installé. L’état de la mise à niveau indique Installée de manière incomplète dans la page Sélection des fonctionnalités.

  4. Sélectionnez Suivant et poursuivez l’installation.

Nouvelle installation

Si vous installez Machine Learning Services avec une nouvelle installation du moteur de base de données SQL Server, nous vous recommandons d’appliquer la dernière mise à jour cumulative au moteur de base de données et aux composants machine learning.

Sur les appareils connectés à Internet, les mises à jour cumulatives sont généralement appliquées via Windows Update. Toutefois, vous pouvez également utiliser les étapes suivantes pour contrôler les mises à jour. Lorsque vous appliquez la mise à jour pour le moteur de base de données, le programme d’installation extrait les mises à jour cumulatives pour toutes les fonctionnalités Python ou R que vous avez installées sur la même instance.

Les serveurs non connectés nécessitent des étapes supplémentaires. Pour plus d’informations, consultez Installation sur des ordinateurs sans accès à Internet Appliquer les mises à jour cumulatives.

  1. Commencez par une instance de base de référence déjà installée : SQL Server version initiale.

  2. Accédez à la liste des mises à jour pour Microsoft SQL Server.

  3. Sélectionnez la mise à jour cumulative la plus récente. Un fichier exécutable est téléchargé et extrait automatiquement.

  4. Exécutez le programme d’installation et acceptez les termes du contrat de licence.

  5. Dans la page Sélection de fonctionnalités, passez en revue les fonctionnalités pour lesquelles des mises à jour cumulatives sont appliquées. Vous devez voir toutes les fonctionnalités installées pour l’instance actuelle, y compris les fonctionnalités de machine learning. Le programme d’installation télécharge les fichiers CAB nécessaires à la mise à jour de toutes les fonctionnalités.

    Capture d’écran montrant un récapitulatif des fonctionnalités installées.

  6. Poursuivez avec l'Assistant. Acceptez les termes du contrat de licence pour les distributions R et Python.

Configuration supplémentaire

Si l’étape de vérification du script externe a réussi, vous pouvez exécuter des commandes R ou Python à partir de SQL Server Management Studio, de Visual Studio Code ou de tout autre client capable d’envoyer des instructions T-SQL au serveur.

Si vous avez obtenu une erreur quand vous avez exécuté la commande, vous devez peut-être effectuer des configurations supplémentaires dans le service ou la base de données. Au niveau de l’instance, ces configurations supplémentaires peuvent comprendre :

En SQL Server 2019 sur Windows, le mécanisme d’isolation a changé. Ce mécanisme affecte SQLRUserGroup, les règles de pare-feu, l’autorisation de fichier et l’authentification implicite. Pour plus d’informations, consultez les modifications d'isolation pour Machine Learning Services.

Dans la base de données, vous pouvez avoir besoin d’effectuer des mises à jour de configuration. Pour plus d’informations, voir Donner aux utilisateurs l'autorisation pour SQL Server Machine Learning Services.

Note

Si la configuration supplémentaire est requise dépend de votre schéma de sécurité, de l’emplacement où vous avez installé SQL Server et de la façon dont vous attendez que les utilisateurs se connectent à la base de données et exécutent des scripts externes.

Optimisations suggérées

Maintenant que tout fonctionne, vous pouvez également optimiser le serveur pour prendre en charge l'apprentissage automatique ou installer un modèle d'apprentissage automatique préentraîné.

Ajouter plus de comptes d'utilisateurs

Si vous prévoyez que plusieurs utilisateurs exécutent les scripts simultanément, vous pouvez augmenter le nombre de comptes de travail attribués au service Launchpad. Pour plus d’informations, consultez Échelle de l'exécution simultanée de scripts externes dans SQL Server Machine Learning Services.

Optimiser le serveur pour l’exécution de scripts

Les paramètres par défaut de SQL Server configuration sont destinés à optimiser l’équilibre du serveur pour divers autres services et applications.

Dans les paramètres par défaut, les ressources sont parfois restreintes ou limitées pour le machine learning, en particulier dans les opérations utilisant beaucoup de mémoire.

Pour vous assurer que les travaux Machine Learning sont hiérarchisés et correctement mis en ressources, nous vous recommandons d’utiliser SQL Server Resource Governor pour configurer un pool de ressources externe. Vous pouvez également modifier la quantité de mémoire allouée au moteur de base de données SQL Server, ou augmenter le nombre de comptes qui s'exécutent sous le service Launchpad SQL Server.

  • Pour configurer un pool de ressources afin de gérer des ressources externes, consultez Créer un pool de ressources externes.

  • Pour modifier la quantité de mémoire réservée à la base de données, consultez Options de configuration de la mémoire du serveur.

  • Pour modifier le nombre de comptes R que SQL Server Launchpad peut démarrer, consultez Écution simultanée de scripts externes dans SQL Server Machine Learning Services.

Si vous utilisez Standard Edition et que vous n'avez pas de Resource Governor, vous pouvez utiliser des vues de gestion dynamique, des événements étendus SQL Server et Windows surveillance des événements pour vous aider à gérer les ressources du serveur.

Installer des packages Python et R supplémentaires

Les solutions Python et R que vous créez pour SQL Server peuvent appeler :

  • Des fonctions de base.
  • Fonctions des packages propriétaires installés avec SQL Server.
  • Paquets tiers compatibles avec la version de Python open source et R que SQL Server installe.

Les packages que vous souhaitez utiliser à partir de SQL Server doivent être installés dans la bibliothèque par défaut utilisée par l’instance. Si vous avez une installation distincte de Python ou R sur l'ordinateur, ou si vous avez installé des packages dans des bibliothèques utilisateur, vous ne pouvez pas utiliser ces packages à partir de T-SQL.

Pour installer et gérer des packages supplémentaires, vous pouvez configurer des groupes d’utilisateurs afin de partager des packages pour chaque base de données ou configurer des rôles de base de données pour permettre aux utilisateurs d’installer leurs propres packages. Pour plus d’informations, consultez Installer de nouveaux packages R.