SQL Server 2019 ExpressをUbuntu Server 20.04へインストール

以前、SQL Server 2017をUbuntu Server 16.04にインストールしたことがあります。
SQL Server 2017 vNext(14.0)をUbuntu Server 16.04にインストール

今回は、SQL Server 2019をUbuntu Server 20.04へインストールしてみます。


インストール



前回の手順とこちらを参考にしました。
https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-ver15

GPGキーをインポート

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



リポジトリを追加

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



更新してSQL Serverのインストールを実行

$ sudo apt-get update
$ sudo apt-get install -y mssql-server



これでインストールは完了です。



初期セットアップ



インストールが完了したら、指定通り初期セットアップのコマンドを実行します。

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




エディションの選択やライセンス認証、管理者権限(sa)のパスワード入力を求められます。

$ sudo /opt/mssql/bin/mssql-conf setup
usermod: 変更はありません
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 システム管理者パスワードを確認入力してください: [上記と同じパスワード入力]
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 を起動しています。





ここで入力したパスワードがSQL Serverのsa(管理者権限ユーザー)のパスワードになります。
systemctlを実行すると、サービスが開始されているか確認できます。

$ systemctl status mssql-server
● mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor >
     Active: active (running) since Thu 2021-04-08 11:41:03 UTC; 1min 18s ago
     Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 2430 (sqlservr)
     Tasks: 127
     Memory: 590.8M
     CGroup: /system.slice/mssql-server.service
             ├─2430 /opt/mssql/bin/sqlservr
             └─2479 /opt/mssql/bin/sqlservr

4月 08 11:41:09 node sqlservr[2479]: [91B blob data]
4月 08 11:41:09 node sqlservr[2479]: [66B blob data]
4月 08 11:41:09 node sqlservr[2479]: [124B blob data]
4月 08 11:41:09 node sqlservr[2479]: [96B blob data]
4月 08 11:41:09 node sqlservr[2479]: [128B blob data]
4月 08 11:41:09 node sqlservr[2479]: [100B blob data]
4月 08 11:41:09 node sqlservr[2479]: [93B blob data]
4月 08 11:41:09 node sqlservr[2479]: [71B blob data]
4月 08 11:41:09 node sqlservr[2479]: [174B blob data]
4月 08 11:41:09 node sqlservr[2479]: [124B blob data]





sqlcmdのインストール



続いて、sqlcmd等のツールのインストールを行います。

ソースリストの追加

$ curl 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 mssql-tools unixodbc-dev



2回認証画面が表示されるので「はい」を選択。

a41_01.png

a41_02.png

最後に、「/opt/mssql-tools/bin/」へパスを通しておきます。

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




これでsqlcmdが使えるようになりました。

$ sqlcmd -?
Microsoft (R) SQL Server Command Line Tool
Version 17.7.0001.1 Linux
Copyright (C) 2017 Microsoft Corporation. All rights reserved.

usage: sqlcmd            [-U login id]         [-P password]
[-S server or Dsn if -D is provided]
[-H hostname]         [-E trusted connection]
[-N Encrypt Connection][-C Trust Server Certificate]
[-d use database name] [-l login timeout]     [-t query timeout]
[-h headers]         [-s colseparator]     [-w screen width]
[-a packetsize]        [-e echo input]        [-I Enable Quoted Identifiers]
[-c cmdend]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-m errorlevel]        [-V severitylevel]     [-W remove trailing spaces]
[-u unicode output]    [-r[0|1] msgs to stderr]
[-i inputfile]         [-o outputfile]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting]
[-K application intent]
[-M multisubnet failover]
[-b On error batch abort]
[-D Dsn flag, indicate -S is Dsn]
[-X[1] disable commands, startup script, environment variables [and exit]]
[-x disable variable substitution]
[-g enable column encryption]
[-G use Azure Active Directory for authentication]
[-? show syntax summary]






データベース、テーブルの作成



sqlcmdでSQL Serverに接続し、データベースやテーブルを作成してみます。

$ sqlcmd -U sa -P [セットアップ時に設定したパスワード]



実行するとサーバーに接続し入力街の状態となります。

$ sqlcmd -U sa -P P@ssw0rd
1>



データベースを作成

1> CREATE DATABASE sample
2> go



データベース切り替え

1> use sample
2> go
データベース コンテキストが 'sample' に変更されました。



テーブル作成

1> create table test (id int, name nvarchar(50))
2> go



データ登録

1> insert into test(id, name) values (1, 'テストデータ')
2> go

(1 rows affected)



検索実行

1> select * from test
2> go
id         name                                            
----------- --------------------------------------------------
         1 テストデータ                                            

(1 rows affected)




ちゃんと動いてくれました。
関連記事

コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ