最近、あのMicrosoftがOSSに歩み寄ってきており、先日にはLinux Foundationのプラチナメンバーにまでなった。何があるかわからないものだなぁ…。
で、先日知ったのだがどうやらMicrosoft SQL ServerもLinuxにインストールできるようになってたようだ。一体どういうことなんだ…。

というわけで、せっかくなのでCentOS 7にMicrosoft SQL Serverをインストールしてみる。手順についてはMicrosoftで用意されているRHEL用のものを使用する(なお、Ubuntu Serverの場合はこちら)。事前にsudoが使用できるユーザ(今回はmssql)を作成しておくこと。インストールには4GB以上のメモリが必要になるので注意。 まず、以下のコマンドでリポジトリの追加を行う。

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

リポジトリ追加後、ユーザを切り替えて、Microsoft SQL Serverのインストールを行う。

su - mssql
sudo yum install -y mssql-server

インストール完了後、以下のコマンドを実行しSQL Serverのセットアップを行う。

sudo /opt/mssql/bin/sqlservr-setup

[mssql@BS-PUB-CENT7-01 ~]$ sudo /opt/mssql/bin/sqlservr-setup
Microsoft(R) SQL Server(R) Setup

You can abort setup at anytime by pressing Ctrl-C. Start this program
with the --help option for information about running it in unattended
mode.

The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388 and found
in /usr/share/doc/mssql-server/LICENSE.TXT.

Do you accept the license terms? If so, please type "YES": YES

Please enter a password for the system administrator (SA) account:
Please confirm the password for the system administrator (SA) account:

Setting system administrator (SA) account password...

Do you wish to start the SQL Server service now? [y/n]: y
Do you wish to enable SQL Server to start on boot? [y/n]: y
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server-telemetry.service to /usr/lib/systemd/system/mssql-server-telemetry.service.

Setup completed successfully.

最後に、以下のコマンドでFirewalldの設定を変更する。

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

これで、CentOSへのSQL Serverのインストールは完了。
プロセスの状態は以下のコマンドで確認できる。

systemctl status mssql-server
[mssql@BS-PUB-CENT7-01 ~]$ systemctl status mssql-server
● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since 月 2016-11-21 01:08:49 JST; 1min 2s ago
 Main PID: 10616 (sqlservr)
   CGroup: /system.slice/mssql-server.service
           tq10616 /opt/mssql/bin/sqlservr
           mq10629 /opt/mssql/bin/sqlservr