SQL Server 2017 vNext(14.0)をUbuntu Server 16.04にインストール
SQL ServerがLinuxにインストールできるようになりました。Ubuntu Server 16.04にインストールしてみようと思います。
SQL Server on Linux Documentation
インストール
こちらを参考にしました。
Install SQL Server on Ubuntu
※注意:搭載しているメモリは4GBないと、インストール時にエラーとなります。
apt-keyを更新。
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
実行すると、sudoの入力待ちになりますので、ログインユーザーのパスワードを入力します。
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
[sudo] symfo のパスワード: % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 983 100 983 0 0 1734 0 --:--:-- --:--:-- --:--:-- 1733
[ここで固まったように見えるがパスワードまち。パスワードを入力してエンター]
OK
aptのソースリストを追加。
$ curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
実行の様子
$ curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 87 100 87 0 0 29 0 0:00:03 0:00:02 0:00:01 29
deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server xenial main
aptの内容を更新して、インストールを実行します。
その前に、apt-transport-httpsをインストールしておきます。
インストールしていないと、こんなエラーが発生します。
E: メソッドドライバ /usr/lib/apt/methods/https が見つかりません。
N: パッケージ apt-transport-https はインストールされていますか?
update,installを実行します。
$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install -y mssql-server
最初、仮想環境に2GBのメモリを割り当ててインストールを試していたのですが、
こんなエラーで終了しました。
ERROR: This machine must have at least 3.25 gigabytes of memory to install Microsoft(R) SQL Server(R).
mssql-server は終了コード 1 で前設定に失敗しました
メモリの割当を4GBに変更し、再度インストールを実行。
$ sudo apt-get install -y mssql-server
...
mssql-server (14.0.500.272-2) を設定しています ...
+--------------------------------------------------------------+
'sudo /opt/mssql/bin/mssql-conf setup' を実行し、
Microsoft SQL Server のセットアップを完了してください
+--------------------------------------------------------------+
今度は正常終了してくれました。
初期セットアップ
インストールが完了したら、指定通り初期セットアップのコマンドを実行します。
$ sudo /opt/mssql/bin/mssql-conf setup
ライセンス認証やパスワードの入力などを求められます。
$ sudo /opt/mssql/bin/mssql-conf setup
この製品のライセンス条項は、次の URL からダウンロードし
http://go.microsoft.com/fwlink/?LinkId=746388
ファイル /usr/share/doc/mssql-server/LICENSE.TXT で参照できます。
ライセンス条項に同意しますか? [Yes/No]:Yes
Microsoft SQL Server を設定しています
新しい SQL Server システム管理者パスワードを入力してください: [任意のパスワード入力]
新しい SQL Server システム管理者パスワードを確認入力してください: [上記と同じパスワード入力]
Microsoft SQL Server を開始しています...
起動時の Microsoft SQL Server の実行を有効にしています...
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to
/lib/systemd/system/mssql-server.service.
セットアップが正常に完了しました。
ここで入力したパスワードがSQL Serverのsa(管理者権限ユーザー)のパスワードになります。
systemctlを実行すると、サービスが開始されているか確認できます。
$ systemctl status mssql-server
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor pre
Active: active (running) since 火 2017-04-25 22:58:37 JST; 1min 26s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 1366 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─1366 /opt/mssql/bin/sqlservr
└─1384 /opt/mssql/bin/sqlservr
4月 25 22:58:41 mssql sqlservr[1366]: [82B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [84B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [122B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [145B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [66B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [75B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [96B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [100B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [71B blob data]
4月 25 22:58:41 mssql sqlservr[1366]: [124B blob data]
sqlcmdのインストール
続いて、sqlcmd等のツールのインストールを行いました。
Install sqlcmd and bcp the SQL Server command-line tools on Linux
apt-keiの追加
(SQL Serverのインストールを行っている場合は不要)
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
aptのソースリストを追加
$ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
update,installを実行します。
$ sudo apt-get update
$ sudo apt-get install mssql-tools unixodbc-dev
インストール中、ライセンス認証の画面が表示されます。
「はい」を選択してエンターキーを押下します。
ツールは「/opt/mssql-tools/bin」にインストールされます。
$ ls /opt/mssql-tools/bin
bcp sqlcmd
パスを通しておくと便利です。
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
$ source ~/.bashrc
sqlcmdのヘルプを表示してみます。
$ sqlcmd -?
Microsoft (R) SQL Server Command Line Tool
Version 13.1.0006.0 Linux
Copyright (c) 2012 Microsoft. All rights reserved.
usage: sqlcmd [-U login id] [-P password]
[-S server or Dsn if -D is provided]
[-H hostname] [-E trusted connection]
[-N Encrypt Connection][-C Trust Server Certificate]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w screen width]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-c cmdend]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-m errorlevel] [-V severitylevel] [-W remove trailing spaces]
[-u unicode output] [-r[0|1] msgs to stderr]
[-i inputfile] [-o outputfile]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting]
[-K application intent]
[-M multisubnet failover]
[-b On error batch abort]
[-D Dsn flag, indicate -S is Dsn]
[-X[1] disable commands, startup script, environment variables [and exit]]
[-x disable variable substitution]
[-? show syntax summary]
ちゃんとインストールできたようです。
別サーバーからの接続
WindowsにインストールしたSQL Server Management Studio (SSMS) から接続してみます。
認証:SQL Server認証
ログイン:sa
パスワード:インストール時に入力したパスワード
普通に接続できました。
データの保存パスを見てみると、「/var/opt/mssql/data」になっています。
ちゃんとLinuxのSQL Serverに接続できたようです。
- 関連記事
-
- UbuntuにインストールしたSQL Serverでデータベース、テーブルを作成(sqlcmd)
- SQL Server 2017 照合順序のデフォルト値確認と変更
- SQL Server 2017 vNext(14.0)をUbuntu Server 16.04にインストール
- Windows Server 2016 ASP.NET aspxページでSQL Server 2016に接続する
- Debian 8(jessie) + C#(Mono)でSQL Server 2016に接続する
コメント