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 :
- Si vous utilisez une instance existante de SQL Server, installez la mise à jour cumulative (CU) 3 ou ultérieure pour SQL Server 2019.
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é.
Démarrez l’Assistant Installation de SQL Server 2019.
Sous l’onglet Installation, sélectionnez Nouvelle installation autonome de SQL Server ou ajout de fonctionnalités à une installation existante.
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.
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
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.
Téléchargez R version 3.3 ou ultérieure.
Exécutez le programme d’installation de R.
Notez le chemin d’installation de R. Par exemple, dans cet article, il s’agit de
C:\Program Files\R\R-4.0.3
.
Mettre à jour les variables d’environnement système
Effectuez ces étapes pour modifier les variables d’environnement système PATH.
Dans la zone de recherche Windows, recherchez Modifier les variables d’environnement système et ouvrez le résultat.
Sous Avancé, sélectionnez Variables d’environnement.
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.
Démarrez une invite de commandes avec élévation de privilèges (Exécuter en tant qu’administrateur).
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"
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$INSTANCENAME
où INSTANCENAME
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é.
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.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.
Ouvrez le Gestionnaire de configuration SQL Server.
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é.
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.
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 :
Installez SQL Server 2019 pour Linux. Vous pouvez installer SQL Server sur Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) version 12 et Ubuntu. Pour plus d’informations, voir Conseils d’installation pour SQL Server sur Linux.
Effectuez une mise à niveau vers la mise à jour cumulative (CU) 3 ou version ultérieure pour SQL Server 2019. Effectuez les étapes suivantes :
Configurez les référentiels pour les mises à jour cumulatives. Pour plus d’informations, consultez Configurer les référentiels pour l’installation et la mise à niveau de SQL Server sur Linux.
Mettez à jour le package mssql-server vers la dernière mise à jour cumulative. Pour plus d’informations, consultez la section Mettre à jour ou mettre à niveau SQL Server dans le Guide d’installation de SQL Server sur Linux.
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é.
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
Installez mssql-server-extensibility à l’aide de cette commande.
# Install as root or sudo sudo apt-get install mssql-server-extensibility
Installation de R
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
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
.
Ouvrez le fichier avec systemctl
sudo systemctl edit mssql-launchpadd
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>"
Enregistrez et fermez.
Ensuite, assurez-vous que libR.so
peut être chargé.
Créez un fichier custom-r.conf dans /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
Dans le fichier qui s’ouvre, ajoutez path à libR.so à partir de l’installation personnalisée de R.
<path to the R lib>
Enregistrez le nouveau fichier et fermez l’éditeur.
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.
Démarrez R à partir d’un interpréteur de commandes :
sudo ${R_HOME}/bin/R
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é.
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.
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 :
Installez SQL Server 2019 pour Linux. Vous pouvez installer SQL Server sur Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) version 12 et Ubuntu. Pour plus d’informations, voir Conseils d’installation pour SQL Server sur Linux.
Effectuez une mise à niveau vers la mise à jour cumulative (CU) 3 ou version ultérieure pour SQL Server 2019. Effectuez les étapes suivantes :
Configurez les référentiels pour les mises à jour cumulatives. Pour plus d’informations, consultez Configurer les référentiels pour l’installation et la mise à niveau de SQL Server sur Linux.
Mettez à jour le package mssql-server vers la dernière mise à jour cumulative. Pour plus d’informations, consultez la section Mettre à jour ou mettre à niveau SQL Server dans le Guide d’installation de SQL Server sur Linux.
- 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
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
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
.
Ouvrez le fichier avec systemctl
sudo systemctl edit mssql-launchpadd
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>"
Enregistrez et fermez.
Ensuite, assurez-vous que libR.so
peut être chargé.
Créez un fichier custom-r.conf dans /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
Dans le fichier qui s’ouvre, ajoutez path à libR.so à partir de l’installation personnalisée de R.
<path to the R lib>
Enregistrez le nouveau fichier et fermez l’éditeur.
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.
Démarrez R à partir d’un interpréteur de commandes :
sudo ${R_HOME}/bin/R
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é.
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.
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 :
Installez SQL Server 2019 pour Linux. Vous pouvez installer SQL Server sur Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) version 12 et Ubuntu. Pour plus d’informations, voir Conseils d’installation pour SQL Server sur Linux.
Effectuez une mise à niveau vers la mise à jour cumulative (CU) 3 ou version ultérieure pour SQL Server 2019. Effectuez les étapes suivantes :
Configurez les référentiels pour les mises à jour cumulatives. Pour plus d’informations, consultez Configurer les référentiels pour l’installation et la mise à niveau de SQL Server sur Linux.
Mettez à jour le package mssql-server vers la dernière mise à jour cumulative. Pour plus d’informations, consultez la section Mettre à jour ou mettre à niveau SQL Server dans le Guide d’installation de SQL Server sur Linux.
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
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
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
.
Ouvrez le fichier avec systemctl
sudo systemctl edit mssql-launchpadd
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>"
Enregistrez et fermez.
Ensuite, assurez-vous que libR.so
peut être chargé.
Créez un fichier custom-r.conf dans /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
Dans le fichier qui s’ouvre, ajoutez path à libR.so à partir de l’installation personnalisée de R.
<path to the R lib>
Enregistrez le nouveau fichier et fermez l’éditeur.
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.
Démarrez R à partir d’un interpréteur de commandes :
sudo ${R_HOME}/bin/R
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é.
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.
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 :
- Définissez la variable d’environnement
R_NSIZE
indiquant le nombre d’objets de taille fixe (cons cells
) sur une valeur raisonnable, par exemple200000
. - 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)