Installieren einer benutzerdefinierten R-Laufzeit für SQL ServerInstall an R custom runtime for SQL Server

Anwendungsbereich:Applies to: JaSQL Server 2019 (15.x)SQL Server 2019 (15.x)yesSQL Server 2019 (15.x)SQL Server 2019 (15.x)Anwendungsbereich:Applies to: JaSQL Server 2019 (15.x)SQL Server 2019 (15.x)yesSQL Server 2019 (15.x)SQL Server 2019 (15.x)

Hier erfahren Sie, wie Sie eine benutzerdefinierte R-Runtime zum Ausführen von externen R-Skripts mit SQL Server auf folgenden Distributionen installieren:Learn how to install an R custom runtime for running external R scripts with SQL Server on:

  • WindowsWindows
  • Ubuntu LinuxUbuntu Linux
  • Red Hat Enterprise Linux (RHEL)Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)SUSE Linux Enterprise Server (SLES)

Die benutzerdefinierte Runtime kann Machine Learning-Skripts ausführen und verwendet die SQL Server-Spracherweiterungen.The custom runtime can run machine learning scripts and uses the SQL Server Language Extensions.

Verwenden Sie Ihre eigene Version der R-Runtime anstelle der Standardversion der Runtime mit SQL Server, die mit SQL Server Machine Learning Services installiert wird.Use your own version of the R runtime with SQL Server, instead of the default runtime version installed with SQL Server Machine Learning Services.

VoraussetzungenPrerequisites

Vor der Installation einer benutzerdefinierten R-Laufzeit müssen Sie Folgendes installieren:Before installing an R custom runtime, install the following:

Installieren von SpracherweiterungenInstall Language Extensions

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, sind die Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.If you have Machine Learning Services installed on SQL Server 2019, Language Extensions is already installed and you can skip this step.

Führen Sie die folgenden Schritte aus, um SQL Server-Spracherweiterungen zu installieren, die für die benutzerdefinierte R-Runtime verwendet werden.Follow the steps below to install SQL Server Language Extensions, which is used for the R custom runtime.

  1. Starten Sie den Setup-Assistenten für SQL Server 2019.Start the setup wizard for SQL Server 2019.

  2. Klicken Sie auf der Registerkarte Installation auf Neue eigenständige SQL Server-Installation oder Hinzufügen von Funktionen zu einer vorhandenen Installation.On the Installation tab, select New SQL Server stand-alone installation or add features to an existing installation.

  3. Wählen Sie diese Optionen auf der Seite Funktionsauswahl aus:On the Feature Selection page, select these options:

    • Datenbank-Engine-DiensteDatabase Engine Services

      Sie müssen eine Instanz der Datenbank-Engine installieren, um Spracherweiterungen mit SQL Server verwenden zu können.To use Language Extensions with SQL Server, you must install an instance of the database engine. Sie können entweder eine neue oder eine vorhandene Instanz verwenden.You can use either a new or an existing instance.

    • Machine Learning-Dienste und -SpracherweiterungenMachine Learning Services and Language Extensions

      Wählen Sie Machine Learning-Dienste und -Spracherweiterungen aus.Select Machine Learning Services and Language Extensions. Wählen Sie nicht R aus, da Sie die benutzerdefinierte R-Runtime später installieren werden.Do not select R, as you will be installing the custom R runtime later.

      Setup für die SQL Server 2019-Spracherweiterungen

  4. Stellen Sie auf der Seite Installationsbereit sicher, dass die folgenden Auswahlmöglichkeiten aktiviert sind, und klicken Sie auf Installieren.On the Ready to Install page, verify that these selections are included, and select Install.

    • -Datenbank-Engine-DiensteDatabase Engine Services
    • Machine Learning-Dienste und -SpracherweiterungenMachine Learning Services and Language Extensions
  5. Starten Sie nach Abschluss des Setups den Computer neu, wenn Sie dazu aufgefordert werden.After the setup is complete, restart the machine if you're asked to do so.

Wichtig

Wenn Sie eine neue Instanz von SQL Server 2019 mit Spracherweiterungen installieren, installieren Sie das kumulative Update (CU) 3 oder höher, bevor Sie mit dem nächsten Schritt fortfahren.If you install a new instance of SQL Server 2019 with Language Extensions, then install the Cumulative Update (CU) 3 or later before you continue to the next step.

Installieren von RInstall R

Laden Sie die Version von R herunter, die Sie als benutzerdefinierte Runtime verwenden möchten, und installieren Sie sie.Download and install the version of R you will use as the custom runtime. Die R-Version 3.3 oder höher wird unterstützt.R version 3.3 or later are supported.

  1. Laden Sie die R-Version 3.3 oder höher herunter.Download R version 3.3 or later.

  2. Führen Sie das R-Setup aus.Run the R setup.

  3. Notieren Sie sich den Pfad, in dem R installiert ist.Note the path where R is installed. In diesem Artikel lautet er zum Beispiel C:\Program Files\R\R-4.0.3.For example, in this article it is C:\Program Files\R\R-4.0.3.

    R-Setup

Aktualisieren der SystemumgebungsvariableUpdate system environment variable

Führen Sie die folgenden Schritte aus, um die PATH-Umgebungsvariablen des Systems zu ändern.Follow these steps to modify the PATH system environment variables.

  1. Suchen Sie im Windows-Suchfeld nach der Option Systemumgebungsvariablen bearbeiten, und öffnen Sie sie.In the Windows search box, search for Edit the system environment variables and open it.

  2. Wählen Sie unter Erweitert Umgebungsvariablen aus.Under Advanced, select Environment Variables.

  3. Ändern Sie die PATH-Umgebungsvariable des Systems.Modify the PATH system environment variable.

    Wählen Sie PATH aus, und klicken Sie auf Bearbeiten.Select PATH and click Edit.

    Wählen Sie Neu aus, und fügen Sie dem Pfad zum \bin\x64-Ordner in Ihrem R-Installationspfad hinzu.Select New and add the path to the \bin\x64 folder in your R installation path. Beispiel: C:\Program Files\R\R-4.0.3\bin\x64.For example, C:\Program Files\R\R-4.0.3\bin\x64.

Installieren des Rcpp-PaketsInstall Rcpp package

Führen Sie diese Schritte aus, um das Rcpp-Paket zu installieren.Follow these steps to install the Rcpp package.

  1. Starten Sie eine Eingabeaufforderung mit erhöhten Rechten (Als Administrator ausführen).Start an elevated command prompt (run as Administrator).

  2. Starten Sie R über die Eingabeaufforderung.Start R from the command prompt. Führen Sie \bin\R.exe im Ordner in Ihrem R-Installationspfad aus.Run \bin\R.exe in the folder in your R installation path. Beispiel: C:\Program Files\R\R-4.0.3\bin\R.exe.For example, C:\Program Files\R\R-4.0.3\bin\R.exe.

    "C:\Program Files\R\R-4.0.3\bin\R.exe"
    
  3. Führen Sie das folgende Skript aus, um das Rcpp-Paket im Ordner \library in Ihrem R-Installationspfad zu installieren.Run the following script to install the Rcpp package in the \library folder in your R installation path. Beispiel: C:\Program Files\R\R-4.0.3\library.For example, C:\Program Files\R\R-4.0.3\library.

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

Gewähren des Zugriffs auf den R-OrdnerGrant access to R folder

Hinweis

Wenn Sie R am Standardspeicherort C:\Program Files\R\R-version (zum Beispiel C:\Program Files\R\R-4.0.3) installiert haben, können Sie diesen Schritt überspringen.If you have installed R in the default location of C:\Program Files\R\R-version (for example, C:\Program Files\R\R-4.0.3), you can skip this step.

Führen Sie die folgenden icacls-Befehle in einer neuen Eingabeaufforderung mit erhöhten Rechten aus, um Benutzername des SQL Server-Launchpad-Diensts und SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES) LESE- und AUSFÜHRUNGSZUGRIFF zu gewähren.Run the following icacls commands from a new elevated command prompt to grant READ & EXECUTE access to the SQL Server Launchpad Service user name and SID S-1-15-2-1 (ALL APPLICATION PACKAGES). Der Benutzername des Launchpad-Diensts weist die Form NT Service\MSSQLLAUNCHPAD$INSTANCENAME auf, wobei INSTANCENAME der Instanzname Ihrer SQL Server-Instanz ist.The launchpad service user name is of the form NT Service\MSSQLLAUNCHPAD$INSTANCENAME where INSTANCENAME is the instance name of your SQL Server.

Die Befehle gewähren rekursiv Zugriff auf alle Dateien und Ordner unter dem angegebenen Verzeichnispfad.The commands will recursively grant access to all files and folders under the given directory path.

  1. Erteilen Sie für Ihren R-Installationspfad die Berechtigungen für Benutzername des SQL Server-Launchpad Diensts.Give permissions to SQL Server Launchpad Service user name to your R installation path. Beispiel: C:\Program Files\R\R-4.0.3.For example, 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
    

    Bei einer benannter Instanz ist der Befehl icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T für eine Instanz namens SQL01.For named instance, the command will be icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T for an instance called SQL01.

  2. Erteilen Sie die Berechtigungen für SID S-1-15-2-1 für Ihren R-Installationspfad.Give permissions to SID S-1-15-2-1 to your R installation path. Beispiel: C:\Program Files\R\R-4.0.3.For example, 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
    

    Der vorangehende Befehl erteilt Berechtigungen für die Computer-SID S-1-15-2-1, was ALLEN ANWENDUNGSPAKETEN auf einer englischen Version von Windows entspricht.The preceding command grants permissions to the computer SID S-1-15-2-1, which is equivalent to ALL APPLICATION PACKAGES on an English version of Windows. Alternativ können Sie icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T in einer englischen Version von Windows verwenden.Alternatively, you can use icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T on an English version of Windows.

Neustart von SQL Server-LaunchpadRestart SQL Server Launchpad

Führen Sie die folgenden Schritte aus, um den SQL Server-Launchpad-Dienst neu zu starten.Follow these steps to restart the SQL Server Launchpad service.

  1. Öffnen Sie den SQL Server-Konfigurations-Manager.Open SQL Server Configuration Manager.

  2. Klicken Sie unter SQL Server-Dienste mit der rechten Maustaste auf SQL Server-Launchpad (MSSQLSERVER) , und wählen Sie Neu starten aus.Under SQL Server Services, right click on SQL Server Launchpad (MSSQLSERVER) and select Restart. Wenn Sie eine benannte Instanz verwenden, wird der Instanzname anstelle von (MSSQLSERVER) angezeigt.If you using a named instance, the instance name will be shown instead of (MSSQLSERVER).

Registrieren der SpracherweiterungRegister language extension

Führen Sie die folgenden Schritte aus, um die R-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte R-Runtime verwendet wird.Follow these steps to download and register the R language extension, which is used for the R custom runtime.

  1. Laden Sie die Datei R-lang-extension-windows-release.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.Download the R-lang-extension-windows-release.zip file from the SQL Server Language Extensions GitHub repo.

    Alternativ können Sie auch die Debugversion (R-lang-extension-windows-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden.Alternatively, you can use the debug version (R-lang-extension-windows-debug.zip) in a development or test environment. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.The debug version provides verbose logging information to investigate any errors, and is not recommended for production environments.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die R-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.Use Azure Data Studio to connect to your SQL Server instance and run the following T-SQL command to register the R language extension with CREATE EXTERNAL LANGUAGE.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (R-lang-extension-windows) und den Speicherort Ihrer R-Installation (C:\\Program Files\\R\\R-4.0.3) anzugeben.Modify the path in this statement to reflect the location of the downloaded language extension zip file (R-lang-extension-windows-release.zip) and the location your R installation (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
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die R-Spracherweiterung verwenden möchten.Execute the statement for each database you want to use the R language extension in.

    Hinweis

    R ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden.R is a reserved word and can't be used as the name for a new external language name. Verwenden Sie stattdessen einen anderen Namen.Use a different name instead. Die obige Anweisung verwendet z. B. myR.For example, the statement above uses myR.

VoraussetzungenPrerequisites

Vor der Installation einer benutzerdefinierten R-Laufzeit müssen Sie Folgendes installieren:Before installing a R custom runtime, install the following:

Installieren von SpracherweiterungenInstall Language Extensions

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, ist das Paket mssql-server-extensibility für Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.If you have Machine Learning Services installed on SQL Server 2019, the mssql-server-extensibility package for Language Extensions is already installed and you can skip this step.

Führen Sie die folgenden Befehle aus, um SQL Server-Spracherweiterungen unter Ubuntu Linux zu installieren, die für die benutzerdefinierte R-Runtime verwendet werden.Run the commands below to install SQL Server Language Extensions on Ubuntu Linux, which is used for the R custom runtime.

  1. Führen Sie diesen Befehl wenn möglich aus, um die Pakete auf dem System vor der Installation zu aktualisieren.If possible, run this command to refresh the packages on the system prior to the installation.

    # Install as root or sudo
    sudo apt-get update
    
  2. Installieren Sie mssql-server-extensibility mit diesem Befehl.Install mssql-server-extensibility with this command.

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

Installieren von RInstall R

  1. Wenn Sie Machine Learning Services installiert haben, ist R bereits in /opt/microsoft/ropen/3.5.2/lib64/R installiert.If you have Machine Learning Services installed, R is already installed in /opt/microsoft/ropen/3.5.2/lib64/R. Wenn Sie diesen Pfad weiterhin als R_HOME verwenden möchten, können Sie diesen Schritt überspringen.If you want to keep using this path as your R_HOME, you can skip this step.

    Wenn Sie eine andere Laufzeit von R verwenden möchten, müssen Sie zunächst microsoft-r-open-mro entfernen, bevor Sie mit der Installation einer neuen Version fortfahren können.If you want to use a different runtime of R, you first need to remove microsoft-r-open-mro before continuing to install a new version.

    sudo apt remove microsoft-r-open-mro-3.5.2
    
  2. Installieren Sie R (3.3 oder höher) für Ubuntu.Install R (3.3 or later) for Ubuntu. Standardmäßig wird R in /usr/lib/R installiert.By default, R is installed in /usr/lib/R. Dieser Pfad ist Ihr R_HOME.This path is your R_HOME. Wenn Sie R an einem anderen Speicherort installieren, notieren Sie sich diesen Pfad als R_HOME.If you install R in a different location, take note of that path as your R_HOME.

    Nachfolgende finden Sie Beispielanweisungen für Ubuntu.Below are example instructions for Ubuntu. Ändern Sie die unten angegebene Repository-URL für Ihre Version von R.Change the repository URL below for your version of 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
    

Benutzerdefinierte Installation von RCustom installation of R

Hinweis

Wenn Sie R am Standardspeicherort von /usr/lib/R installiert haben, können Sie diesen Abschnitt überspringen und mit dem Abschnitt Installieren des Rcpp-Pakets fortfahren.If you have installed R in the default location of /usr/lib/R, you can skip this section and move on to the Install Rcpp package section.

Aktualisieren der UmgebungsvariablenUpdate the environment variables

Bearbeiten Sie zunächst den Dienst mssql-launchpadd, um der Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf die R_HOME-Umgebungsvariable hinzuzufügen.First, edit the mssql-launchpadd service to add the R_HOME environment variable to the file /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Öffnen Sie die Datei mit systemctl.Open the file with systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Fügen Sie den folgenden Text in die Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf ein, die geöffnet wird.Insert the following text in the /etc/systemd/system/mssql-launchpadd.service.d/override.conf file that opens. Legen Sie den Wert R_HOME auf den benutzerdefinierten R-Installationspfad fest.Set value of R_HOME to the custom R installation path.

    [Service]
    Environment="R_HOME=/path/to/installation/of/R"
    
  3. Speichern und schließen Sie die Datei.Save and close.

Stellen Sie als nächstes sicher, dass libR.so geladen werden kann.Next, make sure libR.so can be loaded.

  1. Erstellen Sie eine Datei „custom-r.conf“ in /etc/ld.so.conf.d.Create a custom-r.conf file in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Fügen Sie in der Datei, die geöffnet wird, den Pfad zu libR.so aus der benutzerdefinierten R-Installation hinzu.In the file that opens, add path to libR.so from the custom R installation.

    /path/to/installation/of/R/lib
    
  3. Speichern Sie die neue Datei, und schließen Sie den Editor.Save the new file and close the editor.

  4. Führen Sie ldconfig aus, und vergewissern Sie sich, dass libR.so geladen werden kann, indem Sie den folgenden Befehl ausführen und überprüfen, ob alle abhängigen Bibliotheken gefunden werden.Run ldconfig and verify libR.so can be loaded by running the following command and checking that all dependent libraries can be found.

    sudo ldconfig
    ldd /path/to/installation/of/R/lib/libR.so
    

Gewähren des Zugriffs auf den benutzerdefinierten R-InstallationsordnerGrant access to the custom R installation folder

Legen Sie die datadirectories-Option im Erweiterbarkeitsabschnitt der Datei /var/opt/mssql/mssql.conf auf die benutzerdefinierte R-Installation fest.Set the datadirectories option in the extensibility section of /var/opt/mssql/mssql.conf file to the custom R installation.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories /path/to/installation/of/R

Neustarten des mssql-launchpadd-DienstsRestart mssql-launchpadd service

Führen Sie den folgenden Befehl aus, um mssql-launchpadd neu zu starten:Run the following command to restart mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installieren des Rcpp-PaketsInstall Rcpp package

Führen Sie diese Schritte aus, um das Rcpp-Paket zu installieren.Follow these steps to install the Rcpp package.

  1. Starten Sie R von einer Shell:Start R from a shell:

    sudo ${R_HOME}/bin/R
    
  2. Führen Sie das folgende Skript aus, um das Rcpp-Paket im Ordner „${R_HOME}\library“ zu installieren.Run the following script to install the Rcpp package in the ${R_HOME}\library folder.

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

Registrieren der SpracherweiterungRegister language extension

Führen Sie die folgenden Schritte aus, um die R-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte R-Runtime verwendet wird.Follow these steps to download and register the R language extension, which is used for the R custom runtime.

  1. Laden Sie die Datei R-lang-extension-linux.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.Download the R-lang-extension-linux-release.zip file from the SQL Server Language Extensions GitHub repo.

    Alternativ können Sie auch die Debugversion (R-lang-extension-linux-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden.Alternatively, you can use the debug version (R-lang-extension-linux-debug.zip) in a development or test environment. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.The debug version provides verbose logging information to investigate any errors, and is not recommended for production environments.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die R-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.Use Azure Data Studio to connect to your SQL Server instance and run the following T-SQL command to register the R language extension with CREATE EXTERNAL LANGUAGE.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (R-lang-extension-linux.zip) anzugeben.Modify the path in this statement to reflect the location of the downloaded language extension zip file (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.0');
    GO
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die R-Spracherweiterung verwenden möchten.Execute the statement for each database you want to use the R language extension in.

    Hinweis

    R ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden.R is a reserved word and can't be used as the name for a new external language name. Verwenden Sie stattdessen einen anderen Namen.Use a different name instead. Die obige Anweisung verwendet z. B. myR.For example, the statement above uses myR.

VoraussetzungenPrerequisites

Vor der Installation einer benutzerdefinierten R-Laufzeit müssen Sie Folgendes installieren:Before installing a R custom runtime, install the following:

Installieren von SpracherweiterungenInstall Language Extensions

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, ist das Paket mssql-server-extensibility für Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.If you have Machine Learning Services installed on SQL Server 2019, the mssql-server-extensibility package for Language Extensions is already installed and you can skip this step.

Führen Sie die folgenden Befehle aus, um SQL Server-Spracherweiterungen unter Red Hat Enterprise Linux (RHEL) zu installieren, die für die benutzerdefinierte R-Runtime verwendet werden.Run the command below to install SQL Server Language Extensions on Red Hat Enterprise Linux (RHEL), which is used for the R custom runtime.

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

Installieren von RInstall R

  1. Wenn Sie Machine Learning Services installiert haben, ist R bereits in /opt/microsoft/ropen/3.5.2/lib64/R installiert.If you have Machine Learning Services installed, R is already installed in /opt/microsoft/ropen/3.5.2/lib64/R. Wenn Sie diesen Pfad weiterhin als R_HOME verwenden möchten, können Sie diesen Schritt überspringen.If you want to keep using this path as your R_HOME, you can skip this step.

    Wenn Sie eine andere Laufzeit von R verwenden möchten, müssen Sie zunächst microsoft-r-open-mro entfernen, bevor Sie mit der Installation einer neuen Version fortfahren können.If you want to use a different runtime of R, you first need to remove microsoft-r-open-mro before continuing to install a new version.

    sudo yum erase microsoft-r-open-mro-3.5.2
    
  2. Installieren Sie R (3.3 oder höher) für Red Hat Enterprise Linux (RHEL).Install R (3.3 or later) for Red Hat Enterprise Linux (RHEL). Standardmäßig wird R in /usr/lib/R installiert.By default, R is installed in /usr/lib/R. Dieser Pfad ist Ihr R_HOME.This path is your R_HOME. Wenn Sie R an einem anderen Speicherort installieren, notieren Sie sich diesen Pfad als R_HOME.If you install R in a different location, take note of that path as your R_HOME.

Benutzerdefinierte Installation von RCustom installation of R

Hinweis

Wenn Sie R am Standardspeicherort von /usr/lib/R installiert haben, können Sie diesen Abschnitt überspringen und mit dem Abschnitt Installieren des Rcpp-Pakets fortfahren.If you have installed R in the default location of /usr/lib/R, you can skip this section and move on to the Install Rcpp package section.

Aktualisieren der UmgebungsvariablenUpdate the environment variables

Bearbeiten Sie zunächst den Dienst mssql-launchpadd, um der Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf die R_HOME-Umgebungsvariable hinzuzufügen.First, edit the mssql-launchpadd service to add the R_HOME environment variable to the file /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Öffnen Sie die Datei mit systemctl.Open the file with systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Fügen Sie den folgenden Text in die Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf ein, die geöffnet wird.Insert the following text in the /etc/systemd/system/mssql-launchpadd.service.d/override.conf file that opens. Legen Sie den Wert R_HOME auf den benutzerdefinierten R-Installationspfad fest.Set value of R_HOME to the custom R installation path.

    [Service]
    Environment="R_HOME=/path/to/installation/of/R"
    
  3. Speichern und schließen Sie die Datei.Save and close.

Stellen Sie als nächstes sicher, dass libR.so geladen werden kann.Next, make sure libR.so can be loaded.

  1. Erstellen Sie eine Datei „custom-r.conf“ in /etc/ld.so.conf.d.Create a custom-r.conf file in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Fügen Sie in der Datei, die geöffnet wird, den Pfad zu libR.so aus der benutzerdefinierten R-Installation hinzu.In the file that opens, add path to libR.so from the custom R installation.

    /path/to/installation/of/R/lib
    
  3. Speichern Sie die neue Datei, und schließen Sie den Editor.Save the new file and close the editor.

  4. Führen Sie ldconfig aus, und vergewissern Sie sich, dass libR.so geladen werden kann, indem Sie den folgenden Befehl ausführen und überprüfen, ob alle abhängigen Bibliotheken gefunden werden.Run ldconfig and verify libR.so can be loaded by running the following command and checking that all dependent libraries can be found.

    sudo ldconfig
    ldd /path/to/installation/of/R/lib/libR.so
    

Gewähren des Zugriffs auf den benutzerdefinierten R-InstallationsordnerGrant access to the custom R installation folder

Legen Sie die datadirectories-Option im Erweiterbarkeitsabschnitt der Datei /var/opt/mssql/mssql.conf auf die benutzerdefinierte R-Installation fest.Set the datadirectories option in the extensibility section of /var/opt/mssql/mssql.conf file to the custom R installation.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories /path/to/installation/of/R

Neustarten des mssql-launchpadd-DienstsRestart mssql-launchpadd service

Führen Sie den folgenden Befehl aus, um mssql-launchpadd neu zu starten:Run the following command to restart mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installieren des Rcpp-PaketsInstall Rcpp package

Führen Sie diese Schritte aus, um das Rcpp-Paket zu installieren.Follow these steps to install the Rcpp package.

  1. Starten Sie R von einer Shell:Start R from a shell:

    sudo ${R_HOME}/bin/R
    
  2. Führen Sie das folgende Skript aus, um das Rcpp-Paket im Ordner „${R_HOME}\library“ zu installieren.Run the following script to install the Rcpp package in the ${R_HOME}\library folder.

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

Registrieren der SpracherweiterungRegister language extension

Führen Sie die folgenden Schritte aus, um die R-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte R-Runtime verwendet wird.Follow these steps to download and register the R language extension, which is used for the R custom runtime.

  1. Laden Sie die Datei R-lang-extension-linux.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.Download the R-lang-extension-linux-release.zip file from the SQL Server Language Extensions GitHub repo.

    Alternativ können Sie auch die Debugversion (R-lang-extension-linux-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden.Alternatively, you can use the debug version (R-lang-extension-linux-debug.zip) in a development or test environment. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.The debug version provides verbose logging information to investigate any errors, and is not recommended for production environments.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die R-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.Use Azure Data Studio to connect to your SQL Server instance and run the following T-SQL command to register the R language extension with CREATE EXTERNAL LANGUAGE.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (R-lang-extension-linux.zip) anzugeben.Modify the path in this statement to reflect the location of the downloaded language extension zip file (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.0');
    GO
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die R-Spracherweiterung verwenden möchten.Execute the statement for each database you want to use the R language extension in.

    Hinweis

    R ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden.R is a reserved word and can't be used as the name for a new external language name. Verwenden Sie stattdessen einen anderen Namen.Use a different name instead. Die obige Anweisung verwendet z. B. myR.For example, the statement above uses myR.

VoraussetzungenPrerequisites

Vor der Installation einer benutzerdefinierten R-Laufzeit müssen Sie Folgendes installieren:Before installing a R custom runtime, install the following:

Installieren von SpracherweiterungenInstall Language Extensions

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, ist das Paket mssql-server-extensibility für Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.If you have Machine Learning Services installed on SQL Server 2019, the mssql-server-extensibility package for Language Extensions is already installed and you can skip this step.

Führen Sie die folgenden Befehle aus, um SQL Server-Spracherweiterungen unter SUSE Linux Enterprise Server (SLES) zu installieren, die für die benutzerdefinierte R-Runtime verwendet werden.Run the command below to install SQL Server Language Extensions on SUSE Linux Enterprise Server (SLES), which is used for the R custom runtime.

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

Installieren von RInstall R

  1. Wenn Sie Machine Learning Services installiert haben, ist R bereits in /opt/microsoft/ropen/3.5.2/lib64/R installiert.If you have Machine Learning Services installed, R is already installed in /opt/microsoft/ropen/3.5.2/lib64/R. Wenn Sie diesen Pfad weiterhin als R_HOME verwenden möchten, können Sie diesen Schritt überspringen.If you want to keep using this path as your R_HOME, you can skip this step.

    Wenn Sie eine andere Laufzeit von R verwenden möchten, müssen Sie zunächst microsoft-r-open-mro entfernen, bevor Sie mit der Installation einer neuen Version fortfahren können.If you want to use a different runtime of R, you first need to remove microsoft-r-open-mro before continuing to install a new version.

    sudo zypper remove microsoft-r-open-mro-3.5.2
    
  2. Installieren Sie R (3.3 oder höher) für SUSE Linux Enterprise Server (SLES).Install R (3.3 or later) for SUSE Linux Enterprise Server (SLES). Standardmäßig wird R in /usr/lib/R installiert.By default, R is installed in /usr/lib/R. Dieser Pfad ist Ihr R_HOME.This path is your R_HOME. Wenn Sie R an einem anderen Speicherort installieren, notieren Sie sich diesen Pfad als R_HOME.If you install R in a different location, take note of that path as your R_HOME.

Benutzerdefinierte Installation von RCustom installation of R

Hinweis

Wenn Sie R am Standardspeicherort von /usr/lib/R installiert haben, können Sie diesen Abschnitt überspringen und mit dem Abschnitt Installieren des Rcpp-Pakets fortfahren.If you have installed R in the default location of /usr/lib/R, you can skip this section and move on to the Install Rcpp package section.

Aktualisieren der UmgebungsvariablenUpdate the environment variables

Bearbeiten Sie zunächst den Dienst mssql-launchpadd, um der Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf die R_HOME-Umgebungsvariable hinzuzufügen.First, edit the mssql-launchpadd service to add the R_HOME environment variable to the file /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Öffnen Sie die Datei mit systemctl.Open the file with systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Fügen Sie den folgenden Text in die Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf ein, die geöffnet wird.Insert the following text in the /etc/systemd/system/mssql-launchpadd.service.d/override.conf file that opens. Legen Sie den Wert R_HOME auf den benutzerdefinierten R-Installationspfad fest.Set value of R_HOME to the custom R installation path.

    [Service]
    Environment="R_HOME=/path/to/installation/of/R"
    
  3. Speichern und schließen Sie die Datei.Save and close.

Stellen Sie als nächstes sicher, dass libR.so geladen werden kann.Next, make sure libR.so can be loaded.

  1. Erstellen Sie eine Datei „custom-r.conf“ in /etc/ld.so.conf.d.Create a custom-r.conf file in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Fügen Sie in der Datei, die geöffnet wird, den Pfad zu libR.so aus der benutzerdefinierten R-Installation hinzu.In the file that opens, add path to libR.so from the custom R installation.

    /path/to/installation/of/R/lib
    
  3. Speichern Sie die neue Datei, und schließen Sie den Editor.Save the new file and close the editor.

  4. Führen Sie ldconfig aus, und vergewissern Sie sich, dass libR.so geladen werden kann, indem Sie den folgenden Befehl ausführen und überprüfen, ob alle abhängigen Bibliotheken gefunden werden.Run ldconfig and verify libR.so can be loaded by running the following command and checking that all dependent libraries can be found.

    sudo ldconfig
    ldd /path/to/installation/of/R/lib/libR.so
    

Gewähren des Zugriffs auf den benutzerdefinierten R-InstallationsordnerGrant access to the custom R installation folder

Legen Sie die datadirectories-Option im Erweiterbarkeitsabschnitt der Datei /var/opt/mssql/mssql.conf auf die benutzerdefinierte R-Installation fest.Set the datadirectories option in the extensibility section of /var/opt/mssql/mssql.conf file to the custom R installation.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories /path/to/installation/of/R

Neustarten des mssql-launchpadd-DienstsRestart mssql-launchpadd service

Führen Sie den folgenden Befehl aus, um mssql-launchpadd neu zu starten:Run the following command to restart mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Installieren des Rcpp-PaketsInstall Rcpp package

Führen Sie diese Schritte aus, um das Rcpp-Paket zu installieren.Follow these steps to install the Rcpp package.

  1. Starten Sie R von einer Shell:Start R from a shell:

    sudo ${R_HOME}/bin/R
    
  2. Führen Sie das folgende Skript aus, um das Rcpp-Paket im Ordner „${R_HOME}\library“ zu installieren.Run the following script to install the Rcpp package in the ${R_HOME}\library folder.

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

Registrieren der SpracherweiterungRegister language extension

Führen Sie die folgenden Schritte aus, um die R-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte R-Runtime verwendet wird.Follow these steps to download and register the R language extension, which is used for the R custom runtime.

  1. Laden Sie die Datei R-lang-extension-linux.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.Download the R-lang-extension-linux-release.zip file from the SQL Server Language Extensions GitHub repo.

    Alternativ können Sie auch die Debugversion (R-lang-extension-linux-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden.Alternatively, you can use the debug version (R-lang-extension-linux-debug.zip) in a development or test environment. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.The debug version provides verbose logging information to investigate any errors, and is not recommended for production environments.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die R-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.Use Azure Data Studio to connect to your SQL Server instance and run the following T-SQL command to register the R language extension with CREATE EXTERNAL LANGUAGE.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (R-lang-extension-linux.zip) anzugeben.Modify the path in this statement to reflect the location of the downloaded language extension zip file (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.0');
    GO
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die R-Spracherweiterung verwenden möchten.Execute the statement for each database you want to use the R language extension in.

    Hinweis

    R ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden.R is a reserved word and can't be used as the name for a new external language name. Verwenden Sie stattdessen einen anderen Namen.Use a different name instead. Die obige Anweisung verwendet z. B. myR.For example, the statement above uses myR.

Aktivieren des externen SkriptsEnable external script

Sie können ein externes Python-Skript mit der gespeicherten Prozedur sp_execute_external script ausführen.You can execute a Python external script with the stored procedure sp_execute_external script.

Zum Aktivieren externer Skripts verwenden Sie Azure Data Studio, um die folgende Anweisung auszuführen.To enable external scripts, use Azure Data Studio to execute the statement below.

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

Überprüfen der InstallationVerify installation

Verwenden Sie das folgende SQL-Skript, um die Installation und Funktionalität der benutzerdefinierten Python-Runtime zu überprüfen.Use the following SQL script to verify the installation and functionality of the Python custom runtime.

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

Nächste SchritteNext steps