Installer un CLR personnalisé R pour SQL Server

S’applique à : SQL Server 2019 (15.x)

Découvrez comment installer un runtime R personnalisé pour l’exécution de scripts R externes avec SQL Server sur :

  • Windows
  • Ubuntu Linux
  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES) version 12

Le runtime personnalisé peut exécuter des scripts de Machine Learning et utilise les extensions de langage SQL Server.

Utilisez votre propre version du runtime R avec SQL Server, au lieu de celle par défaut installée avec SQL Server Machine Learning Services.

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

Prérequis

Avant d’installer un CLR personnalisé R, installez les éléments suivants :

Installer les extensions de langage

Notes

Si vous avez Machine Learning Services installé sur SQL Server 2019, les extensions de langage sont déjà installées et vous pouvez ignorer cette étape.

Effectuez les étapes ci-dessous pour installer les extensions de langage SQL Server, qui sont utilisées pour le runtime R personnalisé.

  1. Démarrez l’Assistant Installation de SQL Server 2019.

  2. Sous l’onglet Installation, sélectionnez Nouvelle installation autonome de SQL Server ou ajout de fonctionnalités à une installation existante.

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

    • Services Moteur de base de données

      Pour utiliser les extensions de langage avec SQL Server, vous devez installer une instance du moteur de base de données. Vous pouvez utiliser une instance nouvelle ou existante.

    • Machine Learning Services et extensions de langage

      Sélectionnez Machine Learning Services et extensions de langage. Ne sélectionnez pas R, car vous installerez le runtime R personnalisé plus tard.

      SQL Server 2019 Language Extensions setup.

  4. Dans la page Prêt pour l’installation, vérifiez que ces sélections sont incluses, puis choisissez Installer.

    • Services Moteur de base de données
    • Machine Learning Services et extensions de langage
  5. Une fois l’installation terminée, redémarrez la machine si vous y êtes invité.

Important

Si vous installez une nouvelle instance de SQL Server 2019 avec les extensions de langage, installez la mise à jour cumulative (CU) 3 ou une version ultérieure avant de passer à l’étape suivante.

Installation de R

Téléchargez et installez la version de R que vous allez utiliser comme runtime personnalisé. Les versions 3.3 et ultérieures de R sont prises en charge.

  1. Téléchargez R version 3.3 ou ultérieure.

  2. Exécutez le programme d’installation de R.

  3. Notez le chemin d’installation de R. Par exemple, dans cet article, il s’agit de C:\Program Files\R\R-4.0.3.

    R setup

Mettre à jour les variables d’environnement système

Effectuez ces étapes pour modifier les variables d’environnement système PATH.

  1. Dans la zone de recherche Windows, recherchez Modifier les variables d’environnement système et ouvrez le résultat.

  2. Sous Avancé, sélectionnez Variables d’environnement.

  3. Modifiez la variable d’environnement système PATH.

    Sélectionnez PATH, puis cliquez sur Modifier.

    Sélectionnez Nouveau et ajoutez le chemin au dossier \bin\x64 dans le chemin d’installation de R. Par exemple : C:\Program Files\R\R-4.0.3\bin\x64.

Installer le package Rcpp

Effectuez ces étapes pour installer le package Rcpp.

  1. Démarrez une invite de commandes avec élévation de privilèges (Exécuter en tant qu’administrateur).

  2. Exécutez R à partir de l’invite de commandes. Exécutez \bin\R.exe dans le dossier du chemin d’installation de R. Par exemple : C:\Program Files\R\R-4.0.3\bin\R.exe.

    "C:\Program Files\R\R-4.0.3\bin\R.exe"
    
  3. Exécutez le script suivant pour installer le package Rcpp dans le dossier \library du chemin d’installation de R. Par exemple : C:\Program Files\R\R-4.0.3\library.

    install.packages("Rcpp", lib="C:\\Program Files\\R\\R-4.0.3\\library");
    

Accorder l’accès au dossier R

Notes

Si vous avez installé R dans l’emplacement par défaut C:\Program Files\R\R-version (par exemple, C:\Program Files\R\R-4.0.3), vous pouvez ignorer cette étape.

Exécutez les commandes icacls suivantes à partir d’une nouvelle invite de commandes avec élévation de privilèges pour accorder l’accès READ & EXECUTE au nom d’utilisateur du service SQL Server Launchpad et au SID S-1-15-2-1 (ALL APPLICATION PACKAGES). Le nom d’utilisateur du service Launchpad se présente sous la forme NT Service\MSSQLLAUNCHPAD$INSTANCENAMEINSTANCENAME est le nom de l’instance de votre serveur SQL Server.

Les commandes accordent l’accès de manière récursive à tous les fichiers et dossiers sous le chemin d’un répertoire donné.

  1. Accordez des autorisations au chemin d’installation de R au nom d’utilisateur du service SQL Server Launchpad. Par exemple : C:\Program Files\R\R-4.0.3.

    icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
    

    Pour une instance nommée, la commande est icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T pour une instance appelée SQL01.

  2. Accordez des autorisations au chemin d’installation de R au SID S-1-15-2-1. Par exemple : C:\Program Files\R\R-4.0.3.

    icacls "C:\Program Files\R\R-4.0.3" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

    La commande précédente accorde des autorisations au SID de l’ordinateur S-1-15-2-1, ce qui équivaut à ALL APPLICATION PACKAGES sur une version en anglais de Windows. Vous pouvez également utiliser icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T sur une version en anglais de Windows.

Redémarrer SQL Server Launchpad

Procédez comme suit pour redémarrer le service SQL Server Launchpad.

  1. Ouvrez le Gestionnaire de configuration SQL Server.

  2. Sous Services SQL Server, cliquez avec le bouton droit sur SQL Server Launchpad (MSSQLSERVER) et sélectionnez Redémarrer. Si vous utilisez une instance nommée, le nom de l’instance s’affiche à la place de (MSSQLSERVER) .

Inscrire l’extension de langage

Effectuez ces étapes pour télécharger et inscrire l’extension de langage R, qui est utilisée pour le runtime R personnalisé.

  1. Téléchargez le fichier R-lang-extension-windows-release.zip à partir du dépôt GitHub d’extensions de langage SQL Server.

    Vous pouvez également utiliser la version debug (R-lang-extension-windows-debug.zip) dans un environnement de développement ou de test. La version debug fournit des informations de journalisation détaillées pour examiner les erreurs, et n’est pas recommandée pour les environnements de production.

  2. Utilisez Azure Data Studio pour vous connecter à votre instance SQL Server et exécutez la commande T-SQL suivante pour inscrire l’extension de langage R avec CREATE EXTERNAL LANGUAGE.

    Modifiez le chemin dans cette instruction pour refléter l’emplacement du fichier zip de l’extension de langage téléchargé (R-lang-extension-windows-release.zip) et l’emplacement de votre installation de R (C:\\Program Files\\R\\R-4.0.3).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'C:\path\to\R-lang-extension-windows-release.zip', 
        FILE_NAME = 'libRExtension.dll',
        ENVIRONMENT_VARIABLES = N'{"R_HOME": "C:\\Program Files\\R\\R-4.0.3"}');
    GO
    

    Exécutez l’instruction pour chaque base de données dans laquelle vous souhaitez utiliser l’extension de langage R.

    Notes

    R est un mot réservé et ne peut pas être utilisé comme nom pour un nouveau nom de langue externe. Utilisez un autre nom à la place. Par exemple, l’instruction ci-dessus utilise myR.

Prérequis

Avant d’installer un runtime R personnalisé, installez ce qui suit :

Installer les extensions de langage

Notes

Si vous avez Machine Learning Services installé sur SQL Server 2019, le package mssql-server-extensibility pour les extensions de langage est déjà installée et vous pouvez ignorer cette étape.

Exécutez les commandes ci-dessous pour installer les extensions de langage SQL Server sur Ubuntu Linux, qui sont utilisées pour le runtime R personnalisé.

  1. Si possible, exécutez cette commande pour actualiser les packages sur le système avant l’installation.

    # Install as root or sudo
    sudo apt-get update
    
  2. Installez mssql-server-extensibility à l’aide de cette commande.

    # Install as root or sudo
    sudo apt-get install mssql-server-extensibility
    

Installation de R

  1. Si Machine Learning Services est installé, R est déjà installé dans /opt/microsoft/ropen/3.5.2/lib64/R. Si vous souhaitez continuer à utiliser ce chemin en tant que R_HOME, vous pouvez ignorer cette étape.

    Si vous souhaitez utiliser un autre CLR de R, vous devez d’abord supprimer microsoft-r-open-mro avant de poursuivre l’installation d’une nouvelle version.

    sudo apt remove microsoft-r-open-mro-3.5.2
    
  2. Installez R (3.3 ou ultérieur) pour Ubuntu. Par défaut, R est installé dans /usr/lib/R. Ce chemin d’accès correspond à votre R_HOME. Si vous installez R dans un autre emplacement, notez ce chemin qui est votre R_HOME.

    Vous trouverez ci-dessous des exemples d’instructions pour Ubuntu. Modifiez l’URL de dépôt ci-dessous pour votre version de R.

    export DEBIAN_FRONTEND=noninteractive
    sudo apt-get update
    sudo apt-get --no-install-recommends -y install curl zip unzip apt-transport-https libstdc++6
    
    # Add R CRAN repository. This repository works for R 4.0.x.
    #
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
    sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran40/'
    sudo apt-get update
    
    # Install R runtime.
    #
    sudo apt-get -y install r-base-core
    

Installation personnalisée de R

Notes

Si vous avez installé R dans l’emplacement par défaut /usr/lib/R, vous pouvez ignorer cette section et passer à la section Installer le package Rcpp.

Mettez à jour les variables d’environnement

Tout d’abord, modifiez le service mssql-launchpadd pour ajouter la variable d’environnement R_HOME au fichier /etc/systemd/system/mssql-launchpadd.service.d/override.conf.

  1. Ouvrez le fichier avec systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Insérez le texte suivant dans le fichier /etc/systemd/system/mssql-launchpadd.service.d/override.conf qui s’ouvre. Définissez la valeur de R_HOME avec le chemin d’installation personnalisé de R.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Enregistrez et fermez.

Ensuite, assurez-vous que libR.so peut être chargé.

  1. Créez un fichier custom-r.conf dans /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Dans le fichier qui s’ouvre, ajoutez path à libR.so à partir de l’installation personnalisée de R.

    <path to the R lib>
    
  3. Enregistrez le nouveau fichier et fermez l’éditeur.

  4. Exécutez ldconfig et vérifiez que libR.so peuvent être chargés en exécutant la commande suivante et en vérifiant que toutes les bibliothèques dépendantes peuvent être trouvées.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Accorder l’accès au dossier d’installation de R personnalisé

Définissez l’option datadirectories de la section extensibility du fichier /var/opt/mssql/mssql.conf avec l’installation personnalisée de R.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

Redémarrer le service mssql-Launchpad

Exécutez la commande suivante pour redémarrer mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installer le package Rcpp

Effectuez ces étapes pour installer le package Rcpp.

  1. Démarrez R à partir d’un interpréteur de commandes :

    sudo ${R_HOME}/bin/R
    
  2. Exécutez le script suivant pour installer le package Rcpp dans le dossier ${R_HOME}\library.

install.packages("Rcpp", lib = "${R_HOME}/library");

Inscrivez l’extension de langage

Effectuez ces étapes pour télécharger et inscrire l’extension de langage R, qui est utilisée pour le runtime R personnalisé.

  1. Téléchargez le fichier R-lang-extension-linux-release.zip à partir du dépôt GitHub d’extensions de langage SQL Server.

    Vous pouvez également utiliser la version debug (R-lang-extension-linux-debug.zip) dans un environnement de développement ou de test. La version debug fournit des informations de journalisation détaillées pour examiner les erreurs, et n’est pas recommandée pour les environnements de production.

  2. Utilisez Azure Data Studio pour vous connecter à votre instance SQL Server et exécutez la commande T-SQL suivante pour inscrire l’extension de langage R avec CREATE EXTERNAL LANGUAGE.

    Modifiez le chemin dans cette instruction pour refléter l’emplacement du fichier zip de l’extension de langage téléchargé (R-lang-extension-linux-release.zip).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Exécutez l’instruction pour chaque base de données dans laquelle vous souhaitez utiliser l’extension de langage R.

    Notes

    R est un mot réservé et ne peut pas être utilisé comme nom pour un nouveau nom de langue externe. Utilisez un autre nom à la place. Par exemple, l’instruction ci-dessus utilise myR.

Prérequis

Avant d’installer un runtime R personnalisé, installez ce qui suit :

  • GLIBCXX_3.4.20 est nécessaire pour RExtension. Vérifiez que la version de libstdc++.so.6 de votre installation Red Hat Enterprise Linux (RHEL) le fournit.

Installer les extensions de langage

Notes

Si vous avez Machine Learning Services installé sur SQL Server 2019, le package mssql-server-extensibility pour les extensions de langage est déjà installée et vous pouvez ignorer cette étape.

Exécutez la commande ci-dessous pour installer les extensions de langage SQL Server sur RHEL (Red Hat Enterprise Linux), qui sont utilisées pour le runtime R personnalisé.

# Install as root or sudo
sudo yum install mssql-server-extensibility

Installation de R

  1. Si Machine Learning Services est installé, R est déjà installé dans /opt/microsoft/ropen/3.5.2/lib64/R. Si vous souhaitez continuer à utiliser ce chemin en tant que R_HOME, vous pouvez ignorer cette étape.

    Si vous souhaitez utiliser un autre CLR de R, vous devez d’abord supprimer microsoft-r-open-mro avant de poursuivre l’installation d’une nouvelle version.

    sudo yum erase microsoft-r-open-mro-3.5.2
    
  2. Installez R (3.3 ou ultérieur) pour RHEL (Red Hat Enterprise Linux). Par défaut, R est installé dans /usr/lib64/R. Ce chemin d’accès correspond à votre R_HOME. Si vous installez R dans un autre emplacement, notez ce chemin qui est votre R_HOME.

    sudo yum install -y R
    

Installation personnalisée de R

Notes

Si vous avez installé R dans l’emplacement par défaut /usr/lib/R, vous pouvez ignorer cette section et passer à la section Installer le package Rcpp.

Mettez à jour les variables d’environnement

Tout d’abord, modifiez le service mssql-launchpadd pour ajouter la variable d’environnement R_HOME au fichier /etc/systemd/system/mssql-launchpadd.service.d/override.conf.

  1. Ouvrez le fichier avec systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Insérez le texte suivant dans le fichier /etc/systemd/system/mssql-launchpadd.service.d/override.conf qui s’ouvre. Définissez la valeur de R_HOME avec le chemin d’installation personnalisé de R.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Enregistrez et fermez.

Ensuite, assurez-vous que libR.so peut être chargé.

  1. Créez un fichier custom-r.conf dans /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Dans le fichier qui s’ouvre, ajoutez path à libR.so à partir de l’installation personnalisée de R.

    <path to the R lib>
    
  3. Enregistrez le nouveau fichier et fermez l’éditeur.

  4. Exécutez ldconfig et vérifiez que libR.so peuvent être chargés en exécutant la commande suivante et en vérifiant que toutes les bibliothèques dépendantes peuvent être trouvées.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Accorder l’accès au dossier d’installation de R personnalisé

Définissez l’option datadirectories de la section extensibility du fichier /var/opt/mssql/mssql.conf avec l’installation personnalisée de R.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

Redémarrer le service mssql-Launchpad

Exécutez la commande suivante pour redémarrer mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installer le package Rcpp

Effectuez ces étapes pour installer le package Rcpp.

  1. Démarrez R à partir d’un interpréteur de commandes :

    sudo ${R_HOME}/bin/R
    
  2. Exécutez le script suivant pour installer le package Rcpp dans le dossier ${R_HOME}\library.

install.packages("Rcpp", lib = "${R_HOME}/library");

Inscrivez l’extension de langage

Effectuez ces étapes pour télécharger et inscrire l’extension de langage R, qui est utilisée pour le runtime R personnalisé.

  1. Téléchargez le fichier R-lang-extension-linux-release.zip à partir du dépôt GitHub d’extensions de langage SQL Server.

    Vous pouvez également utiliser la version debug (R-lang-extension-linux-debug.zip) dans un environnement de développement ou de test. La version debug fournit des informations de journalisation détaillées pour examiner les erreurs, et n’est pas recommandée pour les environnements de production.

  2. Utilisez Azure Data Studio pour vous connecter à votre instance SQL Server et exécutez la commande T-SQL suivante pour inscrire l’extension de langage R avec CREATE EXTERNAL LANGUAGE.

    Modifiez le chemin dans cette instruction pour refléter l’emplacement du fichier zip de l’extension de langage téléchargé (R-lang-extension-linux-release.zip).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Exécutez l’instruction pour chaque base de données dans laquelle vous souhaitez utiliser l’extension de langage R.

    Notes

    R est un mot réservé et ne peut pas être utilisé comme nom pour un nouveau nom de langue externe. Utilisez un autre nom à la place. Par exemple, l’instruction ci-dessus utilise myR.

Prérequis

Avant d’installer un runtime R personnalisé, installez ce qui suit :

Installer les extensions de langage

Notes

Si vous avez Machine Learning Services installé sur SQL Server 2019, le package mssql-server-extensibility pour les extensions de langage est déjà installée et vous pouvez ignorer cette étape.

Exécutez la commande ci-dessous pour installer les extensions de langage SQL Server sur SLES (SUSE Linux Enterprise Server), qui sont utilisées pour le runtime R personnalisé.

# Install as root or sudo
sudo zypper install mssql-server-extensibility

Installation de R

  1. Si Machine Learning Services est installé, R est déjà installé dans /opt/microsoft/ropen/3.5.2/lib64/R. Si vous souhaitez continuer à utiliser ce chemin en tant que R_HOME, vous pouvez ignorer cette étape.

    Si vous souhaitez utiliser un autre CLR de R, vous devez d’abord supprimer microsoft-r-open-mro avant de poursuivre l’installation d’une nouvelle version.

    sudo zypper remove microsoft-r-open-mro-3.4.4
    
  2. Installez R (3.3 ou ultérieur) pour SLES (SUSE Linux Enterprise Server). Par défaut, R est installé dans /usr/lib64/R. Ce chemin d’accès correspond à votre R_HOME. Si vous installez R dans un autre emplacement, notez ce chemin qui est votre R_HOME.

    Procédez comme suit pour installer R :

    sudo zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/R:/patched/openSUSE_12.3/ R-patched
    sudo zypper --gpg-auto-import-keys ref
    sudo zypper install R-core-libs R-core R-core-doc R-patched
    

    Vous pouvez ignorer les avertissements liés à R-tcltk-3.6.1, sauf si vous avez besoin de ce package.

Installation de gcc-c++

Installez gcc-c++ sur SUSE Linux Enterprise Server (SLES). Il est utilisé pour Rcpp, qui est installé ultérieurement.

sudo zypper install gcc-c++

Installation personnalisée de R

Notes

Si vous avez installé R dans l’emplacement par défaut /usr/lib/R, vous pouvez ignorer cette section et passer à la section Installer le package Rcpp.

Mettez à jour les variables d’environnement

Tout d’abord, modifiez le service mssql-launchpadd pour ajouter la variable d’environnement R_HOME au fichier /etc/systemd/system/mssql-launchpadd.service.d/override.conf.

  1. Ouvrez le fichier avec systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Insérez le texte suivant dans le fichier /etc/systemd/system/mssql-launchpadd.service.d/override.conf qui s’ouvre. Définissez la valeur de R_HOME avec le chemin d’installation personnalisé de R.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Enregistrez et fermez.

Ensuite, assurez-vous que libR.so peut être chargé.

  1. Créez un fichier custom-r.conf dans /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Dans le fichier qui s’ouvre, ajoutez path à libR.so à partir de l’installation personnalisée de R.

    <path to the R lib>
    
  3. Enregistrez le nouveau fichier et fermez l’éditeur.

  4. Exécutez ldconfig et vérifiez que libR.so peuvent être chargés en exécutant la commande suivante et en vérifiant que toutes les bibliothèques dépendantes peuvent être trouvées.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Accorder l’accès au dossier d’installation de R personnalisé

Définissez l’option datadirectories de la section extensibility du fichier /var/opt/mssql/mssql.conf avec l’installation personnalisée de R.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

Redémarrer le service mssql-Launchpad

Exécutez la commande suivante pour redémarrer mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installer le package Rcpp

Effectuez ces étapes pour installer le package Rcpp.

  1. Démarrez R à partir d’un interpréteur de commandes :

    sudo ${R_HOME}/bin/R
    
  2. Exécutez le script suivant pour installer le package Rcpp dans le dossier ${R_HOME}\library.

install.packages("Rcpp", lib = "${R_HOME}/library");

Inscrivez l’extension de langage

Effectuez ces étapes pour télécharger et inscrire l’extension de langage R, qui est utilisée pour le runtime R personnalisé.

  1. Téléchargez le fichier R-lang-extension-linux-release.zip à partir du dépôt GitHub d’extensions de langage SQL Server.

    Vous pouvez également utiliser la version debug (R-lang-extension-linux-debug.zip) dans un environnement de développement ou de test. La version debug fournit des informations de journalisation détaillées pour examiner les erreurs, et n’est pas recommandée pour les environnements de production.

  2. Utilisez Azure Data Studio pour vous connecter à votre instance SQL Server et exécutez la commande T-SQL suivante pour inscrire l’extension de langage R avec CREATE EXTERNAL LANGUAGE.

    Modifiez le chemin dans cette instruction pour refléter l’emplacement du fichier zip de l’extension de langage téléchargé (R-lang-extension-linux-release.zip).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Exécutez l’instruction pour chaque base de données dans laquelle vous souhaitez utiliser l’extension de langage R.

    Notes

    R est un mot réservé et ne peut pas être utilisé comme nom pour un nouveau nom de langue externe. Utilisez un autre nom à la place. Par exemple, l’instruction ci-dessus utilise myR.

Activer le script externe

Vous pouvez exécuter un script externe R avec la procédure stockée sp_execute_external script.

Pour activer les scripts externes, utilisez Azure Data Studio pour exécuter l’instruction ci-dessous.

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

Vérifier l'installation

Utilisez le script SQL suivant pour vérifier l’installation et le bon fonctionnement du runtime personnalisé R. Dans l’exemple de script ci-dessous, myR est utilisé comme nom de langage car le nom de langage par défaut R ne peut pas être fourni pour un runtime personnalisé.

EXEC sp_execute_external_script
    @language =N'myR',
    @script=N'
print(R.home());
print(file.path(R.home("bin"), "R"));
print(R.version);
print("Hello RExtension!");'

Problèmes connus

Si vous utilisez le runtime R fourni dans le cadre de SQL Server Machine Learning Services en affectant R_HOME à C:\Program Files\Microsoft SQL Server\MSSQL15.<INSTANCE_NAME>\R_SERVICES lorsque vous enregistrez l’extension de langage, vous risquez de rencontrer l’erreur suivante lors de l’exécution d’un script R personnalisé externe avec sp_execute_external script.

Erreur : mémoire cons épuisée (limite atteinte ?)

Pour résoudre ce problème :

  1. Définissez la variable d’environnement R_NSIZE indiquant le nombre d’objets de taille fixe (cons cells) sur une valeur raisonnable, par exemple 200000.
  2. Redémarrez le service Launchpad et recommencez l’exécution du script.

Problèmes connus

Si libstdc++.so.6 ne correspond pas à la bonne version, l’erreur suivante se produit :

Exthost: Load extension failed /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by /home/mssql_satellite/externallanguagessandboxpath/libRExtension.so.1.1)

Étapes suivantes