Microsoft SQL Server è un sistema di gestione di database relazionali sviluppato da Microsoft. Ha lo scopo di essere utilizzato per archiviare e recuperare dati dalle applicazioni. Può essere eseguito sullo stesso computer o su un altro in rete.
Controlla anche questi:
- Installa e configura php per la connessione a MsSQL Server Centos 8
- Come installare e configurare il server Mssql su Centos 8
Requisiti
Per seguire, assicurati di avere:
- Server Ubuntu 20.04 aggiornato con almeno 2 GB di memoria
- Accesso a Internet dal server
- Accesso root al server
Indice dei contenuti
- Assicurati che il server sia aggiornato
- Installa SQL Server
- Installa gli strumenti della riga di comando di SQL Server
- Connessione al server in locale
- Crea ed esegui query sui dati
Assicurati che il server sia aggiornato
Assicuriamoci che il nostro server abbia aggiornato i pacchetti con questo comando
sudo apt update
sudo apt -y upgrade
Successivamente, installiamo i pacchetti comuni che saranno essenziali durante l'installazione.
sudo apt install curl wget -y
Installa SQL Server
Per configurare SQL Server su Ubuntu, segui questi passaggi:
Importa le chiavi GPG del repository pubblico:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Registra il repository Ubuntu di Microsoft SQL Server per SQL Server 2019 utilizzando questo comando:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
Aggiorna i repository e installa SQL Server:
sudo apt-get update
sudo apt-get install -y mssql-server
Al termine dell'installazione del pacchetto, esegui mssql-conf setup e segui le istruzioni per impostare la password SA e scegli la tua edizione.
sudo /opt/mssql/bin/mssql-conf setup
Assicurati di specificare una password complessa per l'account SA (lunghezza minima 8 caratteri, comprese lettere maiuscole e minuscole, 10 cifre in base e/o simboli non alfanumerici).
$ sudo /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): 1
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=2104078&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]:Yes
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 [Enterprise Evaluation 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.
Una volta completata la configurazione, verifica che il servizio sia in esecuzione:
$ sudo 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 Thu 2021-10-21 18:24:04 UTC; 51s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 11459 (sqlservr)
Tasks: 136
Memory: 591.2M
CGroup: /system.slice/mssql-server.service
├─11459 /opt/mssql/bin/sqlservr
└─11490 /opt/mssql/bin/sqlservr
Oct 21 18:24:09 ip-10-2-40-239 sqlservr[11490]: [145B blob data]
Se prevedi di connetterti in remoto, potresti anche dover aprire la porta TCP di SQL Server (predefinita 1433) sul tuo firewall.
A questo punto, SQL Server 2019 è in esecuzione sulla tua macchina Ubuntu ed è pronto per l'uso!
Installa gli strumenti della riga di comando di SQL Server
Per connetterti al server, devi disporre degli strumenti client che ti consentiranno di farlo. In questa sezione installeremo gli strumenti da riga di comando di SQL Server: sqlcmd e bcp.
Importa le chiavi GPG del repository pubblico.BashCopy
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Registra il repository di Microsoft Ubuntu.
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
Aggiorna l'elenco delle fonti ed esegui il comando di installazione con il pacchetto per sviluppatori unixODBC.
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev -y
Aggiungi /opt/mssql-tools/bin/
al tuo PERCORSO variabile di ambiente in una shell bash.
Per creare sqlcmd/bcp accessibile dalla shell bash per le sessioni di accesso, modifica il tuo PERCORSO nel ~/.bash_profile file con il seguente comando:BashCopy
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Per creare sqlcmd/bcp accessibile dalla shell bash per sessioni interattive/non di accesso, modifica il PERCORSO nel ~/.bashrc file con il seguente comando:BashCopy
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Connessione al server in locale
Esegui sqlcmd con i parametri per il nome di SQL Server (-S), il nome utente (-U) e la password (-P). In questo tutorial ti stai connettendo localmente, quindi il nome del server è localhost
. Il nome utente è SA
e la password è quella che hai fornito per l'account SA durante l'installazione.BashCopy
sqlcmd -S localhost -U SA -P '<YourPassword>'
È possibile omettere la password sulla riga di comando in modo che venga richiesto di inserirla.
Se in seguito decidi di connetterti in remoto, specifica il nome della macchina o l'indirizzo IP per -S e assicurati che la porta 1433 sia aperta sul firewall.
In caso di successo, dovresti accedere a un sqlcmd prompt dei comandi: 1>
. Confermiamo che tutto funziona controllando la versione
$ sqlcmd -S localhost -U SA -P 'gM3PL3wh2YNjBm7TDTcw'
1> SELECT @@VERSION
2> GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2019 (RTM-CU13) (KB5005679) - 15.0.4178.1 (X64)
Sep 23 2021 16:47:49
Copyright (C) 2019 Microsoft Corporation
Enterprise Evaluation Edition (64-bit) on Linux (Ubuntu 20.04.3 LTS) <X64>
(1 rows affected)
Creare ed eseguire query sui dati
In questa sezione, usiamo sqlcmd per creare un nuovo database, aggiungere dati ed eseguire una semplice query.
Crea un nuovo database
Usa questo comando Transact-SQL in sqlcmd prompt dei comandi per creare un database di test chiamato CitizixDB:
1> CREATE DATABASE CitizixDB
2> GO
Usalo per interrogare il nome di tutti i database sul tuo server
1> SELECT Name from sys.Databases
2> GO
Name
--------------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
CitizixDB
(5 rows affected)
Nota: Devi digitare GO
su una nuova riga per eseguire i comandi precedenti
Inserisci dati
Creiamo una nuova tabella, Inventory
e inserire due nuove righe.
Nel prompt dei comandi di sqlcmd, cambia il contesto nel nuovo CitizixDB
banca dati:
1> USE CitizixDB
2> Go
Changed database context to 'CitizixDB'.
Crea una nuova tabella denominata Inventory
:
1> CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
2> GO
Inserisci i dati nella nuova tabella:
1> INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
2> GO
(1 rows affected)
(1 rows affected)
Seleziona dati
Utilizza questa query per recuperare i dati dal Inventory
tabella dove la quantità è maggiore di 152:
1> SELECT * FROM Inventory WHERE quantity > 152;
2> GO
id name quantity
----------- -------------------------------------------------- -----------
2 orange 154
(1 rows affected)
Esci dal prompt dei comandi di sqlcmd
Per terminare il tuo sqlcmd sessione, digita QUIT
:
QUIT
Conclusione
In questa guida siamo riusciti a installare Ms SQL Server 2019 in Ubuntu 20.04