次の方法で共有


SQL Server 用の R カスタム ランタイムをインストールする

適用対象: SQL Server 2019 (15.x)

SQL Server で外部 R スクリプトを実行するための R カスタム ランタイムをインストールする方法について説明します。

  • Windows
  • Ubuntu Linux
  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES) バージョン 12

カスタム ランタイムは、機械学習スクリプトを実行することができ、SQL Server 言語拡張機能を使用します。

SQL Server Machine Learning Services と共にインストールされる既定のランタイム バージョンではなく、独自のバージョンの R ランタイムを SQL Server と共に使用します。

SQL Server 2022 (16.x) 以降、R、Python、Java のランタイムは SQL セットアップでインストールされなくなりました。 代わりに、ご自分のお好きな R のカスタム ランタイムとパッケージをインストールしてください。 詳細については、Windows への SQL Server 2022 Machine Learning Services (Python と R) のインストールに関する説明、または「Linux に SQL Server Machine Learning Services (Python と R) をインストールする」を参照してください。

前提条件

R カスタム ランタイムをインストールする前に、次のものをインストールします。

言語拡張をインストールする

Note

SQL Server 2019 に Machine Learning Services がインストールされている場合は、言語拡張機能が既にインストールされているため、この手順は省略できます。

以下の手順のようにして、SQL Server 言語拡張機能をインストールします。これは、R カスタム ランタイムに使用されます。

  1. SQL Server 2019 のセットアップ ウィザードを開始します。

  2. [インストール] タブで、 [SQL Server の新規スタンドアロン インストールを実行するか、既存のインストールに機能を追加します] を選択します。

  3. [機能の選択] ページで、次のオプションを選択します。

    • データベース エンジン サービス

      SQL Server で言語拡張を使用するには、データベース エンジンのインスタンスをインストールする必要があります。 新規または既存のインスタンスのいずれかを使用できます。

    • Machine Learning Services および言語の拡張

      [Machine Learning Services および言語の拡張] を選択します。 後でカスタム R ランタイムをインストールするので、R は選択しないでください。

      SQL Server 2019 言語拡張機能のセットアップ。

  4. [インストールの準備完了] ページで、以下が選択されていることを確認した後、 [インストール] を選択します。

    • データベース エンジン サービス
    • Machine Learning Services および言語の拡張
  5. セットアップが完了した後、確認のメッセージが表示されたらコンピューターを再起動します。

重要

言語拡張機能を使用して SQL Server 2019 の新規インスタンスをインストールする場合は、次の手順に進む前に、累積的な更新プログラム (CU) 3 以降をインストールしてください。

R のインストール

カスタム ランタイムとして使用する R のバージョンをダウンロードしてインストールします。 R バージョン 3.3 以降がサポートされています。

  1. R バージョン 3.3 以降をダウンロードします。

  2. R のセットアップを実行します。

  3. R がインストールされたパスを記録しておきます。 たとえば、この記事では C:\Program Files\R\R-4.0.3 です。

    R のセットアップ

システム環境変数を更新する

以下の手順のようにして、PATH システム環境変数を変更します。

  1. Windows の検索ボックスで「システム環境変数の編集」を検索して開きます。

  2. [詳細設定][環境変数] を選択します。

  3. PATH システム環境変数を変更します。

    PATH を選択して、 [編集] をクリックします。

    [新規] を選択して、R インストール パスの \bin\x64 フォルダーへのパスを追加します。 たとえば、「 C:\Program Files\R\R-4.0.3\bin\x64 」のように入力します。

Rcpp パッケージをインストールする

以下の手順のようにして、Rcpp パッケージをインストールします。

  1. "管理者特権" でのコマンド プロンプトを開始します (管理者として実行)。

  2. コマンド プロンプトから R を起動します。 R インストール パスのフォルダーで \bin\R.exe を実行します。 たとえば、「 C:\Program Files\R\R-4.0.3\bin\R.exe 」のように入力します。

    "C:\Program Files\R\R-4.0.3\bin\R.exe"
    
  3. 次のスクリプトを実行して、R インストール パスの \library フォルダーに Rcpp パッケージをインストールします。 たとえば、「 C:\Program Files\R\R-4.0.3\library 」のように入力します。

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

R フォルダーへのアクセス権を付与する

Note

R を既定の場所である C:\Program Files\R\R-version (C:\Program Files\R\R-4.0.3 など) にインストールした場合は、この手順を省略できます。

新しい "管理者特権" でのコマンド プロンプトから次の icacls コマンドを実行して、読み取りと実行のアクセス権を、SQL Server Launchpad サービスのユーザー名と SID S-1-15-2-1 (ALL APPLICATION PACKAGES) に付与します。 Launchpad サービスのユーザー名は、NT Service\MSSQLLAUNCHPAD$INSTANCENAME という形式です。INSTANCENAME は、SQL Server のインスタンス名です。

そのコマンドでは、指定したディレクトリ パスの下にあるすべてのファイルとフォルダーへのアクセス権が再帰的に許可されます。

  1. SQL Server Launchpad サービスのユーザー名に、R インストール パスへのアクセス許可を付与します。 たとえば、「 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
    

    名前付きインスタンスの場合、SQL01 というインスタンスに対するコマンドは icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T になります。

  2. SID S-1-15-2-1 に、R インストール パスへのアクセス許可を付与します。 たとえば、「 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
    

    上記のコマンドを実行すると、コンピューター SID S-1-15-2-1 にアクセス許可が付与されます。これは、英語版の Windows における ALL APPLICATION PACKAGES と同等です。 または、英語版の Windows で icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T を使用することもできます。

SQL Server Launchpad を再起動する

SQL Server Launchpad サービスを再起動するには、次の手順に従います。

  1. [SQL Server 構成マネージャー] を開きます。

  2. [SQL Server サービス][SQL Server Launchpad (MSSQLSERVER)] を右クリックして、[再起動] を選択します。 名前付きインスタンスを使用している場合は、 (MSSQLSERVER) の代わりにインスタンス名が表示されます。

言語拡張機能を登録する

次の手順のようにして、R カスタム ランタイムに使用される R 言語拡張機能をダウンロードして登録します。

  1. SQL Server 言語拡張機能の GitHub リポジトリから R-lang-extension-windows-release.zip ファイルをダウンロードします。

    開発環境やテスト環境では、代わりにデバッグ バージョン (R-lang-extension-windows-debug.zip) を使用できます。 デバッグ バージョンでは、エラーを調査するための詳細なログ情報が提供されます。これは運用環境では推奨されません。

  2. Azure Data Studio を使用してお使いの SQL Server インスタンスに接続し、次の T-SQL コマンドを実行して、CREATE EXTERNAL LANGUAGE で R 言語拡張機能を登録します。

    このステートメントのパスを変更して、ダウンロードした言語拡張機能の zip ファイルの場所 (R-lang-extension-windows-release.zip) と 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
    

    R 言語拡張機能を使用するデータベースごとに、このステートメントを実行します。

    Note

    R は予約語であり、新しい外部言語の名前として使用することはできません。 別の名前を使用してください。 たとえば、上記のステートメントでは myR が使用されています。

前提条件

R カスタム ランタイムをインストールする前に、次のものをインストールします。

言語拡張をインストールする

Note

SQL Server 2019 に Machine Learning Services がインストールされている場合は、言語拡張機能用の mssql-server-extensibility パッケージが既にインストールされているため、この手順は省略できます。

次のコマンドを実行して、R カスタム ランタイムに使用される Ubuntu Linux に SQL Server 言語拡張機能をインストールします。

  1. 可能であれば、次のコマンドを実行して、インストールの前にシステム上のパッケージを更新しておきます。

    # Install as root or sudo
    sudo apt-get update
    
  2. 次のコマンドを使用して mssql-server-extensibility をインストールします。

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

R のインストール

  1. Machine Learning Services がインストールされている場合は、R が既に /opt/microsoft/ropen/3.5.2/lib64/R にインストールされています。 このパスを R_HOME として引き続き使用する場合は、この手順を省略できます。

    R の別のランタイムを使用する場合は、新しいバージョンのインストールを続ける前に、まず microsoft-r-open-mro を削除する必要があります。

    sudo apt remove microsoft-r-open-mro-3.5.2
    
  2. Ubuntu 用の R (3.3 以降) をインストールします。 既定では、R は /usr/lib/R にインストールされます。 このパスは R_HOME です。 R を別の場所にインストールする場合は、R_HOME としてそのパスを記録しておきます。

    Ubuntu 用の指示の例を次に示します。 お使いの R のバージョンに応じて、次のリポジトリの URL を変更します。

    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
    

R のカスタム インストール

Note

既定の場所 /usr/lib/R に R がインストールされている場合は、このセクションをスキップし、「Rcpp パッケージをインストールする」セクションに進んでかまいません。

環境変数を更新する

最初に、mssql-launchpadd サービスを編集して、R_HOME 環境変数を /etc/systemd/system/mssql-launchpadd.service.d/override.conf ファイルに追加します

  1. systemctl を使用してファイルを開きます

    sudo systemctl edit mssql-launchpadd
    
  2. 開かれた /etc/systemd/system/mssql-launchpadd.service.d/override.conf ファイルに、次のテキストを挿入します。 R_HOME の値を、カスタム R のインストール パスに設定します。

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. 保存して閉じます。

次に、libR.so を読み込めることを確認します。

  1. /etc/ld.so.conf.d にカスタム custom-r.conf ファイルを作成します。

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. 開かれたファイルで、カスタム R のインストールから libR.so へのパスを追加します。

    <path to the R lib>
    
  3. 新しいファイルを保存し、エディターを閉じます。

  4. ldconfig を実行し、次のコマンドを実行することで libR.so を読み込めることを確認し、すべての依存ライブラリが見つかることを確認します。

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

カスタム R インストール フォルダーへのアクセスを許可する

/var/opt/mssql/mssql.conf ファイルの extensibility セクションにある datadirectories オプションを、カスタム R のインストールに設定します。

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

mssql-launchpadd サービスを再起動する

次のコマンドを実行して、mssql-launchpadd を再起動します。

sudo systemctl restart mssql-launchpadd

Rcpp パッケージをインストールする

以下の手順のようにして、Rcpp パッケージをインストールします。

  1. シェルから R を起動します。

    sudo ${R_HOME}/bin/R
    
  2. 次のスクリプトを実行して、${R_HOME}\library フォルダーに Rcpp パッケージをインストールします。

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

言語拡張機能を登録する

次の手順のようにして、R カスタム ランタイムに使用される R 言語拡張機能をダウンロードして登録します。

  1. SQL Server 言語拡張機能の GitHub リポジトリから R-lang-extension-linux-release.zip ファイルをダウンロードします。

    開発環境やテスト環境では、代わりにデバッグ バージョン (R-lang-extension-linux-debug.zip) を使用できます。 デバッグ バージョンでは、エラーを調査するための詳細なログ情報が提供されます。これは運用環境では推奨されません。

  2. Azure Data Studio を使用してお使いの SQL Server インスタンスに接続し、次の T-SQL コマンドを実行して、CREATE EXTERNAL LANGUAGE で R 言語拡張機能を登録します。

    このステートメントのパスを変更して、ダウンロードした言語拡張機能の zip ファイル (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
    

    R 言語拡張機能を使用するデータベースごとに、このステートメントを実行します。

    Note

    R は予約語であり、新しい外部言語の名前として使用することはできません。 別の名前を使用してください。 たとえば、上記のステートメントでは myR が使用されています。

前提条件

R カスタム ランタイムをインストールする前に、次のものをインストールします。

  • RExtension には、GLIBCXX_3.4.20 が必要です。 Red Hat Enterprise Linux (RHEL) に libstdc++.so.6 のバージョンをインストールすることで、これが提供されることを確認してください。

言語拡張をインストールする

Note

SQL Server 2019 に Machine Learning Services がインストールされている場合は、言語拡張機能用の mssql-server-extensibility パッケージが既にインストールされているため、この手順は省略できます。

次のコマンドを実行して、R カスタム ランタイムに使用される Red Hat Enterprise Linux (RHEL) に SQL Server 言語拡張機能をインストールします。

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

R のインストール

  1. Machine Learning Services がインストールされている場合は、R が既に /opt/microsoft/ropen/3.5.2/lib64/R にインストールされています。 このパスを R_HOME として引き続き使用する場合は、この手順を省略できます。

    R の別のランタイムを使用する場合は、新しいバージョンのインストールを続ける前に、まず microsoft-r-open-mro を削除する必要があります。

    sudo yum erase microsoft-r-open-mro-3.5.2
    
  2. Red Hat Enterprise Linux (RHEL) 用の R (3.3 以降) をインストールします。 既定では、R は /usr/lib64/R にインストールされます。 このパスは R_HOME です。 R を別の場所にインストールする場合は、R_HOME としてそのパスを記録しておきます。

    sudo yum install -y R
    

R のカスタム インストール

Note

既定の場所 /usr/lib/R に R がインストールされている場合は、このセクションをスキップし、「Rcpp パッケージをインストールする」セクションに進んでかまいません。

環境変数を更新する

最初に、mssql-launchpadd サービスを編集して、R_HOME 環境変数を /etc/systemd/system/mssql-launchpadd.service.d/override.conf ファイルに追加します

  1. systemctl を使用してファイルを開きます

    sudo systemctl edit mssql-launchpadd
    
  2. 開かれた /etc/systemd/system/mssql-launchpadd.service.d/override.conf ファイルに、次のテキストを挿入します。 R_HOME の値を、カスタム R のインストール パスに設定します。

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. 保存して閉じます。

次に、libR.so を読み込めることを確認します。

  1. /etc/ld.so.conf.d にカスタム custom-r.conf ファイルを作成します。

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. 開かれたファイルで、カスタム R のインストールから libR.so へのパスを追加します。

    <path to the R lib>
    
  3. 新しいファイルを保存し、エディターを閉じます。

  4. ldconfig を実行し、次のコマンドを実行することで libR.so を読み込めることを確認し、すべての依存ライブラリが見つかることを確認します。

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

カスタム R インストール フォルダーへのアクセスを許可する

/var/opt/mssql/mssql.conf ファイルの extensibility セクションにある datadirectories オプションを、カスタム R のインストールに設定します。

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

mssql-launchpadd サービスを再起動する

次のコマンドを実行して、mssql-launchpadd を再起動します。

sudo systemctl restart mssql-launchpadd

Rcpp パッケージをインストールする

以下の手順のようにして、Rcpp パッケージをインストールします。

  1. シェルから R を起動します。

    sudo ${R_HOME}/bin/R
    
  2. 次のスクリプトを実行して、${R_HOME}\library フォルダーに Rcpp パッケージをインストールします。

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

言語拡張機能を登録する

次の手順のようにして、R カスタム ランタイムに使用される R 言語拡張機能をダウンロードして登録します。

  1. SQL Server 言語拡張機能の GitHub リポジトリから R-lang-extension-linux-release.zip ファイルをダウンロードします。

    開発環境やテスト環境では、代わりにデバッグ バージョン (R-lang-extension-linux-debug.zip) を使用できます。 デバッグ バージョンでは、エラーを調査するための詳細なログ情報が提供されます。これは運用環境では推奨されません。

  2. Azure Data Studio を使用してお使いの SQL Server インスタンスに接続し、次の T-SQL コマンドを実行して、CREATE EXTERNAL LANGUAGE で R 言語拡張機能を登録します。

    このステートメントのパスを変更して、ダウンロードした言語拡張機能の zip ファイル (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
    

    R 言語拡張機能を使用するデータベースごとに、このステートメントを実行します。

    Note

    R は予約語であり、新しい外部言語の名前として使用することはできません。 別の名前を使用してください。 たとえば、上記のステートメントでは myR が使用されています。

前提条件

R カスタム ランタイムをインストールする前に、次のものをインストールします。

言語拡張をインストールする

Note

SQL Server 2019 に Machine Learning Services がインストールされている場合は、言語拡張機能用の mssql-server-extensibility パッケージが既にインストールされているため、この手順は省略できます。

次のコマンドを実行して、R カスタム ランタイムに使用される SUSE Linux Enterprise Server (SLES) に SQL Server 言語拡張機能をインストールします。

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

R のインストール

  1. Machine Learning Services がインストールされている場合は、R が既に /opt/microsoft/ropen/3.5.2/lib64/R にインストールされています。 このパスを R_HOME として引き続き使用する場合は、この手順を省略できます。

    R の別のランタイムを使用する場合は、新しいバージョンのインストールを続ける前に、まず microsoft-r-open-mro を削除する必要があります。

    sudo zypper remove microsoft-r-open-mro-3.4.4
    
  2. SUSE Linux Enterprise Server (SLES) 用に R (3.3 以降) をインストールします。 既定では、R は /usr/lib64/R にインストールされます。 このパスは R_HOME です。 R を別の場所にインストールする場合は、R_HOME としてそのパスを記録しておきます。

    次の手順に従って R をインストールしてください。

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

    このパッケージが不要な場合は、R-tcltk-3.6.1 の警告を無視してもかまいません。

gcc-c++ をインストールする

SUSE Linux Enterprise Server (SLES) に gcc-c++ をインストールします。 これは、後でインストールする Rcpp に使用されます。

sudo zypper install gcc-c++

R のカスタム インストール

Note

既定の場所 /usr/lib/R に R がインストールされている場合は、このセクションをスキップし、「Rcpp パッケージをインストールする」セクションに進んでかまいません。

環境変数を更新する

最初に、mssql-launchpadd サービスを編集して、R_HOME 環境変数を /etc/systemd/system/mssql-launchpadd.service.d/override.conf ファイルに追加します

  1. systemctl を使用してファイルを開きます

    sudo systemctl edit mssql-launchpadd
    
  2. 開かれた /etc/systemd/system/mssql-launchpadd.service.d/override.conf ファイルに、次のテキストを挿入します。 R_HOME の値を、カスタム R のインストール パスに設定します。

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. 保存して閉じます。

次に、libR.so を読み込めることを確認します。

  1. /etc/ld.so.conf.d にカスタム custom-r.conf ファイルを作成します。

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. 開かれたファイルで、カスタム R のインストールから libR.so へのパスを追加します。

    <path to the R lib>
    
  3. 新しいファイルを保存し、エディターを閉じます。

  4. ldconfig を実行し、次のコマンドを実行することで libR.so を読み込めることを確認し、すべての依存ライブラリが見つかることを確認します。

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

カスタム R インストール フォルダーへのアクセスを許可する

/var/opt/mssql/mssql.conf ファイルの extensibility セクションにある datadirectories オプションを、カスタム R のインストールに設定します。

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

mssql-launchpadd サービスを再起動する

次のコマンドを実行して、mssql-launchpadd を再起動します。

sudo systemctl restart mssql-launchpadd

Rcpp パッケージをインストールする

以下の手順のようにして、Rcpp パッケージをインストールします。

  1. シェルから R を起動します。

    sudo ${R_HOME}/bin/R
    
  2. 次のスクリプトを実行して、${R_HOME}\library フォルダーに Rcpp パッケージをインストールします。

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

言語拡張機能を登録する

次の手順のようにして、R カスタム ランタイムに使用される R 言語拡張機能をダウンロードして登録します。

  1. SQL Server 言語拡張機能の GitHub リポジトリから R-lang-extension-linux-release.zip ファイルをダウンロードします。

    開発環境やテスト環境では、代わりにデバッグ バージョン (R-lang-extension-linux-debug.zip) を使用できます。 デバッグ バージョンでは、エラーを調査するための詳細なログ情報が提供されます。これは運用環境では推奨されません。

  2. Azure Data Studio を使用してお使いの SQL Server インスタンスに接続し、次の T-SQL コマンドを実行して、CREATE EXTERNAL LANGUAGE で R 言語拡張機能を登録します。

    このステートメントのパスを変更して、ダウンロードした言語拡張機能の zip ファイル (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
    

    R 言語拡張機能を使用するデータベースごとに、このステートメントを実行します。

    Note

    R は予約語であり、新しい外部言語の名前として使用することはできません。 別の名前を使用してください。 たとえば、上記のステートメントでは myR が使用されています。

外部スクリプトを有効にする

R 外部スクリプトは、ストアド プロシージャ sp_execute_external_script を使用して実行できます。

外部スクリプトを有効にするには、Azure Data Studio を使用して次のステートメントを実行します。

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

インストールの確認

R カスタム ランタイムのインストールと機能を確認するには、次の SQL スクリプトを使用します。 下のサンプル スクリプトでは、myR が言語名として使用されています。既定の言語名 R はカスタム ランタイムとしては指定できないためです。

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

既知の問題

SQL Server Machine Learning Services の一部として提供されている R ランタイムを使用している場合は、言語拡張を登録するときに R_HOMEC:\Program Files\Microsoft SQL Server\MSSQL15.<INSTANCE_NAME>\R_SERVICES に設定することにより、sp_execute_external スクリプトで外部カスタム R スクリプトを実行すると、次のエラーが発生する可能性があります。

"エラー: メモリが不足しています (上限に達しましたか?) "

この問題を解決するには、次の手順を実行します。

  1. 固定サイズのオブジェクトの数 (cons cells) を示す環境変数 R_NSIZE を、適切な値 (200000 など) に設定します。
  2. スタート パッド サービスを再起動し、スクリプトの実行を再試行します。

既知の問題

libstdc++.so.6 が正しいバージョンではない場合、次のエラーが表示されます。

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: 拡張機能の読み込みに失敗しました /lib64/libstdc++.so.6: (/home/mssql_satellite/externallanguagessandboxpath/libRExtension.so.1.1 で必要な) バージョン 'GLIBCXX_3.4.20' が見つかりませんでした)

次のステップ