R ツールを使用してパッケージをインストールする

適用対象: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

この記事では、標準の R ツールを使用して、新しい R パッケージを SQL Server Machine Learning Services または SQL Server R Services のインスタンスにインストールする方法について説明します。 インターネットに接続されている SQL Server だけでなく、インターネットから切り離されている SQL Server にもパッケージをインストールできます。

標準の R ツールの他に、次のものを使用して R パッケージをインストールできます。

  • T-SQL (CREATE EXTERNAL LIBRARY)

一般的な考慮事項

  • SQL Server で実行されている R コードでは、既定のインスタンス ライブラリにインストールされているパッケージのみを使用できます。 SQL Server では、外部ライブラリからパッケージを読み込むことはできません。これには同じコンピューター上にある外部ライブラリや、 他の Microsoft 製品と共にインストールされた R ライブラリも含まれます。

  • R パッケージ ライブラリは SQL Server インスタンスの Program Files フォルダー内にあります。既定では、このフォルダーにインストールするには管理者権限が必要です。 詳細については、パッケージ ライブラリの場所に関するページを参照してください。

    管理者以外のユーザーは、RevoScaleR 9.0.1 以降または CREATE EXTERNAL LIBRARY を使用してパッケージをインストールできます。 dbo_owner ユーザー、または CREATE EXTERNAL LIBRARY 権限を持つユーザーは、現在のデータベースに R パッケージをインストールできます。 詳細については、次を参照してください。

    管理者以外のユーザーは、RevoScaleR 9.0.1 以降を使用してパッケージをインストールできます。 dbo_owner ユーザーは、現在のデータベースに R パッケージをインストールできます。 詳細については、「RevoScaleR を使用して R パッケージをインストールする」を参照してください。

  • 強化された SQL Server 環境では、次のパッケージを避けることをお勧めします。

    • ネットワーク アクセスを必要とするパッケージ
    • 管理者特権でのファイル システム アクセスが必要なパッケージ
    • Web 開発、または SQL Server 内で実行しても効果のないタスクに使用されるパッケージ

オンライン インストール (インターネット アクセスあり)

SQL Server からインターネットにアクセスできる場合は、標準のパッケージ インストール ツールを使用して R パッケージをインストールできます。

  1. インスタンス ライブラリの場所を特定し (「R パッケージ情報の取得」を参照)、R ツールがインストールされているフォルダーに移動します。

    たとえば、SQL Server の既定のインスタンスの既定のパスは次のようになります。

    C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64\

    たとえば、SQL Server の既定のインスタンスの既定のパスは次のようになります。

    C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64\

  2. このフォルダーから管理者として R または Rgui を実行します。

  3. R コマンド install.packages を実行し、パッケージ名を指定します。 パッケージに依存関係がある場合、インストーラーは自動的に依存関係をダウンロードしてインストールします。

SQL Server のサイド バイ サイド インスタンスが複数ある場合は、パッケージを使用するインスタンスごとに個別にインストールを実行します。 パッケージをインスタンス間で共有することはできません。

オフライン インストール (インターネット アクセスなし)

多くの場合、実稼働データベースをホストするサーバーにはインターネット接続がありません。 そのような環境に R パッケージをインストールするには、あらかじめパッケージと依存関係を (ZIP ファイルとして) ダウンロードして準備し、ファイルをサーバー上のフォルダーにコピーします。 ファイルが配置されたら、パッケージをオフラインでインストールできます。

すべての依存関係を識別するのは複雑な作業です。 R については、miniCRAN を使用してローカル リポジトリを作成することをお勧めします。 miniCRAN は、インストールするパッケージの一覧を取得し、依存関係を分析し、必要な ZIP ファイルをすべて収集します。 次に、分離された SQL Server インスタンスにコピーできる単一のリポジトリを作成します。 igraph パッケージも、パッケージの依存関係を分析する際に役立ちます。

詳細については、「miniCRAN を使用してローカル R パッケージ リポジトリを作成する」を参照してください。

ZIP ファイルが SQL Server インスタンス上にある場合は、標準の R ツールを使用してサーバーにインストールできます。

  1. インスタンス ライブラリの場所を特定し (「R パッケージ情報の取得」を参照)、R ツールがインストールされているフォルダーに移動します。

    たとえば、SQL Server の既定のインスタンスの既定のパスは次のようになります。

    C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64\

    たとえば、SQL Server の既定のインスタンスの既定のパスは次のようになります。

    C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64\

  2. このフォルダーから管理者として R または Rgui を実行します。

  3. R コマンドを実行して、install.packagesパッケージまたはリポジトリの名前と、zip 形式のファイルの場所を指定します。 例:

    install.packages("C:\\Temp\\Downloaded packages\\mynewpackage.zip", repos=NULL)
    

    このコマンドはローカルの ZIP ファイルから R パッケージ mynewpackage を抽出し、このパッケージをインストールします。 パッケージに依存関係がある場合、インストーラーはライブラリ内の既存のパッケージを確認します。 依存関係を含むリポジトリを作成した場合は、必要なパッケージもインストーラーによってインストールされます。

    Note

    必要なパッケージがインスタンス ライブラリに存在せず、zip 形式のファイルに見つからない場合、ターゲット パッケージのインストールは失敗します。

miniCRAN の代替手段として、次の手順を手動で実行することもできます。

  1. パッケージのすべての依存関係を特定します。
  2. 必要なすべてのパッケージが既にサーバーにインストールされているかどうかを確認します。 パッケージがインストールされている場合は、バージョンが正しいことを確認します。
  3. パッケージとすべての依存関係を、インターネットにアクセスできる別のコンピューターにダウンロードします。
  4. パッケージと依存関係を 1 つのパッケージ アーカイブに配置します。
  5. アーカイブがまだ ZIP 形式になっていない場合は、ZIP 圧縮します。
  6. サーバーからアクセス可能なフォルダーにファイルを移動します。
  7. サポートされているインストール コマンドまたは DDL ステートメントを実行して、インスタンス ライブラリにパッケージをインストールします。

関連項目