環境
VirtualBoxに VM(Ubuntu) を立てて、それにSQL Serverをインストールする
- クライアント:Windows 10
- ホスト:Ubuntu 22.04
インストール手順
1. Microsoft リポジトリを登録
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(curl -sSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)"
解説:
Microsoft が配布する GPG 鍵を追加して、パッケージの正当性を検証できるようにする。
さらに apt に「SQL Server 用のリポジトリ」を登録することで、apt install が可能になる。
注意点
リポジトリは Ubuntu のバージョンごとにあり、
ここで登録するリポジトリを間違えると SQL Server のサービスが起動しない。
今回は Ubuntu 22.04 にインストールするため
/ubuntu/22.04/ となっているが、バージョン番号は
自分の環境に合わせて変更する必要がある。
2. パッケージの更新と SQL Server インストール
sudo apt-get update
sudo apt-get install -y mssql-server
解説:
apt-get update はリポジトリ情報を最新に更新するコマンド。
mssql-server は SQL Server 本体のパッケージ。これを入れると /opt/mssql/ 配下に実行ファイルや設定が展開される。
3. 初期設定の実行
sudo /opt/mssql/bin/mssql-conf setup
解説:
初期セットアップウィザードが起動する。ここで入力するのは主に以下:
エディション選択(Developer/Express/Evaluation/Enterprise など)
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) 小売販売チャネルを介してライセンスを購入し、入力するプロダクト キーを持っています。
9) Standard (Billed through Azure) - Use pay-as-you-go billing through Azure.
10) Enterprise Core (Billed through Azure) - Use pay-as-you-go billing through Azure.
エディションの詳細については、以下を参照してください
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x411
このソフトウェアの有料エディションを使用するには、個別のライセンスを以下から取得する必要があります
Microsoft ボリューム ライセンス プログラム。
有料エディションを選択することは、
このソフトウェアをインストールおよび実行するための適切な数のライセンスがあることを確認していることになります。
By choosing an edition billed Pay-As-You-Go through Azure, you are verifying
that the server and SQL Server will be connected to Azure by installing the
management agent and Azure extension for SQL Server.
エディションを入力してください(1-10): 2
- 上記の内容が表示されるので、エディションに対応する番号を入力する
- 本番環境で使わない場合は、
2(Developer) でOK
ライセンス条項に同意するか
この製品のライセンス条項は
/usr/share/doc/mssql-server or downloaded from: https://aka.ms/useterms
プライバシーに関する声明は、次の場所で確認できます:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x411
ライセンス条項に同意しますか? [Yes/No]:Yes
-
Yesと入力するだけ
使用言語やロケール
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
-
6(日本語) を選択
sa ユーザーのパスワード
SQL Server システム管理者パスワードを入力してください:
SQL Server システム管理者パスワードを確認入力してください:
- パスワードを設定する
注意点
パスワードは
上記の手順が完了すると、下記のように表示されて、セットアップが完了する。
SQL Server を構成しています...
/opt/mssql/bin/sqlservr: error while loading shared libraries: liblber-2.4.so.2: cannot open shared object file: No such file or directory
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service.
セットアップは正常に完了しました。SQL Server を起動しています。
4. サービスが起動しているか確認
systemctl status mssql-server
解説:
active (running) となっていれば SQL Server サービスが稼働中。
万一停止していたら sudo systemctl start mssql-server で起動する。
5. クライアントツールの導入
curl -sSL https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt-get update
sudo apt-get install -y mssql-tools unixodbc-dev
解説:
-
mssql-toolsにはsqlcmd(SQL Server に接続するコマンド) とbcp(データ入出力ツール) が含まれる。 -
unixodbc-devは ODBC ドライバ関連の開発ライブラリ。接続のために必要。
6. PATH を通す
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
解説:
これで sqlcmd をフルパス指定せずに使えるようになります。
7. SQL Server へ接続
sqlcmd -S localhost -U SA -P '設定したパスワード'
解説:
1> プロンプトが表示されれば接続成功。
以下を実行するとバージョン確認できる。
1> SELECT @@VERSION;
2> GO
おまけ
手順 4 で mssql-server のステータスが failed になっている場合
調べて出てきたコマンドを何も考えずに実行していたため、手順 1 で、
OSのバージョンと違うSQL Server をインストールしてしまっていた。
そのため、手順4で mssql-server のステータスを確認した際、
failed となっており、サービスを再起動してもだめだった。
mssql-server のバージョンを確認したところ、バージョンが違っていることに気がついた。
解決法
誤って登録したリポジトリを削除して、OSのバージョンと一致するバージョンのリポジトリを登録し直す。