Ubuntu 16.04 LTS で SQL Server 2017 Express をもう少し試してみる

Ubuntu 16.04 LTS で SQL Server 2017 Express をもう少し試してみる

インストール後、色々設定してみる

Windowsのような 構成マネージャーが無く mssql-conf を使用して設定行う

※/var/opt/mssql/mssql.conf が設定内容

もしくは該当する環境変数の設定で構成を変更する

参考にしたのは以下のサイト

クイック スタート: SQL Server をインストールし、Ubuntu でデータベースを作成

Linux 上の SQL Server の設定を環境変数で構成する

Linux 上の SQL Server を管理するのに Windows 上の SQL Server Management Studio の使用します

 

インストール環境こちら

Windows 10 Pro + VirtualBox x64 に Ubuntu 16.04 LTS をインストールしてみる

SQL Server 2017 Expressのインストールはこちら

Ubuntu 16.04 LTS で SQL Server 2017 Express を試してみる

 

vipw で確認すると、以下が追加されていることを確認

mssql:x:997:997::/var/opt/mssql:/bin/bash

 

# cat /etc/group で以下が追加されていることを確認

mssql:x:997:

 

Mssql conf ツールを使用して Linux 上の SQL Server を構成します

を参考に mssql-conf を使用して設定を変更する(普通スクリプト書くよな)

設定ファイルは /var/opt/mssql/mssql.conf に反映される

※以下設定変えても反映されないんだけど、原因は何だ?

# cd /var

# mkdir mssql

# mkdir mssql/data

# mkdir mssql/logs

# mkdir mssql/logs/log

# mkdir mssql/logs/errorlog

# mkdir mssql/backup

# mkdir mssql/audit

# chown -R mssql mssql

# chgrp -R mssql mssql

※以下の3項目は設定は反映されるが、sqlcmd で接続不可になる

・既定のログ ディレクトリを変更する

# /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /var/mssql/logs/log

 

・既定のエラー ログ ファイル名を変更する。

# /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /var/mssql/logs/errorlog

 

・既定のバックアップ ディレクトリを変更する

# /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /var/mssql/backup

 

以下の2項目は設定しても起動が失敗する

・既定のデータ ディレクトリを変更する

# /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /var/mssql/data

 

・監査のローカル ディレクトリをセットする

# /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /var/mssql/audit

 

以下のコメントが表示されるので

この設定を適用するには SQL Server を再起動する必要があります。

'systemctl restart mssql-server.service' を実行してください。

※以下はメモ

# systemctl restart mssql-server.service

# systemctl start mssql-server.service

# systemctl stop mssql-server.service

# systemctl status mssql-server.service

 

SSMSでDBの作成・ユーザを登録可能なことを確認

以下で使用しているテーブルを作成してみる

Windows 10 Pro_x64 + Excel2013_x86 VBA DataBase Access クラスを使って書き込んでみる