good-arrow’s blog

https://good-arrow.net/

SQL Server Express Edition を Linux 上にインストールする

去年ぐらいでしょうか。簡単にできるようになりました。
今回は Express Edition をインストールしてみたいと思います。


インストール手順はMS公式サイトに掲載されています。
Red Hat Enterprise Linux 上の SQL Server の概要します。 - SQL Server | Microsoft Docs

システム要件に メモリ2GB とありますが、
2GBだとインストール時にメモリ不足で失敗します。
Linux 上の SQL Server のインストールのガイダンスについて - SQL Server | Microsoft Docs

Express Edition はデータベースのサイズが 最大10 GB となるので注意してください。
また Linux 上で動作しますが、ストアアプリ等の WSL(Windows Subsystem for Linux)上では
動作しないとのことです。


エンタープライズ向けに SQL Server を使うなら、RedHat 系かと思いますので、
ここでは CentOS 7 を使います。OSインストールは他サイトで閲覧ください。



SQL Server のインストール

公式の手順どおりです。

1)リポジトリの構成ファイルをダウンロード

curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo

2)SQL Server をインストール

yum install -y mssql-server

3)セットアップの実行

/opt/mssql/bin/mssql-conf setup

ここで「エディションの選択」が出てきます。

[root@localhost ~]# /opt/mssql/bin/mssql-conf setup
usermod: 変更はありません
SQL Server のエディションを選択します:
  1) Evaluation (無料、製品使用権なし、期限 180 日間)
  2) Developer (無料、製品使用権なし)
  3) Express (無料)
  4) Web (有料)
  5) Standard (有料)
  6) Enterprise (有料) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
  7) Enterprise Core (有料) - CPU Core utilization up to Operating System Maximum
  8) 小売販売チャネルを介してライセンスを購入し、入力するプロダクト キーを持っています。

エディションの詳細については、以下を参照してください
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x411

このソフトウェアの有料エディションを使用するには、個別のライセンスを以下から取得する必要があります
Microsoft ボリューム ライセンス プログラム。
有料エディションを選択することは、
このソフトウェアをインストールおよび実行するための適切な数のライセンスがあることを確認していることになり
ます。

エディションを入力してください(1-8): 

今回は 3Express エディションを選択します。
続いて「ライセンス条項」の同意を求めてきますので、y で同意し次に進めます。

この製品のライセンス条項は
/usr/share/doc/mssql-server で参照できるほか、次の場所からダウンロードすることもできます:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x411

プライバシーに関する声明は、次の場所で確認できます:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x411

ライセンス条項に同意しますか? [Yes/No]:y

続いて「言語の選択」を 6 とします。

SQL Server の言語の選択:
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Русский
(10) 中文 – 简体
(11) 中文 (繁体)
オプション 1-11 を入力: 6

続いて、システム管理者パスワードが求められます。

SQL Server システム管理者パスワードを入力してください: 
SQL Server システム管理者パスワードを確認入力してください: 

その後、セットアップが自動で処理され終了します。

This is an evaluation version.  There are [170] days left in the evaluation period.
ライセンス PID は正常に処理されました。新しいエディションは [Express Edition] です。
ForceFlush is enabled for this instance. 
ForceFlush feature is enabled for log durability.
DBSTARTUP (msdb, 4): FileMgrPreRecoveryTime took 132 ms
DBSTARTUP (msdb, 4): PhysicalRecoveryTime took 104 ms
DBSTARTUP (msdb, 4): PhysicalCompletionTime took 315 ms
DBSTARTUP (msdb, 4): RecoveryCompletionTime took 167 ms
DBSTARTUP (msdb, 4): UpgradeTime took 8890 ms
DBSTARTUP (msdb, 4): StartupInDatabaseTime took 9132 ms
DBSTARTUP (msdb, 4): RemapSysfiles1Time took 197 ms
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
セットアップは正常に完了しました。SQL Server を起動しています。



動作確認

SQL Server を起動しています との事で状態を確認してみます。

systemctl status mssql-server

以下の表示があれば、動作しています。

Active: active (running)

公式では ファイアーウォール にポート許可を追加していますが、
インターネット上に配置しないサーバーであれば 無効化 で問題ありません。

systemctl stop firewalld
systemctl disable firewalld

disable自動起動を無効にする設定になります。

Express Edition も、動作ポートは 1433 となっています。



SQL Server Management Studio(SSMS)で接続する

SSMS は Windows パソコンにインストールして使います。

ダウンロードは下記から
SQL Server ダウンロード | マイクロソフト

ダウンロード後は SSMS-Setup-JPN.exe を実行し、インストールを進めてください。
f:id:harukeee:20190531204202p:plain
f:id:harukeee:20190531204619p:plain

インストール完了後、接続設定が出てきます。
SQL Server のセットアップ時に設定したパスワードでログインします。
f:id:harukeee:20190531204951p:plain

ログインできたら下記のような画面になります。
f:id:harukeee:20190531205155p:plain



以上、SQL Server Express on Linux でした。