Ubuntu21.04 SQL Serverをインストールして使用する

Ubuntu21.04 SQL Serverをインストールして使用する

Ubuntu21.04にSQL Serverをインストールして使用できるように設定するまでの手順を述してます。

環境

  • OS ubuntu21.04

事前準備

まずは、アップデートとアップグレードを行います。

sudo apt update
sudo apt upgrade

GPG keyをインポートします。

sudo wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

<出力結果>
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

リポジトリを追加します。

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

<出力結果>
Repository: 'deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/ubuntu/18.04/mssql-server-2019 bionic main'
Description:
Archive for codename: bionic components: main
More info: https://packages.microsoft.com/ubuntu/18.04/mssql-server-2019
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel. ← ENTERキーを入力します。

リポジトリの追加が終われば、アップデートを行います。

sudo apt update

SQL Serverインストール

インストールを開始します。

sudo apt install mssql-server

Editonの設定や言語、パスワードの設定を行います。

sudo /opt/mssql/bin/mssql-conf setup

SQL Server のエディションを選択します:
  1) Evaluation (無料、製品使用権なし、期限 180 日間)
  2) Developer (無料、製品使用権なし)
  3) Express (無料)
  4) Web (有料)
  5) Standard (有料)
  6) Enterprise (有料) - CPU コアの使用率は、20 個の物理コア、またはハイパースレッドが有効にされた 40 個に制限されています
  7) Enterprise Core (有料) - CPU コアの使用率は、オペレーティング システムの最大までです
  8) 小売販売チャネルを介してライセンスを購入し、入力するプロダクト キーを持っています。

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

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

エディションを入力してください(1-8): 3
この製品のライセンス条項は
/usr/share/doc/mssql-server で参照できるほか、次の場所からダウンロードすることもできます:
https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x411

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

ライセンス条項に同意しますか? [Yes/No]: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
SQL Server システム管理者パスワードを入力してください: 
指定したパスワードは、複雑さが十分でないため SQL Server パスワード ポリシーの要件を満たしていません。パスワードは 8 文字以上にし、大文字、小文字、数字、記号の 4 つのセットからいずれか 3 種類の文字を含める必要があります。
SQL Server システム管理者パスワードを入力してください: 
SQL Server システム管理者パスワードを確認入力してください: 
SQL Server を構成しています...

ライセンス PID は正常に処理されました。新しいエディションは [Express Edition] です。
ForceFlush is enabled for this instance. 
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service.
セットアップは正常に完了しました。SQL Server を起動しています。

セットアップが終われば起動していることが確認できます。

sudo systemctl status mssql-server

<出力結果>
● mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-04-29 17:14:09 JST; 8min ago
       Docs: https://docs.microsoft.com/en-us/sql/linux
   Main PID: 38995 (sqlservr)
      Tasks: 132
     Memory: 894.3M
     CGroup: /system.slice/mssql-server.service
             ├─38995 /opt/mssql/bin/sqlservr
             └─39020 /opt/mssql/bin/sqlservr

SQL Server toolsインストール

次に「tools」をインストールしておきます。まずは、GPG keyを追加します。

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

rootで作業します。

sudo su -

curl https://packages.microsoft.com/config/ubuntu/19.10/prod.list > /etc/apt/sources.list.d/mssql-release.list

アップデートしておきます。

sudo apt update

アップデートが終われば、インストールを開始します。

sudo ACCEPT_EULA=Y apt install mssql-tools unixodbc-dev

bashに追加します。

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

シェルを再起動します。

source ~/.bashrc

sqlcmdを使用してみます。

sqlcmd -S 127.0.0.1 -U SA 

<出力結果>
Password:設定したパスワード
 
1> select name from sys.databases;
2> go
name                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                          
tempdb                                                                                                                          
model                                                                                                                           
msdb                                                                                                                            

(4 rows affected)