16.04にLinux用MSSQLサーバーやツールをインストールする方法を教えてください。


14

この投稿は、「MSSQLサーバーのインストール方法」および「MSSQLサーバーツールのインストール方法」の質問に対する「キャッチオール」正規の質問と回答のペアになるように作成されました。

Linux用のMS SQL Serverをセットアップすることを検討しており、SQL Serverとやり取りできるように(サーバー自体または他のシステムで)そのツールを使用している可能性があります。どうすればこれを行うことができますか?


1
16.04で利用可能なMSSQLサーバーと、同じサーバー上のツールがあることに注意してください。WindowsコンピューターからMSSQL Management Studioを使用してすべてを管理し、DataGripおよびその他のPythonインターフェイスを使用して、実際にMSSQLサーバーを使用して管理します。
トーマス・ウォード

回答:


18

この回答では、16.04システム用のMSSQLサーバーとツールのインストールについて説明します。システム上でMSSQL Serverを取得するDockerソリューションについては説明しません。SQL Server用のDockerインストールオプションを介して、MSSQL Server用の個別の回答が作成されます。

ここには、Microsoftリポジトリからのパッケージにのみ、いくつかの異なるコンポーネントがあります。

  1. mssql-server -Microsoft SQL Server for Linux Preview
  2. mssql-tools- sqlcmdなど、MSSQL Serverとやり取りするコマンド。

ここにはいくつかの悪い警告があります:

  1. すべてのコンポーネントに16.04が必要です。古いバージョンでは機能しません。
  2. 現時点では、利用可能なパッケージの64ビットバージョンのみがあります。mssql-server64ビットシステムを使用している場合を除き、実行することはできず、ツールも実行できません。

以下のすべてのコマンドは、Microsoftの推奨手順からのものです。ここで紹介する手順の一部(スーパーユーザーシェルへのログインなど)がもたらすセキュリティリスクの性質により、これらの手順を正確に実行する以外にこれらのコマンドの一部を使用することはお勧めしません。


mssql-serverインストール手順(ソース

これらの手順は、Linux Public Preview用のMS SQL Serverのセットアップをカバーしています。これとDockerメソッドは、MSSQL Server for Linuxをセットアップするための2つのメソッドです。

警告:

  1. MSSQL Serverには64ビットシステムが必要です。
  2. MSSQL Serverをインストールするには、システムに少なくとも4GBのRAMが必要です。
  3. これにはUbuntu 16.04 が必要です。現在、リポジトリサーバーには他のバージョンはありません。

mssql-serverUbuntuにパッケージをインストールするには、次の手順を実行します。

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

    sudo su
    
  2. パブリックリポジトリGPGキーをインポートします。

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Microsoft SQL Server Ubuntuリポジトリを登録します。

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. スーパーユーザーモードを終了します。

    exit
    
  5. 次のコマンドを実行して、SQL Serverをインストールします。

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. パッケージのインストールが完了したら、構成スクリプトを実行し、プロンプトに従います。

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. 構成が完了したら、サービスが実行されていることを確認します。

    systemctl status mssql-server
    

参照:クイックスタート:SQL ServerのインストールとUbuntuでのデータベースの作成


mssql-toolsインストール手順(ソース

このセクションmssql-toolsでは、sqlcmdコマンドを含むセットアップについて説明します。これらの手順はsqlcmd、Linux上でコマンドまたはその他のMicrosoftが提供するユーティリティを使用してMSSQLサーバーとやり取りするシステムに必要です。

(これは、MSSQLとやり取りするための他のPythonライブラリ、またはmssql-tools操作するためにpacakgeを必要としないサーバーなどとやり取りできるDataGripなどの他のユーティリティには必要ありません。)

警告:

  1. 非64ビットシステム用のこのバージョンは見つかりませんでした。これらのツールを機能させるには、64ビットシステムが必要になる場合があります。
  2. 現在、ツールは16.04でのみ使用できます。
  1. スーパーユーザーモードに入る

    sudo su
    
  2. パブリックリポジトリGPGキーをインポートします。

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Microsoft Ubuntuリポジトリを登録します。

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. スーパーユーザーモードを終了します。

    exit
    
  5. ソースリストを更新し、インストールコマンドを実行します。

    sudo apt-get update
    sudo apt-get install mssql-tools
    


Dockerソリューションで言及したように、ここではmssqlサーバーはamd64アーキテクチャでのみ動作することも言う必要があります(armやarm64とは異なり、一部のクラウドで提供されています)。
userfuser

1
それsqlservr-setupがに改名されたことに注意する価値がありますmssql-conf setup
トム

あなたsourceが言ったように、SQLには4GBのRAMではなく2GBが必要であると書かれています。
オフィルピア

9

Dockerの使用(amd64のみ)

Dockerを使用してUbuntuでMSSQL Serverを実行することもできます。これは、次の手順を慎重に実行することで実行できます。

  1. Ubuntu 14.04 またはXenial(16.04)より古いリリースを使用している場合は、アーカイブが提供するよりも新しいバージョンのDockerをインストールする必要があります。

    その場合は、このページの指示に従ってください

    そうでない場合は、単に実行します:

    sudo apt-get install docker.io
    
  2. 次を使用してローカルDockerデーモンに接続できることを確認します。

    docker info
    

    のようなエラーを受け取った場合Cannot connect to the Docker daemon.dockerグループに自分を追加する必要があります。

    sudo usermod -a -G docker <USERNAME>
    

    ...どこ <USERNAME>はユーザー名に置き換えられます。変更を有効にするには、ログアウトして再度ログインする必要があります。

  3. Docker HubからMSSQLイメージをプルします。

    docker pull microsoft/mssql-server-linux
    
  4. コンテナーからのデータを保存するホスト上にディレクトリを作成し、便宜上、環境変数に値を保持します。

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. コンテナーを開始します。

    docker run \
        -d \
        --name mssql \
        -e 'ACCEPT_EULA=Y' \
        -e 'SA_PASSWORD=<PASSWORD>' \
        -p 1433:1433 \
        -v $DIR:/var/opt/mssql \
        microsoft/mssql-server-linux
    

    交換 <PASSWORD>後で認証に使用される一意の値にます。

  6. コンテナがエラーなしで起動したことを確認します。

    docker ps -af name=mssql
    

    もしSTATUS下のコラムショー「アップ...」STATUSの列、そしてすべてが正しく実行されています。ただし、エラーが表示される場合:

    CONTAINER ID ... STATUS ...
    ba79fa12fbf1 ... Exited (0) 3 seconds ago ...
    

    ...次に使用できます docker logs mssqlさらに情報を取得するために。

アプリケーションからコンテナに接続するには、ポート1433を指定するだけです。

デフォルトでは、コンテナは最初runに起動されます。コンテナは次の方法で停止できます。

docker stop mssql

コンテナを削除するには、まずコンテナを停止してから、次を実行します。

docker rm mssql

18.04でテスト済み。ありがとう、それは機能し、非常に高速です。
ジョーEifert

ユーザー名:sa、パスワードは少なくとも8文字と数字、および大文字と小文字である必要があります。そうしないと接続できません。詳細はこちら:hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.