Symfoware

Symfowareについての考察blog

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




インストール中、ライセンス認証の画面が表示されます。
「はい」を選択してエンターキーを押下します。

747_01.png

747_02.png



ツールは「/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
パスワード:インストール時に入力したパスワード

747_03.png


普通に接続できました。

747_04.png


データの保存パスを見てみると、「/var/opt/mssql/data」になっています。
ちゃんとLinuxのSQL Serverに接続できたようです。

747_05.png



関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2017/04/25(火) 23:28:14|
  2. SQL Server
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<SQL Server 2017 照合順序のデフォルト値確認と変更 | ホーム | LXC コンテナ内でpingやviを実行したい>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1986-e1c68937
この記事にトラックバックする(FC2ブログユーザー)