Des de fa un temps Microsoft ofereix suport per a la instal·lació de SQL Server en distribucions Linux. Tot i que algunes de les característiques disponibles a Windows no estan disponibles en la versió per a Linux, és una gran alternativa a Oracle, MySQL, PostgreSQL, que ja fa temps que són a Linux. A continuació, us detallem els passos que cal seguir per instal·lar SQL Server.
Característiques no admeses a Linux
Podeu consultar la llista de característiques no admeses a l'enllaç següent Característiques i serveis no admesos.
Requisits per a la instal·lació.
- Ubuntu 22.04 (També disponible a Ubuntu 20.04, Red Hat, Suse, Docker).
- 2GB de RAM com a mínim.
- 6GB d'espai lliure al disc.
Instal·lar SQL Server
El primer pas que hem de fer per a la instal·lació és afegir el repositori de Microsoft. Per fer-ho, executarem:
# curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
# curl -fsSL https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/mssql-server-2022.list | sed 's|\[arch=[^]]*|[arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg|' > /etc/apt/sources.list.d/mssql-server-2022.list
# apt update
Ara que ja hem afegit el repositori, podem procedir a instal·lar SQL Server amb l'ordre següent:
# apt-get install -y mssql-server
Ja tenim instal·lat SQL Server i ara només ens quedaria executar la configuració inicial.
Configuració de SQL Server
Un cop instal·lat SQL Server, cal executar "mssql-conf setup" per establir la contrasenya d'accés i triar l'edició de SQL Server que necessitem. Per fer-ho, executem l'ordre següent:
# /opt/mssql/bin/mssql-conf setup
Tot seguit ens demanarà que triem la versió desitjada. Per a l'exemple triem la versió "Standard", de manera que escrivim "5" i continuem amb el procés.
# root@sql-server:~# /opt/mssql/bin/mssql-conf setup
usermod: no changes
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.
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.
Enter your edition(1-8):
Acceptem els termes.
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do you accept the license terms? [Yes/No]:
Establim la contrasenya d'accés per finalitzar la configuració inicial:
Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...
The licensing PID was successfully processed. The new edition is [Standard 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.
Setup has completed successfully. SQL Server is now starting.
Verifiquem amb l'ordre següent que SQL Server s'estigui executant:
# root@sql-server:~# 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 Mon 2021-06-07 14:01:41 CEST; 1min 1s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 52196 (sqlservr)
Tasks: 122
Memory: 563.7M
CGroup: /system.slice/mssql-server.service
├─52196 /opt/mssql/bin/sqlservr
└─52243 /opt/mssql/bin/sqlservr
Instal·lació de mssql-tools
Per poder administrar SQL Server des de la línia d'ordres, cal instal·lar "mssql-tools". Per fer-ho, executem:
# curl -fsSL https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sed 's|\[arch=[^]]*|[arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg|' > /etc/apt/sources.list.d/mssql-server-prod.list
# apt update
# apt-get install mssql-tools unixodbc-dev
Finalment, hem d'afegir "mssql-tools" al PATH del sistema. Per fer-ho, executem:
# echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
# echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
# source ~/.bashrc
Ja tenim instal·lat i configurat SQL Server 2022 a Ubuntu 22.04.
Connexió local a SQL Server i creació d'una base de dades de prova
Per connectar-nos localment a SQL Server, executem:
# sqlcmd -S localhost -U SA -P contraseña
Per crear una base de dades, executem:
# 1> CREATE DATABASE Test;
# 1> GO
Per llistar les bases de dades, executem:
# 1> SELECT Name from sys.Databases;
# 1> GO
Ens retornarà el següent:
Name
--------------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
Test
(5 rows affected)
Connexió remota a SQL Server
Per poder connectar a SQL Server, caldrà obrir el port 1433 TCP per permetre les connexions remotes. A l'enllaç següent expliquem Com crear una regla de tallafoc.