Linux に SQL Server コマンドライン ツール sqlcmd および bcp をインストールする

適用対象:SQL Server - Linux

次の手順で、コマンドライン ツール、Microsoft ODBC ドライバー、およびそれらの依存関係をインストールします。 mssql-tools パッケージには次のものが含まれます。

  • sqlcmd:コマンド ライン ユーティリティ
  • bcp:一括インポート エクスポート ユーティリティ

ご使用のプラットフォームに対応するツールをインストールします。

この記事では、コマンドライン ツールをインストールする方法について説明します。 sqlcmd または bcp の使用方法の例をお探しの場合は、この記事の最後にあるリンクを参照してください。

警告

sqlcmd と bcp は、x64 アーキテクチャ用の mssql-tools で入手できます。 arm64 と x64 の両方の環境に代わるものは、Linux、macOS、Windows、GitHub の go-sqlcmd でプレビュー段階です。

Linux にツールをインストールする

次の手順を使用して、Red Hat Enterprise Linux に mssql-tools をインストールします。

  1. スーパーユーザー モードにします。

    sudo su
    
  2. Microsoft Red Hat リポジトリ構成ファイルをダウンロードします。

    curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo
    
  3. スーパーユーザー モードを終了します。

    exit
    
  4. 旧版の mssql-tools がインストールされている場合、古い unixODBC パッケージはすべて削除してください。

    sudo yum remove mssql-tools unixODBC-utf16-devel
    
  5. 次のコマンドを実行し、unixODBC 開発者パッケージと共に mssql-tools をインストールします。

    sudo yum install mssql-tools unixODBC-devel
    

    注意

    最新バージョンの mssql-tools に更新するには、次のコマンドを実行します。

    sudo yum check-update
    sudo yum update mssql-tools
    
  6. 省略可能:bash シェルで PATH 環境変数に /opt/mssql-tools/bin/ を追加します。

    ログイン セッション用に bash シェルから sqlcmd/bcp にアクセスできるようにするには、次のコマンドで ~/.bash_profile ファイルの PATH を変更します。

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    対話型/非ログイン セッション用に bash シェルから sqlcmd/bcp にアクセスできるようにするには、次のコマンドで ~/.bashrc ファイルの PATH を変更します。

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

macOS にツールをインストールする

sqlcmdbcp のプレビューが macOS で使用できるようになりました。 詳しくは、お知らせをご覧ください。

" Homebrew をインストールします (まだインストールしていない場合)。 "

  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Mac El Capitan および Sierra のツールをインストールするには、次のコマンドを使用します。

# brew untap microsoft/mssql-preview if you installed the preview version
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install mssql-tools
#for silent install:
#HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=y brew install mssql-tools

Docker にツールをインストールする

Docker コンテナー内で SQL Server を実行する場合、SQL Server のコマンドライン ツールは SQL Server Linux コンテナー イメージに既に含まれています。 対話型の Bash シェルで実行中のコンテナーにアタッチする場合は、ツールをローカルで実行できます。

SQL Server コマンド ライン ツールを使用してコンテナーを作成する場合は、インストール コマンドに ACCEPT_EULA=Y を追加して、イメージの作成を中断せず、EULA をサイレント モードで受け入れることをお勧めします。 Ubuntu ベースのイメージへのインストールの一部としての最終的なコマンドの例を次に示します。

sudo ACCEPT_EULA=Y apt-get install mssql-tools unixodbc-dev

オフライン インストール

Linux マシンが前のセクションで使われたオンライン リポジトリにアクセスできない場合は、パッケージ ファイルを直接ダウンロードできます。 これらのパッケージは、Microsoft リポジトリ (https://packages.microsoft.com) にあります。

ヒント

前のセクションの手順で正常にインストールした場合は、次のパッケージをダウンロードしたり手動でインストールする必要はありません。 これは、オフライン シナリオのみです。

  1. 最初に、ご使用の Linux ディストリビューション用の mssql-tools パッケージを見つけてコピーします。 Red Hat 8.0 の場合、これは https://packages.microsoft.com/rhel/8.0/prod にあります。

  2. また、msodbcsql.h パッケージも見つけてコピーします。これは依存関係です。 msodbcsql パッケージも、unixODBC-devel に依存しています。 Red Hat の場合、msodbcsql パッケージは https://packages.microsoft.com/rhel/8/prod にあります。

  3. ダウンロードしたパッケージを Linux マシンに移動します。 別のコンピューターを使用してパッケージをダウンロードした場合、パッケージをお使いの Linux コンピューターに移動する 1 つの方法は scp コマンドを使用することです。

  4. パッケージをインストールしますmssql-tools および msodbc パッケージをインストールします。 依存関係のエラーが発生した場合は無視して次の手順に進みます。 <version> を正しいバージョンと置き換えます。

    sudo yum localinstall msodbcsql-<version>.rpm
    sudo yum localinstall mssql-tools-<version>.rpm
    
  5. 不足している依存関係を解決します。この時点で、依存関係が不足している場合があります。 そうでない場合は、この手順は省略できます。 場合によっては、それらの依存関係を手動で見つけてインストールする必要があります。

    次のコマンドを使用して必要な依存関係を調べることができます。 <version> を正しいバージョンと置き換えます。

    rpm -qpR msodbcsql-<version>.rpm
    rpm -qpR mssql-tools-<version>.rpm
    

次のステップ

sqlcmd を使用して SQL Server に接続してデータベースを作成する方法の例については、次のクイックスタートのいずれかをご覧ください。

bcp を使用して、データの一括インポートやエクスポートを行う方法の例については、「SQL Server on Linux にデータを一括コピーする」をご覧ください。