584 views
asked in MS SQL Server by
Install Microsoft SQL Server 2022 on Ubuntu 22.04 LTS

1 Answer

answered by

Install Microsoft SQL Server 2022

Before installing and using it, Read license terms well below.

If you use it on production environment, it's not free, it needs to buy licenses.

https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing

Step 1 : Add SQL Server 2022 Repository and Install it. (remove space in "w get" -> to -> "wget" in below lines.)

root@mssqlserver:~# w get https://packages.microsoft.com/keys/microsoft.asc -O /etc/apt/keyrings/mssql2022.key
root@mssqlserver:~# w get https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list -O /etc/apt/sources.list.d/mssql-server-2022.list
root@mssqlserver:~# w get https://packages.microsoft.com/config/ubuntu/22.04/prod.list -O /etc/apt/sources.list.d/msprod.list
root@mssqlserver:~# vi /etc/apt/sources.list.d/mssql-server-2022.list

# add setting like follows

deb [signed-by=/etc/apt/keyrings/mssql2022.key arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/22.04/mssql-server-2022 jammy main

root@mssqlserver:~# vi /etc/apt/sources.list.d/msprod.list

# add setting like follows

deb [signed-by=/etc/apt/keyrings/mssql2022.key arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main

root@mssqlserver:~# apt update
root@mssqlserver:~# apt -y install mssql-server mssql-tools unixodbc-dev

# accept the license terms

    +---------------------+ Configuring msodbcsql17 +---------------------+
    |                                                                     |
    | The license terms for this product can be downloaded from           |
    | https://aka.ms/odbc17eula and found in                              |
    | /usr/share/doc/msodbcsql17/LICENSE.txt.                             |
    |                                                                     |
    | By choosing 'Yes', you indicate that you accept the license terms.  |
    |                                                                     |
    | Do you accept the license terms?                                    |
    |                                                                     |
    |                  <Yes>                     <No>                     |
    |                                                                     |
    +---------------------------------------------------------------------+

# accept the license terms

    +---------------------+ Configuring mssql-tools +---------------------+
    |                                                                     |
    | The license terms for this product can be downloaded from           |
    | http://go.microsoft.com/fwlink/?LinkId=746949 and found in          |
    | /usr/share/doc/mssql-tools/LICENSE.TXT.                             |
    |                                                                     |
    | By choosing 'Yes', you indicate that you accept the license terms.  |
    |                                                                     |
    | Do you accept the license terms?                                    |
    |                                                                     |
    |                  <Yes>                     <No>                     |
    |                                                                     |
    +---------------------------------------------------------------------+

Step 2 : Run initial Setup.

root@mssqlserver:~# /opt/mssql/bin/mssql-conf setup

Choose an edition of SQL Server:
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID) - CPU core utilization restricted to 20 physical/40 hyperthreaded
  7) Enterprise Core (PAID) - CPU core utilization up to Operating System Maximum
  8) I bought a license through a retail sales channel and have a product key to enter.
  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.

Details about editions can be found at

https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409

Use of PAID editions of this software requires separate licensing through a

Microsoft Volume Licensing program.

By choosing a PAID edition, you are verifying that you have the appropriate

number of licenses in place to install and run this software.

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.

# select an edition you'd like to use

Enter your edition(1-10): 2

The license terms for this product can be found in

/usr/share/doc/mssql-server or downloaded from: https://aka.ms/useterms

The privacy statement can be viewed at:

https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

# agree to the license

Do you accept the license terms? [Yes/No]:Yes

# set admin password

Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...

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.
Setup has completed successfully. SQL Server is now starting.

root@mssqlserver:~# 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 Fri 2023-11-24 09:28:25 JST; 3min 37s ago
       Docs: https://docs.microsoft.com/en-us/sql/linux
   Main PID: 2308 (sqlservr)
      Tasks: 205
     Memory: 791.1M
        CPU: 5.725s
     CGroup: /system.slice/mssql-server.service
             +-- 2308 /opt/mssql/bin/sqlservr
             +-- 2344 /opt/mssql/bin/sqlservr

root@mssqlserver:~# echo 'export PATH=$PATH:/opt/mssql-tools/bin' > /etc/profile.d/mssql.sh

root@mssqlserver:~# source /etc/profile.d/mssql.sh

Step 3 : Connect to SQL Server to verify working.

root@mssqlserver:~# sqlcmd -S localhost -U SA

Password:   # admin password you set

# show system databases

1> select name,database_id from sys.databases; 
2> go 
name                  database_id
--------------------- -----------
master                          1
tempdb                          2
model                           3
msdb                            4
(4 rows affected)

# show system users

1> select name from sysusers; 
2> go 
name
-------------------------------------
##MS_AgentSigningCertificate##
##MS_PolicyEventProcessingLogin##
db_accessadmin
db_backupoperator
db_datareader
db_datawriter
db_ddladmin
db_denydatareader
db_denydatawriter
db_owner
db_securityadmin
dbo
guest
INFORMATION_SCHEMA
public
sys

(16 rows affected)

# show current user

1> select current_user; 
2> go 

---------------------------------------
dbo

(1 rows affected)

# quit

1> exit 

Most popular tags

laravel postgresql laravel-10 replication ha postgresql mongodb laravel-11 mongodb database mongodb tutorial ubuntu 24.04 lts streaming-replication mysql database laravel postgresql backup laravel login register logout database mysql php laravel 11 - login with otp valid for 10 minutes. user and admin registration user and admin login multiauth technlogy asp.net asp.net c# mysql master slave replication centos linux laravel sql server schedule backup autobackup postgresql django python haproxy load balancer install self sign ssl laravel 11 gaurds zabbix 7 how to install graylog on ubuntu 24.04 lts | step-by-step asp.net core mvc .net mvc network upload c# ssl integration sql server on ubuntu 22.04 lts mssql server ms sql server sql server user access in postgres mysql password change cent os linux configure replica laravel 11 socialite login with google account google login kubernetes (k8s) install nginx load balancer install install and configure .net 8.0 in ubuntu 24.04 lts php in iis php with iis php tutorial chirags php tutorials chirags php tutorial chirags tutorial laravel 11 guards mongodb sharding metabase business analytics metabase postgresql 16 to postgresql 17 postgresql migration letsencrypt mongodb crud rocky linux laravel custom captcha laravel 11 captcha laravel captcha mongo dll php.ini debian 12 nginx apache nextcloud gitea in ubuntu git gitea npm error node js mysql ndb cluster mysql cluster ssl oracle login register logout in python debian windows shell batch file bat file time stamp date time shopping cart in laravel centos rhel swap memeory rhel 5.5
...