この投稿は、「MSSQLサーバーのインストール方法」および「MSSQLサーバーツールのインストール方法」の質問に対する「キャッチオール」正規の質問と回答のペアになるように作成されました。
Linux用のMS SQL Serverをセットアップすることを検討しており、SQL Serverとやり取りできるように(サーバー自体または他のシステムで)そのツールを使用している可能性があります。どうすればこれを行うことができますか?
この投稿は、「MSSQLサーバーのインストール方法」および「MSSQLサーバーツールのインストール方法」の質問に対する「キャッチオール」正規の質問と回答のペアになるように作成されました。
Linux用のMS SQL Serverをセットアップすることを検討しており、SQL Serverとやり取りできるように(サーバー自体または他のシステムで)そのツールを使用している可能性があります。どうすればこれを行うことができますか?
回答:
この回答では、16.04システム用のMSSQLサーバーとツールのインストールについて説明します。システム上でMSSQL Serverを取得するDockerソリューションについては説明しません。SQL Server用のDockerインストールオプションを介して、MSSQL Server用の個別の回答が作成されます。
ここには、Microsoftリポジトリからのパッケージにのみ、いくつかの異なるコンポーネントがあります。
mssql-server
-Microsoft SQL Server for Linux Previewmssql-tools
- sqlcmd
など、MSSQL Serverとやり取りするコマンド。ここにはいくつかの悪い警告があります:
mssql-server
64ビットシステムを使用している場合を除き、実行することはできず、ツールも実行できません。以下のすべてのコマンドは、Microsoftの推奨手順からのものです。ここで紹介する手順の一部(スーパーユーザーシェルへのログインなど)がもたらすセキュリティリスクの性質により、これらの手順を正確に実行する以外にこれらのコマンドの一部を使用することはお勧めしません。
mssql-server
インストール手順(ソース)これらの手順は、Linux Public Preview用のMS SQL Serverのセットアップをカバーしています。これとDockerメソッドは、MSSQL Server for Linuxをセットアップするための2つのメソッドです。
警告:
- MSSQL Serverには64ビットシステムが必要です。
- MSSQL Serverをインストールするには、システムに少なくとも4GBのRAMが必要です。
- これにはUbuntu 16.04 が必要です。現在、リポジトリサーバーには他のバージョンはありません。
mssql-server
Ubuntuにパッケージをインストールするには、次の手順を実行します。
スーパーユーザーモードに入ります。
sudo su
パブリックリポジトリGPGキーをインポートします。
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Microsoft SQL Server Ubuntuリポジトリを登録します。
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
スーパーユーザーモードを終了します。
exit
次のコマンドを実行して、SQL Serverをインストールします。
sudo apt-get update
sudo apt-get install -y mssql-server
パッケージのインストールが完了したら、構成スクリプトを実行し、プロンプトに従います。
sudo /opt/mssql/bin/mssql-conf setup
構成が完了したら、サービスが実行されていることを確認します。
systemctl status mssql-server
参照:クイックスタート:SQL ServerのインストールとUbuntuでのデータベースの作成。
mssql-tools
インストール手順(ソース)このセクションmssql-tools
では、sqlcmd
コマンドを含むセットアップについて説明します。これらの手順はsqlcmd
、Linux上でコマンドまたはその他のMicrosoftが提供するユーティリティを使用してMSSQLサーバーとやり取りするシステムに必要です。
(これは、MSSQLとやり取りするための他のPythonライブラリ、またはmssql-tools
操作するためにpacakgeを必要としないサーバーなどとやり取りできるDataGripなどの他のユーティリティには必要ありません。)
警告:
- 非64ビットシステム用のこのバージョンは見つかりませんでした。これらのツールを機能させるには、64ビットシステムが必要になる場合があります。
- 現在、ツールは16.04でのみ使用できます。
スーパーユーザーモードに入る
sudo su
パブリックリポジトリGPGキーをインポートします。
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Microsoft Ubuntuリポジトリを登録します。
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
スーパーユーザーモードを終了します。
exit
ソースリストを更新し、インストールコマンドを実行します。
sudo apt-get update
sudo apt-get install mssql-tools
sqlservr-setup
がに改名されたことに注意する価値がありますmssql-conf setup
。
source
が言ったように、SQLには4GBのRAMではなく2GBが必要であると書かれています。
Dockerを使用してUbuntuでMSSQL Serverを実行することもできます。これは、次の手順を慎重に実行することで実行できます。
Ubuntu 14.04 またはXenial(16.04)より古いリリースを使用している場合は、アーカイブが提供するよりも新しいバージョンのDockerをインストールする必要があります。
そうでない場合は、単に実行します:
sudo apt-get install docker.io
次を使用してローカルDockerデーモンに接続できることを確認します。
docker info
のようなエラーを受け取った場合Cannot connect to the Docker daemon.
、docker
グループに自分を追加する必要があります。
sudo usermod -a -G docker <USERNAME>
...どこ <USERNAME>
はユーザー名に置き換えられます。変更を有効にするには、ログアウトして再度ログインする必要があります。
Docker HubからMSSQLイメージをプルします。
docker pull microsoft/mssql-server-linux
コンテナーからのデータを保存するホスト上にディレクトリを作成し、便宜上、環境変数に値を保持します。
export DIR=/var/lib/mssql
sudo mkdir $DIR
コンテナーを開始します。
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>
後で認証に使用される一意の値にます。
コンテナがエラーなしで起動したことを確認します。
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