Instalación de un entorno de ejecución personalizado de R para SQL Server
Se aplica a: SQL Server 2019 (15.x)
Obtenga información sobre cómo instalar un entorno de ejecución personalizado de R para ejecutar scripts de R externos con SQL Server en:
- Windows
- Ubuntu Linux
- Red Hat Enterprise Linux (RHEL)
- Versión 12 de SUSE Linux Enterprise Server (SLES)
El entorno de ejecución personalizado puede ejecutar scripts de aprendizaje automático y usa Extensiones de lenguaje de SQL Server.
Use la versión propia del entorno de ejecución de R con SQL Server, en lugar de la versión del entorno de ejecución predeterminada instalada con SQL Server Machine Learning Services.
A partir de SQL Server 2022 (16.x), los entornos de ejecución de R, Python y Java ya no se instalan con el programa de instalación de SQL. En su lugar, instale los paquetes y entornos de ejecución personalizados de R que quiera. Para obtener más información, consulte Instalación de SQL Server 2022 Machine Learning Services (Python y R) en Windows o Instalación de SQL Server Machine Learning Services (Python y R) en Linux.
Requisitos previos
Antes de instalar un entorno de ejecución personalizado de R, instale lo siguiente:
- Si usa una instancia de SQL Server existente, instale la actualización acumulativa (CU) 3 o posterior para SQL Server 2019.
Instalación de Extensiones de lenguaje
Nota
Si instaló Machine Learning Services en SQL Server 2019, las Extensiones de lenguaje ya están instaladas y puede omitir este paso.
Siga los pasos que aparecen a continuación para instalar Extensiones de lenguaje de SQL Server, que se usa para el entorno de ejecución personalizado de R.
Inicie el asistente para la instalación de SQL Server 2019.
En la pestaña Instalación, seleccione Nueva instalación independiente de SQL Server o agregar características a una instalación existente.
En la página Selección de características , seleccione estas opciones:
Servicios de Motor de base de datos
Para usar las extensiones de lenguaje con SQL Server, debe instalar una instancia del motor de base de datos. Puede usar una instancia nueva o una existente.
Machine Learning Services y extensiones de lenguaje
Seleccione Machine Learning Services y extensiones de lenguaje. No seleccione R, ya que va a instalar el entorno de ejecución de R personalizado más adelante.
En la página Listo para instalar, confirme que estas selecciones se han realizado y haga clic en Instalar.
- Servicios de Motor de base de datos
- Machine Learning Services y extensiones de lenguaje
Una vez que se completa la instalación, reinicie la máquina si se le pide hacerlo.
Importante
Si instala una instancia nueva de SQL Server 2019 con Extensiones de lenguaje, instale la actualización acumulativa (CU) 3 o posterior antes de ir al paso siguiente.
Instalar R
Descargue e instale la versión de R que utilizará como el entorno de ejecución personalizado. Se admite la versión 3.3 o posterior de R.
Descargue la versión 3.3 o posterior de R.
Ejecute el programa de instalación de R.
Anote la ruta de acceso donde se instala R. Por ejemplo, en este artículo es
C:\Program Files\R\R-4.0.3
.
Actualización de las variables de entorno del sistema
Siga estos pasos para modificar las variables de entorno del sistema PATH.
En el cuadro de búsqueda de Windows, busque Editar las variables de entorno del sistema y ábralo.
En Opciones avanzadas, seleccione Variables de entorno.
Modifique la variable de entorno del sistema PATH.
Seleccione PATH y haga clic en Editar.
Seleccione Nueva y agregue la ruta de acceso a la carpeta
\bin\x64
en la ruta de instalación de R. Por ejemplo,C:\Program Files\R\R-4.0.3\bin\x64
.
Instalación del paquete Rcpp
Siga estos pasos para instalar el paquete Rcpp.
Inicie un símbolo del sistema con privilegios elevados (Ejecutar como administrador).
Inicie R desde el símbolo del sistema. Ejecute
\bin\R.exe
en la carpeta de la ruta de instalación de R. Por ejemplo,C:\Program Files\R\R-4.0.3\bin\R.exe
."C:\Program Files\R\R-4.0.3\bin\R.exe"
Ejecute el script siguiente para instalar el paquete Rcpp en la carpeta
\library
de la ruta de instalación de R. Por ejemplo,C:\Program Files\R\R-4.0.3\library
.install.packages("Rcpp", lib="C:\\Program Files\\R\\R-4.0.3\\library");
Concesión de acceso a la carpeta de R
Nota:
Si ha instalado R en la ubicación predeterminada C:\Program Files\R\R-version
(por ejemplo, C:\Program Files\R\R-4.0.3
), puede omitir este paso.
Ejecute los comandos icacls siguientes desde un nuevo símbolo del sistema con privilegios elevados para conceder acceso de LECTURA Y EJECUCIÓN al nombre de usuario del servicio SQL Server Launchpad y al SID S-1-15-2-1 (ALL APPLICATION PACKAGES). El nombre de usuario del servicio Launchpad tiene el formato NT Service\MSSQLLAUNCHPAD$INSTANCENAME
, donde INSTANCENAME
es el nombre de la instancia de SQL Server.
Estos comandos concederán acceso de forma recursiva a todos los archivos y carpetas en la ruta de acceso de directorio especificada.
Conceda permisos al nombre de usuario del servicio SQL Server Launchpad para la ruta de instalación de R. Por ejemplo,
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
En el caso de una instancia con nombre, el comando será
icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T
para una instancia denominada SQL01.Conceda permisos para SID S-1-15-2-1 a la ruta de instalación de R. Por ejemplo,
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
El comando anterior concede permisos al SID del equipo S-1-15-2-1, que es equivalente a TODOS LOS PAQUETES DE APLICACIONES en una versión en inglés de Windows. Como alternativa, puede usar
icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T
en una versión en inglés de Windows.
Reinicio de SQL Server Launchpad
Siga estos pasos para reiniciar el servicio SQL Server Launchpad.
En Servicios de SQL Server, haga clic con el botón derecho en SQL Server Launchpad (MSSQLSERVER) y seleccione Reiniciar. Si usa una instancia con nombre, se mostrará el nombre de la instancia en lugar de (MSSQLSERVER) .
Registro de la extensión del lenguaje
Siga estos pasos para descargar y registrar la extensión del lenguaje R, que se usa para el entorno de ejecución personalizado de R.
Descargue el archivo R-lang-extension-windows-release.zip del repositorio de GitHub de Extensiones de lenguaje de SQL Server.
También puede usar la versión de depuración (R-lang-extension-windows-debug.zip) en un entorno de desarrollo o prueba. La versión de depuración proporciona información de registro detallada para investigar los errores y no se recomienda para los entornos de producción.
Use Azure Data Studio para conectarse a la instancia de SQL Server y ejecute el comando de T-SQL siguiente para registrar la extensión del lenguaje R con CREATE EXTERNAL LANGUAGE.
Modifique la ruta de acceso de esta instrucción para reflejar la ubicación del archivo ZIP descargado de la extensión del lenguaje (R-lang-extension-windows-release.zip) y la ubicación de la instalación 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
Ejecute la instrucción para cada base de datos en la que quiera usar la extensión del lenguaje R.
Nota:
R es una palabra reservada y no se puede usar como nombre de un lenguaje externo nuevo. Use otro nombre. Por ejemplo, en la instrucción anterior se usa myR.
Requisitos previos
Antes de instalar un entorno de ejecución personalizado de R, instale lo siguiente:
Instale SQL Server 2019 para Linux. Puede instalar SQL Server en Red Hat Enterprise Linux (RHEL), la versión 12 de SUSE Linux Enterprise Server (SLES) y Ubuntu. Para más información, consulte la guía de instalación de SQL Server en Linux.
Instale la actualización acumulativa (CU) 3 o posterior para SQL Server 2019. Siga estos pasos:
Configure los repositorios para las actualizaciones acumulativas. Para más información, consulte Configuración de repositorios para instalar y actualizar SQL Server en Linux.
Actualice el paquete mssql-server a la actualización acumulativa más reciente. Para más información, consulte la sección de actualización de SQL Server en la guía de instalación de SQL Server en Linux.
Instalación de Extensiones de lenguaje
Nota:
Si instaló Machine Learning Services en SQL Server 2019, el paquete mssql-server-extensibility para las Extensiones de lenguaje ya está instalado y puede omitir este paso.
Ejecute los comandos siguientes para instalar Extensiones de lenguaje de SQL Server en Ubuntu Linux, que se usa para el entorno de ejecución personalizado de R.
Si es posible, ejecute este comando para actualizar los paquetes en el sistema antes de la instalación.
# Install as root or sudo sudo apt-get update
Instale mssql-server-extensibility con este comando.
# Install as root or sudo sudo apt-get install mssql-server-extensibility
Instalar R
Si ha instalado Machine Learning Services, R ya está instalado en
/opt/microsoft/ropen/3.5.2/lib64/R
. Si quiere seguir usando esta ruta de acceso como valor de R_HOME, puede omitir este paso.Si desea usar otro entorno de ejecución de R, primero debe eliminar
microsoft-r-open-mro
antes de continuar con la instalación de una nueva versión.sudo apt remove microsoft-r-open-mro-3.5.2
Instale R (3.3 o una versión posterior) para Ubuntu. De forma predeterminada, R se instala en /usr/lib/R. Esta ruta de acceso es R_HOME. Si instala R en otra ubicación, anote esa ruta de acceso como R_HOME.
A continuación se muestran instrucciones de ejemplo para Ubuntu. Cambie la dirección URL del repositorio siguiente para su versión 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
Instalación personalizada de R
Nota:
Si ha instalado R en la ubicación predeterminada de /usr/lib/R, puede omitir esta sección y pasar a Instalación del paquete Rcpp.
Actualización de las variables de entorno
En primer lugar, edite el servicio mssql-launchpadd para agregar la variable de entorno R_HOME al archivo /etc/systemd/system/mssql-launchpadd.service.d/override.conf
.
Abra el archivo con systemctl.
sudo systemctl edit mssql-launchpadd
Inserte el texto siguiente en el archivo
/etc/systemd/system/mssql-launchpadd.service.d/override.conf
que se abre. Establezca el valor de R_HOME en la ruta de instalación personalizada de R.[Service] Environment="R_HOME=<path to R>"
Guarde y cierre el archivo.
A continuación, asegúrese de que se puede cargar libR.so
.
Cree el archivo custom-r.conf en /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
En el archivo que se abre, agregue la ruta de acceso a libR.so desde la instalación personalizada de R.
<path to the R lib>
Guarde el archivo nuevo y cierre el editor.
Ejecute
ldconfig
y compruebe que se puede cargar libR.so; para ello, ejecute el comando siguiente y compruebe que se pueden encontrar todas las bibliotecas dependientes.sudo ldconfig ldd <path to the R lib>/libR.so
Concesión de acceso a la carpeta de instalación personalizada de R
Establezca la opción datadirectories
de la sección de extensibilidad del archivo /var/opt/mssql/mssql.conf
en la instalación personalizada de R.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>
Reinicio del servicio mssql-launchpadd
Ejecute el comando siguiente para reiniciar mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Instalación del paquete Rcpp
Siga estos pasos para instalar el paquete Rcpp.
Inicie R desde un shell:
sudo ${R_HOME}/bin/R
Ejecute el script siguiente para instalar el paquete Rcpp en la carpeta ${R_HOME}\library.
install.packages("Rcpp", lib = "${R_HOME}/library");
Registro de la extensión del lenguaje
Siga estos pasos para descargar y registrar la extensión del lenguaje R, que se usa para el entorno de ejecución personalizado de R.
Descargue el archivo R-lang-extension-linux-release.zip del repositorio de GitHub de Extensiones de lenguaje de SQL Server.
También puede usar la versión de depuración (R-lang-extension-linux-debug.zip) en un entorno de desarrollo o prueba. La versión de depuración proporciona información de registro detallada para investigar los errores y no se recomienda para los entornos de producción.
Use Azure Data Studio para conectarse a la instancia de SQL Server y ejecute el comando de T-SQL siguiente para registrar la extensión del lenguaje R con CREATE EXTERNAL LANGUAGE.
Modifique la ruta de acceso de esta instrucción para reflejar la ubicación del archivo ZIP descargado de la extensión del lenguaje (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
Ejecute la instrucción para cada base de datos en la que quiera usar la extensión del lenguaje R.
Nota:
R es una palabra reservada y no se puede usar como nombre de un lenguaje externo nuevo. Use otro nombre. Por ejemplo, en la instrucción anterior se usa myR.
Requisitos previos
Antes de instalar un entorno de ejecución personalizado de R, instale lo siguiente:
Instale SQL Server 2019 para Linux. Puede instalar SQL Server en Red Hat Enterprise Linux (RHEL), la versión 12 de SUSE Linux Enterprise Server (SLES) y Ubuntu. Para más información, consulte la guía de instalación de SQL Server en Linux.
Instale la actualización acumulativa (CU) 3 o posterior para SQL Server 2019. Siga estos pasos:
Configure los repositorios para las actualizaciones acumulativas. Para más información, consulte Configuración de repositorios para instalar y actualizar SQL Server en Linux.
Actualice el paquete mssql-server a la actualización acumulativa más reciente. Para más información, consulte la sección de actualización de SQL Server en la guía de instalación de SQL Server en Linux.
- RExtension requiere GLIBCXX_3.4.20. Asegúrese de que la versión de libstdc++.so.6 en la instalación de Red Hat Enterprise Linux (RHEL) lo proporciona.
Instalación de Extensiones de lenguaje
Nota:
Si instaló Machine Learning Services en SQL Server 2019, el paquete mssql-server-extensibility para las Extensiones de lenguaje ya está instalado y puede omitir este paso.
Ejecute el comando siguiente para instalar Extensiones de lenguaje de SQL Server en Red Hat Enterprise Linux (RHEL), que se usa para el entorno de ejecución personalizado de R.
# Install as root or sudo
sudo yum install mssql-server-extensibility
Instalar R
Si ha instalado Machine Learning Services, R ya está instalado en
/opt/microsoft/ropen/3.5.2/lib64/R
. Si quiere seguir usando esta ruta de acceso como valor de R_HOME, puede omitir este paso.Si desea usar otro entorno de ejecución de R, primero debe eliminar
microsoft-r-open-mro
antes de continuar con la instalación de una nueva versión.sudo yum erase microsoft-r-open-mro-3.5.2
Instale R (3.3 o una versión posterior) para Red Hat Enterprise Linux (RHEL). De forma predeterminada, R se instala en /usr/lib64/R. Esta ruta de acceso es R_HOME. Si instala R en otra ubicación, anote esa ruta de acceso como R_HOME.
sudo yum install -y R
Instalación personalizada de R
Nota:
Si ha instalado R en la ubicación predeterminada de /usr/lib/R, puede omitir esta sección y pasar a Instalación del paquete Rcpp.
Actualización de las variables de entorno
En primer lugar, edite el servicio mssql-launchpadd para agregar la variable de entorno R_HOME al archivo /etc/systemd/system/mssql-launchpadd.service.d/override.conf
.
Abra el archivo con systemctl.
sudo systemctl edit mssql-launchpadd
Inserte el texto siguiente en el archivo
/etc/systemd/system/mssql-launchpadd.service.d/override.conf
que se abre. Establezca el valor de R_HOME en la ruta de instalación personalizada de R.[Service] Environment="R_HOME=<path to R>"
Guarde y cierre el archivo.
A continuación, asegúrese de que se puede cargar libR.so
.
Cree el archivo custom-r.conf en /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
En el archivo que se abre, agregue la ruta de acceso a libR.so desde la instalación personalizada de R.
<path to the R lib>
Guarde el archivo nuevo y cierre el editor.
Ejecute
ldconfig
y compruebe que se puede cargar libR.so; para ello, ejecute el comando siguiente y compruebe que se pueden encontrar todas las bibliotecas dependientes.sudo ldconfig ldd <path to the R lib>/libR.so
Concesión de acceso a la carpeta de instalación personalizada de R
Establezca la opción datadirectories
de la sección de extensibilidad del archivo /var/opt/mssql/mssql.conf
en la instalación personalizada de R.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>
Reinicio del servicio mssql-launchpadd
Ejecute el comando siguiente para reiniciar mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Instalación del paquete Rcpp
Siga estos pasos para instalar el paquete Rcpp.
Inicie R desde un shell:
sudo ${R_HOME}/bin/R
Ejecute el script siguiente para instalar el paquete Rcpp en la carpeta ${R_HOME}\library.
install.packages("Rcpp", lib = "${R_HOME}/library");
Registro de la extensión del lenguaje
Siga estos pasos para descargar y registrar la extensión del lenguaje R, que se usa para el entorno de ejecución personalizado de R.
Descargue el archivo R-lang-extension-linux-release.zip del repositorio de GitHub de Extensiones de lenguaje de SQL Server.
También puede usar la versión de depuración (R-lang-extension-linux-debug.zip) en un entorno de desarrollo o prueba. La versión de depuración proporciona información de registro detallada para investigar los errores y no se recomienda para los entornos de producción.
Use Azure Data Studio para conectarse a la instancia de SQL Server y ejecute el comando de T-SQL siguiente para registrar la extensión del lenguaje R con CREATE EXTERNAL LANGUAGE.
Modifique la ruta de acceso de esta instrucción para reflejar la ubicación del archivo ZIP descargado de la extensión del lenguaje (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
Ejecute la instrucción para cada base de datos en la que quiera usar la extensión del lenguaje R.
Nota:
R es una palabra reservada y no se puede usar como nombre de un lenguaje externo nuevo. Use otro nombre. Por ejemplo, en la instrucción anterior se usa myR.
Requisitos previos
Antes de instalar un entorno de ejecución personalizado de R, instale lo siguiente:
Instale SQL Server 2019 para Linux. Puede instalar SQL Server en Red Hat Enterprise Linux (RHEL), la versión 12 de SUSE Linux Enterprise Server (SLES) y Ubuntu. Para más información, consulte la guía de instalación de SQL Server en Linux.
Instale la actualización acumulativa (CU) 3 o posterior para SQL Server 2019. Siga estos pasos:
Configure los repositorios para las actualizaciones acumulativas. Para más información, consulte Configuración de repositorios para instalar y actualizar SQL Server en Linux.
Actualice el paquete mssql-server a la actualización acumulativa más reciente. Para más información, consulte la sección de actualización de SQL Server en la guía de instalación de SQL Server en Linux.
Instalación de Extensiones de lenguaje
Nota:
Si instaló Machine Learning Services en SQL Server 2019, el paquete mssql-server-extensibility para las Extensiones de lenguaje ya está instalado y puede omitir este paso.
Ejecute el comando siguiente para instalar Extensiones de lenguaje de SQL Server en SUSE Linux Enterprise Server (SLES), que se usa para el entorno de ejecución personalizado de R.
# Install as root or sudo
sudo zypper install mssql-server-extensibility
Instalar R
Si ha instalado Machine Learning Services, R ya está instalado en
/opt/microsoft/ropen/3.5.2/lib64/R
. Si quiere seguir usando esta ruta de acceso como valor de R_HOME, puede omitir este paso.Si desea usar otro entorno de ejecución de R, primero debe eliminar
microsoft-r-open-mro
antes de continuar con la instalación de una nueva versión.sudo zypper remove microsoft-r-open-mro-3.4.4
Instale R (3.3 o una versión posterior) para SUSE Linux Enterprise Server (SLES). De forma predeterminada, R se instala en /usr/lib64/R. Esta ruta de acceso es R_HOME. Si instala R en otra ubicación, anote esa ruta de acceso como R_HOME.
Para instalar R, siga estos pasos:
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
Puede omitir las advertencias de R-tcltk-3.6.1, a menos que necesite este paquete.
Instalación de gcc-c++
Instale gcc-c++ en SUSE Linux Enterprise Server (SLES). Se usa para Rcpp, que se instala más adelante.
sudo zypper install gcc-c++
Instalación personalizada de R
Nota:
Si ha instalado R en la ubicación predeterminada de /usr/lib/R, puede omitir esta sección y pasar a Instalación del paquete Rcpp.
Actualización de las variables de entorno
En primer lugar, edite el servicio mssql-launchpadd para agregar la variable de entorno R_HOME al archivo /etc/systemd/system/mssql-launchpadd.service.d/override.conf
.
Abra el archivo con systemctl.
sudo systemctl edit mssql-launchpadd
Inserte el texto siguiente en el archivo
/etc/systemd/system/mssql-launchpadd.service.d/override.conf
que se abre. Establezca el valor de R_HOME en la ruta de instalación personalizada de R.[Service] Environment="R_HOME=<path to R>"
Guarde y cierre el archivo.
A continuación, asegúrese de que se puede cargar libR.so
.
Cree el archivo custom-r.conf en /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
En el archivo que se abre, agregue la ruta de acceso a libR.so desde la instalación personalizada de R.
<path to the R lib>
Guarde el archivo nuevo y cierre el editor.
Ejecute
ldconfig
y compruebe que se puede cargar libR.so; para ello, ejecute el comando siguiente y compruebe que se pueden encontrar todas las bibliotecas dependientes.sudo ldconfig ldd <path to the R lib>/libR.so
Concesión de acceso a la carpeta de instalación personalizada de R
Establezca la opción datadirectories
de la sección de extensibilidad del archivo /var/opt/mssql/mssql.conf
en la instalación personalizada de R.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>
Reinicio del servicio mssql-launchpadd
Ejecute el comando siguiente para reiniciar mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Instalación del paquete Rcpp
Siga estos pasos para instalar el paquete Rcpp.
Inicie R desde un shell:
sudo ${R_HOME}/bin/R
Ejecute el script siguiente para instalar el paquete Rcpp en la carpeta ${R_HOME}\library.
install.packages("Rcpp", lib = "${R_HOME}/library");
Registro de la extensión del lenguaje
Siga estos pasos para descargar y registrar la extensión del lenguaje R, que se usa para el entorno de ejecución personalizado de R.
Descargue el archivo R-lang-extension-linux-release.zip del repositorio de GitHub de Extensiones de lenguaje de SQL Server.
También puede usar la versión de depuración (R-lang-extension-linux-debug.zip) en un entorno de desarrollo o prueba. La versión de depuración proporciona información de registro detallada para investigar los errores y no se recomienda para los entornos de producción.
Use Azure Data Studio para conectarse a la instancia de SQL Server y ejecute el comando de T-SQL siguiente para registrar la extensión del lenguaje R con CREATE EXTERNAL LANGUAGE.
Modifique la ruta de acceso de esta instrucción para reflejar la ubicación del archivo ZIP descargado de la extensión del lenguaje (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
Ejecute la instrucción para cada base de datos en la que quiera usar la extensión del lenguaje R.
Nota:
R es una palabra reservada y no se puede usar como nombre de un lenguaje externo nuevo. Use otro nombre. Por ejemplo, en la instrucción anterior se usa myR.
Habilitación de scripts externos
Puede ejecutar un script externo de R con el procedimiento almacenado sp_execute_external_script.
Si quiere habilitar los scripts externos, use Azure Data Studio para ejecutar la instrucción siguiente.
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Comprobación de la instalación
Use el script de SQL siguiente para comprobar la instalación y la funcionalidad del runtime personalizado de Python. En el siguiente script de ejemplo, myR
se usa como nombre de idioma porque no se puede proporcionar el nombre de idioma predeterminado R
para un entorno de ejecución personalizado.
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!");'
Problemas conocidos
Si usa el entorno de ejecución de R que se proporciona como parte de SQL Server Machine Learning Services estableciendo R_HOME
en C:\Program Files\Microsoft SQL Server\MSSQL15.<INSTANCE_NAME>\R_SERVICES
al registrar la extensión de lenguaje, es posible que se encuentre con el siguiente error al ejecutar cualquier script de R personalizado externo con sp_execute_external_script.
Error: cons memory exhausted (limit reached?) (Error: se ha agotado la memoria de la operación "cons" [¿se ha llegado al límite?])
Para solucionar este problema:
- Establezca la variable de entorno
R_NSIZE
que indica el número de objetos de tamaño fijo (cons cells
) en un valor razonable, por ejemplo,200000
. - Reinicie el servicio Launchpad y vuelva a intentar la ejecución del script.
Problemas conocidos
Si libstdc++.so.6 no es la versión correcta, verá este error:
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) (Exthost: Error al cargar la extensión /lib64/libstdc++.so.6: no se encontró la versión "GLIBCXX_3.4.20" (necesaria para /home/mssql_satellite/externallanguagessandboxpath/libRExtension.so.1.1))