In questa guida installeremo Microsoft Server 2019 in Ubuntu 20.04 o server più recente. Quindi ci connettiamo con sqlcmd per creare il tuo primo database ed eseguire query.
Controlla anche:
- Come installare il server Mssql su Rocky Linux 8/Centos 8
- Come installare Ms SQL Server 2019 su Ubuntu 20.04
- Installa e configura php per la connessione a MsSQL Server Centos 8
- Come eseguire MsSQL Server 2019 con Docker e Docker-Compose
Prerequisiti
- Server Ubuntu aggiornato
Sommario
- Assicurati che il server sia aggiornato
- Installazione di MsSQL Server 2019
- Configurazione server mssql
- Avvio e abilitazione del servizio
- Installa gli strumenti della riga di comando di SQL Server
- Connessione locale
- Esecuzione di query sql di base
1. Assicurati che il server sia aggiornato
Prima di procedere, è sempre buona norma assicurarsi che il server su cui stiamo lavorando abbia dei pacchetti aggiornati. Usa questo comando per assicurarti che il server sia aggiornato
sudo apt update
sudo apt upgrade -y
Assicurati che alcuni pacchetti necessari siano installati
sudo apt install -y wget curl
2. Installazione di MsSQL Server 2019 in Ubuntu
MsSQL Server non è disponibile nei repository Ubuntu predefiniti. Per configurare il repository e installare 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:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
Eseguire i comandi seguenti per aggiornare il nuovo repository e installare SQL Server:
sudo apt-get update
sudo apt-get install -y mssql-server
Configurazione di 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).
Questo è l'output sul mio server
$ sudo /opt/mssql/bin/mssql-conf setup
sudo: unable to resolve host ubuntusrv.citizix.com: No address associated with hostname
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): 2
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]:Yes
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.
Avvio e abilitazione del servizio
Una volta completata la configurazione, verifica che il servizio sia in esecuzione:
sudo systemctl status mssql-server --no-pager
Questo è l'output sul mio server
$ sudo systemctl status mssql-server --no-pager
sudo: unable to resolve host ubuntusrv.citizix.com: No address associated with hostname
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-11-24 09:45:21 UTC; 1min 29s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 21584 (sqlservr)
Tasks: 136
Memory: 592.6M
CGroup: /system.slice/mssql-server.service
├─21584 /opt/mssql/bin/sqlservr
└─21615 /opt/mssql/bin/sqlservr
Nov 24 09:45:25 ubuntusrv.citizix.com sqlservr[21615]: [78B blob data]
Nov 24 09:45:25 ubuntusrv.citizix.com sqlservr[21615]: [84B blob data]
Nov 24 09:45:25 ubuntusrv.citizix.com sqlservr[21615]: [145B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [96B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [66B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [75B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [96B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [100B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [71B blob data]
Nov 24 09:45:26 ubuntusrv.citizix.com sqlservr[21615]: [124B 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!
Se vuoi abilitare l'avvio del servizio all'avvio usa questo comando
sudo systemctl enable mssql-server
Installa gli strumenti della riga di comando di SQL Server
creare un database, è necessario connettersi con uno strumento in grado di eseguire istruzioni Transact-SQL su SQL Server. I passaggi seguenti installano gli strumenti da riga di comando di SQL Server: sqlcmd e bcp.
Utilizza i seguenti passaggi per installare gli mssql-tools su Ubuntu.
Importa le chiavi GPG del repository pubblico.
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
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:
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:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Connessione locale
Una volta completata l'installazione, possiamo connetterci al server del database ed eseguire alcune operazioni
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 la configurazione.
sqlcmd -S localhost -U SA -P '<YourPassword>'
Puoi omettere la password sulla riga di comando per richiedere 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>
.
$ sqlcmd -S 127.0.0.1 -U SA -P 'Sup4Srcr7Pa$$';
1>
Esecuzione di query sql di base
In questa sezione esploreremo l'utilizzo di sqlcmd per creare un nuovo database, aggiungere dati ed eseguire una semplice query.
Nota:devi digitare GO
su una nuova riga per eseguire i comandi.
Per creare un nuovo database, usa questo:
1> CREATE DATABASE CitizixDB
2> GO
Per ottenere i nomi di tutti i database:
1> SELECT Name from sys.Databases
2> GO
Name
--------------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
CitizixDB
(5 rows affected)
Creiamo una nuova tabella, Utenti, e inseriamo nuove righe.
Passa al nuovo contesto CitizixDB
banca dati:
1> use CitizixDB
2> GO
Changed database context to 'CitizixDB'.
Crea una nuova tabella denominata Users
:
1> CREATE TABLE Users (id INT, name NVARCHAR(50), age INT)
2> GO
Inserisci i dati nella nuova tabella:
1> INSERT INTO Users VALUES (1, 'etowett', 72); INSERT INTO Users VALUES (2, 'kchep', 36);
2> GO
(1 rows affected)
(1 rows affected)
Seleziona i dati dalla nostra tabella del database
1> SELECT * FROM Users WHERE age > 50;
2> GO
id name age
----------- -------------------------------------------------- -----------
1 etowett 72
(1 rows affected)
Per terminare il tuo sqlcmd sessione, digita QUIT
:
1> QUIT
Conclusione
In questa guida, siamo riusciti a installare Ms SQL Server 2019 in un server Ubuntu 20.04.