Condividi tramite


Installare un runtime personalizzato di R per SQL Server

Si applica a: SQL Server 2019 (15.x)

Informazioni su come installare un runtime personalizzato di R per eseguire script R esterni con SQL Server in:

  • Finestre
  • Ubuntu Linux
  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES) versione 12

Il runtime personalizzato può eseguire script di Machine Learning e usa le estensioni del linguaggio di SQL Server.

Usare la propria versione del runtime di R con SQL Server, invece della versione predefinita del runtime installata con SQL Server Machine Learning Services.

A partire da SQL Server 2022 (16.x), i runtime per R, Python e Java non vengono più installati con l'installazione di SQL. Occorre invece installare i runtime e i pacchetti personalizzati per R che si intende usare. Per altre informazioni, vedere Installare Machine Learning Services (Python e R) per SQL Server 2022 in Windows o Installare SQL Server Machine Learning Services (Python e R) in Linux.

Prerequisiti

Prima di installare un runtime personalizzato di R, installare quanto segue:

Installare le estensioni del linguaggio

Nota

Se Machine Learning Services è installato in SQL Server 2019, le estensioni del linguaggio sono già installate ed è possibile ignorare questo passaggio.

Seguire questa procedura per installare le estensioni del linguaggio di SQL Server, che vengono usate per il runtime personalizzato di R.

  1. Avviare l'Installazione guidata di SQL Server 2019.

  2. Nella scheda Installazione selezionare Nuova installazione autonoma di SQL Server o aggiunta di funzionalità a un'installazione esistente.

  3. Nella pagina Selezione funzionalità selezionare queste opzioni:

    • Servizi motore di database

      Per usare le estensioni del linguaggio con SQL Server, è necessario installare un'istanza del motore di database. È possibile usare un'istanza nuova o esistente.

    • Machine Learning Services ed estensioni del linguaggio

      Selezionare Machine Learning Services ed estensioni del linguaggio. Non selezionare R, perché in seguito verrà installato il runtime di R personalizzato.

      Installazione delle estensioni del linguaggio di SQL Server 2019.

  4. Nella pagina Inizio installazione verificare che le opzioni selezionate siano incluse e selezionare Installa.

    • Servizi motore di database
    • Machine Learning Services ed estensioni del linguaggio
  5. Al termine dell'installazione, riavviare il computer, se richiesto.

Importante

Se si installa una nuova istanza di SQL Server 2019 con le estensioni del linguaggio, installare l'aggiornamento cumulativo (CU) 3 o versione successiva prima di continuare con il passaggio successivo.

Installare R

Scaricare e installare la versione di R che si userà come runtime personalizzato. Sono supportate le versioni 3.3 e successive di R.

  1. Scaricare R versione 3.3 o successive.

  2. Eseguire il programma di installazione di R.

  3. Prendere nota del percorso in cui è installato R. Ad esempio, in questo articolo è C:\Program Files\R\R-4.0.3.

    Installazione di R

Aggiornare la variabile di ambiente di sistema

Seguire questa procedura per modificare la variabile di ambiente di sistema PATH.

  1. Nella casella di ricerca di Windows cercare Modifica le variabili di ambiente relative al sistema e aprire la finestra corrispondente.

  2. In Avanzate selezionare Variabili d'ambiente.

  3. Modificare la variabile di ambiente di sistema PATH.

    Selezionare PATH e fare clic su Modifica.

    Selezionare Nuovo e aggiungere il percorso alla cartella nel \bin\x64 percorso di installazione di R. Ad esempio: C:\Program Files\R\R-4.0.3\bin\x64.

Installare il pacchetto Rcpp

Per installare il pacchetto Rcpp, seguire questa procedura.

  1. Avviare un prompt dei comandi con privilegi elevati (Esegui come amministratore).

  2. Avviare R dal prompt dei comandi. Eseguire \bin\R.exe nella cartella del percorso di installazione di R. Ad esempio: C:\Program Files\R\R-4.0.3\bin\R.exe.

    "C:\Program Files\R\R-4.0.3\bin\R.exe"
    
  3. Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella \library nel percorso di installazione di R. Ad esempio: C:\Program Files\R\R-4.0.3\library.

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

Concedere l'accesso alla cartella di R

Nota

Se R è stato installato nel percorso predefinito C:\Program Files\R\R-version(ad esempio C:\Program Files\R\R-4.0.3), è possibile ignorare questo passaggio.

Eseguire i comandi icacls seguenti da un nuovo prompt dei comandi con privilegi elevati per concedere l'accesso in lettura ed esecuzione al nome utente del servizio Launchpad di SQL Server e al SID S-1-15-2-1 (ALL APPLICATION PACKAGES). Il nome utente del servizio Launchpad è nel formato NT Service\MSSQLLAUNCHPAD$INSTANCENAME dove INSTANCENAME è il nome dell'istanza di SQL Server.

I comandi concederanno l'accesso in modo ricorsivo a tutti i file e le cartelle nel percorso di directory specificato.

  1. Concedere al nome utente del servizio Launchpad di SQL Server le autorizzazioni di accesso al percorso di installazione di R. Ad esempio: 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
    

    Per l'istanza denominata, il comando sarà icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T per un'istanza denominata SQL01.

  2. Concedere al SID S-1-15-2-1 le autorizzazioni di accesso al percorso di installazione di R. Ad esempio: 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
    

    Il comando precedente concede le autorizzazioni al SID del computer S-1-15-2-1, che equivale a ALL APPLICATION PACKAGES (TUTTI I PACCHETTI APPLICAZIONI) in una versione di Windows in inglese. In alternativa è possibile usare icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T in una versione di Windows in inglese.

Riavviare Launchpad di SQL Server

Per riavviare il servizio Launchpad di SQL Server, attenersi alla seguente procedura.

  1. Aprire Gestione configurazione SQL Server.

  2. In Servizi SQL Server, fare clic con il pulsante destro del mouse su Launchpad di SQL Server (MSSQLSERVER) e selezionare Riavvia. Se si utilizza un'istanza denominata, il nome dell'istanza verrà visualizzato al posto di (MSSQLSERVER).

Registrare l'estensione del linguaggio

Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.

  1. Scaricare il file R-lang-extension-windows-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.

    In alternativa, è possibile usare la versione di debug (R-lang-extension-windows-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.

  2. Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.

    Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (R-lang-extension-windows-release.zip) e al percorso dell'installazione di 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
    

    Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.

    Nota

    R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.

Prerequisiti

Prima di installare un runtime personalizzato di R, installare quanto segue:

Installare le estensioni del linguaggio

Nota

Se Machine Learning Services è installato in SQL Server 2019, il pacchetto mssql-server-extensibility per le estensioni del linguaggio è già installato ed è possibile ignorare questo passaggio.

Eseguire i comandi seguenti per installare le estensioni del linguaggio di SQL Server in Ubuntu Linux, che viene usato per il runtime personalizzato di R.

  1. Se possibile, eseguire questo comando per aggiornare i pacchetti nel sistema prima dell'installazione.

    # Install as root or sudo
    sudo apt-get update
    
  2. Installare mssql-server-extensibility con questo comando.

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

Installare R

  1. Se è installato Machine Learning Services, R è già installato in /opt/microsoft/ropen/3.5.2/lib64/R. Se si vuole continuare a usare questo percorso come R_HOME, è possibile ignorare questo passaggio.

    Se si vuole usare un runtime diverso di R, prima di continuare con l'installazione di una nuova versione è necessario rimuovere microsoft-r-open-mro.

    sudo apt remove microsoft-r-open-mro-3.5.2
    
  2. Installare R (3.3 o versioni successive) per Ubuntu. Per impostazione predefinita, R viene installato in /usr/lib/R. Questo percorso corrisponde a R_HOME. Se si installa R in un percorso diverso, prendere nota del percorso come R_HOME.

    Di seguito sono riportate istruzioni di esempio per Ubuntu. Modificare l'URL del repository seguente per la versione di 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
    

Installazione personalizzata di R

Nota

Se R è stato installato nel percorso predefinito /usr/lib/R, è possibile ignorare questa sezione e passare alla sezione Installare il pacchetto Rcpp.

Aggiornare le variabili di ambiente

Prima di tutto, modificare il servizio mssql-launchpadd per aggiungere la variabile di ambiente R_HOME al file /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Aprire il file con systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Inserire il testo seguente nel file /etc/systemd/system/mssql-launchpadd.service.d/override.conf che si apre. Impostare il valore di R_HOME sul percorso di installazione di R personalizzato.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Salva e chiudi.

Quindi, verificare che libR.so possa essere caricato.

  1. Creare un file custom-r.conf in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Nel file che si apre aggiungere il percorso di libR.so dall'installazione di R personalizzata.

    <path to the R lib>
    
  3. Salvare il nuovo file e chiudere l'editor.

  4. Eseguire ldconfig e verificare che sia possibile caricare libR.so eseguendo il comando seguente e verificando che tutte le librerie dipendenti siano disponibili.

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

Concedere l'accesso alla cartella di installazione personalizzata di R

Impostare l'opzione datadirectories nella sezione extensibility del file /var/opt/mssql/mssql.conf sull'installazione personalizzata di R.

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

Riavviare il servizio mssql-launchpadd

Eseguire il comando seguente per riavviare mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installare il pacchetto Rcpp

Per installare il pacchetto Rcpp, seguire questa procedura.

  1. Avviare R da una shell:

    sudo ${R_HOME}/bin/R
    
  2. Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella ${R_HOME}\library.

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

Registrare l'estensione del linguaggio

Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.

  1. Scaricare il file R-lang-extension-linux-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.

    In alternativa, è possibile usare la versione di debug (R-lang-extension-linux-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.

  2. Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.

    Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (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
    

    Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.

    Nota

    R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.

Prerequisiti

Prima di installare un runtime personalizzato di R, installare quanto segue:

  • RExtension richiede GLIBCXX_3.4.20. Assicurarsi che la versione di libstdc++.so.6 nell'installazione di Red Hat Enterprise Linux (RHEL) soddisfi questo requisito.

Installare le estensioni del linguaggio

Nota

Se Machine Learning Services è installato in SQL Server 2019, il pacchetto mssql-server-extensibility per le estensioni del linguaggio è già installato ed è possibile ignorare questo passaggio.

Eseguire il comando seguente per installare le estensioni del linguaggio di SQL Server in Red Hat Enterprise Linux (RHEL), che viene usato per il runtime personalizzato di R.

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

Installare R

  1. Se è installato Machine Learning Services, R è già installato in /opt/microsoft/ropen/3.5.2/lib64/R. Se si vuole continuare a usare questo percorso come R_HOME, è possibile ignorare questo passaggio.

    Se si vuole usare un runtime diverso di R, prima di continuare con l'installazione di una nuova versione è necessario rimuovere microsoft-r-open-mro.

    sudo yum erase microsoft-r-open-mro-3.5.2
    
  2. Installare R (3.3 o versioni successive) per Red Hat Enterprise Linux (RHEL). Per impostazione predefinita, R viene installato in /usr/lib64/R. Questo percorso corrisponde a R_HOME. Se si installa R in un percorso diverso, prendere nota del percorso come R_HOME.

    sudo yum install -y R
    

Installazione personalizzata di R

Nota

Se R è stato installato nel percorso predefinito /usr/lib/R, è possibile ignorare questa sezione e passare alla sezione Installare il pacchetto Rcpp.

Aggiornare le variabili di ambiente

Prima di tutto, modificare il servizio mssql-launchpadd per aggiungere la variabile di ambiente R_HOME al file /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Aprire il file con systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Inserire il testo seguente nel file /etc/systemd/system/mssql-launchpadd.service.d/override.conf che si apre. Impostare il valore di R_HOME sul percorso di installazione di R personalizzato.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Salva e chiudi.

Quindi, verificare che libR.so possa essere caricato.

  1. Creare un file custom-r.conf in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Nel file che si apre aggiungere il percorso di libR.so dall'installazione di R personalizzata.

    <path to the R lib>
    
  3. Salvare il nuovo file e chiudere l'editor.

  4. Eseguire ldconfig e verificare che sia possibile caricare libR.so eseguendo il comando seguente e verificando che tutte le librerie dipendenti siano disponibili.

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

Concedere l'accesso alla cartella di installazione personalizzata di R

Impostare l'opzione datadirectories nella sezione extensibility del file /var/opt/mssql/mssql.conf sull'installazione personalizzata di R.

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

Riavviare il servizio mssql-launchpadd

Eseguire il comando seguente per riavviare mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installare il pacchetto Rcpp

Per installare il pacchetto Rcpp, seguire questa procedura.

  1. Avviare R da una shell:

    sudo ${R_HOME}/bin/R
    
  2. Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella ${R_HOME}\library.

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

Registrare l'estensione del linguaggio

Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.

  1. Scaricare il file R-lang-extension-linux-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.

    In alternativa, è possibile usare la versione di debug (R-lang-extension-linux-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.

  2. Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.

    Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (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
    

    Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.

    Nota

    R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.

Prerequisiti

Prima di installare un runtime personalizzato di R, installare quanto segue:

Installare le estensioni del linguaggio

Nota

Se Machine Learning Services è installato in SQL Server 2019, il pacchetto mssql-server-extensibility per le estensioni del linguaggio è già installato ed è possibile ignorare questo passaggio.

Eseguire il comando seguente per installare le estensioni del linguaggio di SQL Server in SUSE Linux Enterprise Server (SLES), che viene usato per il runtime personalizzato di R.

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

Installare R

  1. Se è installato Machine Learning Services, R è già installato in /opt/microsoft/ropen/3.5.2/lib64/R. Se si vuole continuare a usare questo percorso come R_HOME, è possibile ignorare questo passaggio.

    Se si vuole usare un runtime diverso di R, prima di continuare con l'installazione di una nuova versione è necessario rimuovere microsoft-r-open-mro.

    sudo zypper remove microsoft-r-open-mro-3.4.4
    
  2. Installare R (3.3 o versioni successive) per SUSE Linux Enterprise Server (SLES). Per impostazione predefinita, R viene installato in /usr/lib64/R. Questo percorso corrisponde a R_HOME. Se si installa R in un percorso diverso, prendere nota del percorso come R_HOME.

    Per installare R, seguire questa procedura:

    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
    

    È possibile ignorare gli avvisi per R-tcltk-3.6.1, a meno che questo pacchetto non sia necessario.

Installare gcc-c++

Installare gcc-c++ in SUSE Linux Enterprise Server (SLES). Viene usato per Rcpp, che viene installato successivamente.

sudo zypper install gcc-c++

Installazione personalizzata di R

Nota

Se R è stato installato nel percorso predefinito /usr/lib/R, è possibile ignorare questa sezione e passare alla sezione Installare il pacchetto Rcpp.

Aggiornare le variabili di ambiente

Prima di tutto, modificare il servizio mssql-launchpadd per aggiungere la variabile di ambiente R_HOME al file /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Aprire il file con systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Inserire il testo seguente nel file /etc/systemd/system/mssql-launchpadd.service.d/override.conf che si apre. Impostare il valore di R_HOME sul percorso di installazione di R personalizzato.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Salva e chiudi.

Quindi, verificare che libR.so possa essere caricato.

  1. Creare un file custom-r.conf in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Nel file che si apre aggiungere il percorso di libR.so dall'installazione di R personalizzata.

    <path to the R lib>
    
  3. Salvare il nuovo file e chiudere l'editor.

  4. Eseguire ldconfig e verificare che sia possibile caricare libR.so eseguendo il comando seguente e verificando che tutte le librerie dipendenti siano disponibili.

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

Concedere l'accesso alla cartella di installazione personalizzata di R

Impostare l'opzione datadirectories nella sezione extensibility del file /var/opt/mssql/mssql.conf sull'installazione personalizzata di R.

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

Riavviare il servizio mssql-launchpadd

Eseguire il comando seguente per riavviare mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installare il pacchetto Rcpp

Per installare il pacchetto Rcpp, seguire questa procedura.

  1. Avviare R da una shell:

    sudo ${R_HOME}/bin/R
    
  2. Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella ${R_HOME}\library.

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

Registrare l'estensione del linguaggio

Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.

  1. Scaricare il file R-lang-extension-linux-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.

    In alternativa, è possibile usare la versione di debug (R-lang-extension-linux-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.

  2. Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.

    Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (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
    

    Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.

    Nota

    R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.

Abilitare lo script esterno

È possibile eseguire uno script esterno di R con la stored procedure sp_execute_external script.

Per abilitare gli script esterni, usare Azure Data Studio per eseguire l'istruzione seguente.

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

Verifica l'installazione

Usare lo script SQL seguente per verificare l'installazione e la funzionalità del runtime personalizzato di R. Nello script di esempio seguente, myR viene usato come nome del linguaggio perché non è possibile specificare il nome R di lingua predefinita per un runtime personalizzato.

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!");'

Problemi noti

Se si usa il runtime di R fornito insieme a SQL Server Machine Learning Services impostando R_HOME su C:\Program Files\Microsoft SQL Server\MSSQL15.<INSTANCE_NAME>\R_SERVICES durante la registrazione dell'estensione del linguaggio, potrebbe verificarsi l'errore seguente durante l'esecuzione di qualsiasi script R personalizzato esterno con sp_execute_external script.

Errore: memoria esaurita (limite raggiunto?)

Per risolvere il problema:

  1. Impostare la variabile di ambiente R_NSIZE che indica il numero di oggetti a dimensione fissa (cons cells) su un valore ragionevole, ad esempio 200000.
  2. Riavviare il servizio Launchpad e ripetere l'esecuzione dello script.

Problemi noti

Se libstdc++.so.6 non è la versione corretta, verrà visualizzato questo messaggio di errore:

Exthost: caricamento dell'estensione non riuscito /lib64/libstdc++.so.6: versione 'GLIBCXX_3.4.20' non trovata (richiesta da /home/mssql_satellite/externallanguagessandboxpath/libRExtension.so.1.1)

Passaggi successivi