SQL Server 2022 ExpressをUbuntu Server 22.04へインストール

以前、SQL Server 2019をUbuntu Server 16.04にインストールしたことがあります。
SQL Server 2019 ExpressをUbuntu Server 20.04へインストール

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


インストール


https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver16&tabs=ubuntu2204
こちらのInstall SQL Serverを参考にインストールしていきます。

GPGキーをインポート

$ curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg



署名を追加

curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc



※署名を追加していないと、apt updateでエラーになりました。

$ sudo apt-get update
W: GPG エラー: https://packages.microsoft.com/ubuntu/22.04/mssql-server-2022 jammy InRelease:
公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY EB3E94ADBE1229CF



aptのソースリストに追加

$ curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list



インストール実行

$ sudo apt-get update
$ sudo apt-get install -y mssql-server
...
+--------------------------------------------------------------+
'sudo /opt/mssql/bin/mssql-conf setup' を実行し、
Microsoft SQL Server のセットアップを完了してください
+--------------------------------------------------------------+
...



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



初期セットアップ


インストールが終わったらメッセージに表示されたとおり初期セットアップのコマンドを実行します。


$ sudo /opt/mssql/bin/mssql-conf setup
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): 3


この製品のライセンス条項は
/usr/share/doc/mssql-server or downloaded from: https://aka.ms/useterms

プライバシーに関する声明は、次の場所で確認できます:
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 --no-pager
● mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-07-09 03:40:09 UTC; 2min 5s ago
       Docs: https://docs.microsoft.com/en-us/sql/linux
   Main PID: 3021 (sqlservr)
      Tasks: 143
     Memory: 617.0M
        CPU: 5.375s
     CGroup: /system.slice/mssql-server.service
             ├─3021 /opt/mssql/bin/sqlservr
             └─3055 /opt/mssql/bin/sqlservr

Jul 09 03:40:13 mssql sqlservr[3055]: [136B blob data]
Jul 09 03:40:13 mssql sqlservr[3055]: [101B blob data]
Jul 09 03:40:13 mssql sqlservr[3055]: [174B blob data]
Jul 09 03:40:13 mssql sqlservr[3055]: [124B blob data]
Jul 09 03:40:13 mssql sqlservr[3055]: [221B blob data]
Jul 09 03:40:13 mssql sqlservr[3055]: [145B blob data]
Jul 09 03:40:17 mssql sqlservr[3055]: [73B blob data]
Jul 09 03:40:17 mssql sqlservr[3055]: [73B blob data]
Jul 09 03:40:17 mssql sqlservr[3055]: [81B blob data]
Jul 09 03:40:17 mssql sqlservr[3055]: [81B blob data]




sqlcmdのインストール


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

ソースリストの追加

$ curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list



ツールのインストール実行

$ sudo apt-get update
$ sudo apt-get install mssql-tools18 unixodbc-dev



ライセンスの確認画面が表示されるので「はい」を選択してエンター。

c36_01.png

c36_02.png


/opt/mssql-tools18/binにパスを通してやります。

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



これでコマンドが使用できるようになりました。

$ sqlcmd -?
Microsoft (R) SQL Server Command Line Tool
Version 18.2.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: Error: Microsoft ODBC Driver 18 for SQL Server : SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate].
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Client unable to establish connection. For solutions related to encryption errors, see https://go.microsoft.com/fwlink/?linkid=2226722.



-CオプションでSSLを無視すれば接続できました。

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



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

$ sqlcmd -C -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

検索フォーム

月別アーカイブ