Avvio rapido: Installare SQL Server e creare un database in Ubuntu
Si applica a: SQL Server - Linux
In questa guida di avvio rapido viene installato SQL Server 2017 (14.x) in Ubuntu 18.04. Sarà quindi possibile connettersi con sqlcmd per creare il primo database ed eseguire query.
Per altre informazioni sulle piattaforme supportate, vedere Note sulla versione per SQL Server 2017 in Linux.
In questa guida di avvio rapido viene installato SQL Server 2019 (15.x) in Ubuntu 20.04. Sarà quindi possibile connettersi con sqlcmd per creare il primo database ed eseguire query.
Per altre informazioni sulle piattaforme supportate, vedere Note sulla versione per SQL Server 2019 in Linux.
In questa guida di avvio rapido viene installato SQL Server 2022 (16.x) in Ubuntu 20.04 o 22.04. Sarà quindi possibile connettersi con sqlcmd per creare il primo database ed eseguire query.
Per altre informazioni sulle piattaforme supportate, vedere Note sulla versione per SQL Server 2022 in Linux.
Suggerimento
Questa esercitazione richiede l'input dell'utente e una connessione Internet. Se ti interessano le procedure di installazione automatica o offline, vedi Linee guida per l'installazione di SQL Server in Linux.
Se scegli di avere una macchina virtuale di SQL Server preinstallata in Ubuntu pronta per eseguire il carico di lavoro basato su produzione, segui le procedure consigliate per la creazione della macchina virtuale di SQL Server.
Immagini di Azure Marketplace
È possibile creare la macchina virtuale in base a una delle due immagini di Azure Marketplace seguenti:
Quando si usano queste immagini, si evita il passaggio di installazione e si può configurare direttamente l'istanza specificando lo SKU e la password sa
necessaria per iniziare a usare SQL Server. Le macchine virtuali di Azure di SQL Server implementate in Ubuntu Pro usando le immagini del Marketplace precedenti sono completamente supportate sia da Microsoft che da Canonical.
È possibile configurare SQL Server in Linux con mssql-conf usando il comando seguente:
sudo /opt/mssql/bin/mssql-conf setup
Immagine di Azure Marketplace
È possibile creare la macchina virtuale in base all'immagine di Azure Marketplace seguente: Ubuntu 20.04.
Quando si usa questa immagine, si evita il passaggio di installazione e si può configurare direttamente l'istanza specificando lo SKU e la password sa
necessaria per iniziare a usare SQL Server. Le macchine virtuali di Azure di SQL Server implementate in Ubuntu Pro usando le immagini del Marketplace precedenti sono completamente supportate sia da Microsoft che da Canonical.
È possibile configurare SQL Server in Linux con mssql-conf usando il comando seguente:
sudo /opt/mssql/bin/mssql-conf setup
Prerequisiti
È necessario un computer Ubuntu 18.04 con almeno 2 GB di memoria.
Per installare Ubuntu 18.04 nel computer in uso, passare a https://releases.ubuntu.com/18.04/. È anche possibile creare macchine virtuali Ubuntu in Azure. Vedere Esercitazione: creare e gestire macchine virtuali Linux con l'interfaccia della riga di comando di Azure.
È necessario un computer Ubuntu 20.04 con almeno 2 GB di memoria.
Per installare Ubuntu 20.04 nel computer in uso, passare a https://releases.ubuntu.com/20.04/. È anche possibile creare macchine virtuali Ubuntu in Azure. Vedere Esercitazione: creare e gestire macchine virtuali Linux con l'interfaccia della riga di comando di Azure.
È necessario un computer Ubuntu 20.04 con almeno 2 GB di memoria.
Per installare Ubuntu 20.04 nel computer in uso, passare a https://releases.ubuntu.com/20.04/. È anche possibile creare macchine virtuali Ubuntu in Azure. Vedere Esercitazione: creare e gestire macchine virtuali Linux con l'interfaccia della riga di comando di Azure.
Se in precedenza è stata installata una versione Community Technology Preview (CTP) o una versione Release Candidate (RC) di SQL Server, è necessario rimuovere il repository precedente prima di seguire questa procedura. Per altre informazioni, vedere Configurare i repository per l'installazione e l'aggiornamento di SQL Server in Linux.
Il sottosistema Windows per Linux non è supportato come destinazione di installazione per SQL Server.
Per altri requisiti di sistema, vedere Requisiti di sistema per SQL Server su Linux.
Installare SQL Server
Per configurare SQL Server in Ubuntu e installare il pacchetto mssql-server, eseguire i comandi seguenti in un terminale.
Importare le chiavi GPG del repository pubblico:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Registrare il repository SQL Server per Ubuntu:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2017.list)"
Suggerimento
Per installare una versione diversa di SQL Server, vedi le versioni di questo articolo relative a SQL Server 2019 (15.x) o SQL Server 2022 (16.x).
Eseguire i comandi seguenti per installare 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 dell'amministratore di sistema e scegli l'edizione. Occorre ricordare che le edizioni di SQL Server seguenti sono concesse in licenza gratuitamente: Evaluation, Developer ed Express.sudo /opt/mssql/bin/mssql-conf setup
Ricordarsi di specificare una password complessa per l'account SA. È necessaria una lunghezza minima di 8 caratteri, tra cui lettere maiuscole e minuscole, cifre in base 10 e/o simboli non alfanumerici.
Al termine della configurazione, verificare che il servizio sia in esecuzione:
systemctl status mssql-server --no-pager
Se si prevede di connettersi in modalità remota, potrebbe essere necessario aprire anche la porta TCP di SQL Server (per impostazione predefinita, la 1433) sul firewall.
Importare le chiavi GPG del repository pubblico:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Registrare il repository SQL Server per Ubuntu:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
Suggerimento
Per installare una versione diversa di SQL Server, vedi le versioni di questo articolo relative a SQL Server 2017 (14.x) o SQL Server 2022 (16.x).
Eseguire i comandi seguenti per installare 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 dell'amministratore di sistema e scegli l'edizione. Occorre ricordare che le edizioni di SQL Server seguenti sono concesse in licenza gratuitamente: Evaluation, Developer ed Express.sudo /opt/mssql/bin/mssql-conf setup
Ricordarsi di specificare una password complessa per l'account SA. È necessaria una lunghezza minima di 8 caratteri, tra cui lettere maiuscole e minuscole, cifre in base 10 e/o simboli non alfanumerici.
Al termine della configurazione, verificare che il servizio sia in esecuzione:
systemctl status mssql-server --no-pager
Se si prevede di connettersi in modalità remota, potrebbe essere necessario aprire anche la porta TCP di SQL Server (per impostazione predefinita, la 1433) sul firewall.
Importare le chiavi GPG del repository pubblico:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Registrare il repository SQL Server per Ubuntu:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
Suggerimento
Per installare una versione diversa di SQL Server, vedere le versioni di questo articolo relative a SQL Server 2017 (14.x) o SQL Server 2019 (15.x).
Eseguire i comandi seguenti per installare 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 dell'amministratore di sistema e scegli l'edizione. Occorre ricordare che le edizioni di SQL Server seguenti sono concesse in licenza gratuitamente: Evaluation, Developer ed Express.sudo /opt/mssql/bin/mssql-conf setup
Ricordarsi di specificare una password complessa per l'account SA. È necessaria una lunghezza minima di 8 caratteri, tra cui lettere maiuscole e minuscole, cifre in base 10 e/o simboli non alfanumerici.
Al termine della configurazione, verificare che il servizio sia in esecuzione:
systemctl status mssql-server --no-pager
Se si prevede di connettersi in modalità remota, potrebbe essere necessario aprire anche la porta TCP di SQL Server (per impostazione predefinita, la 1433) sul firewall.
A questo punto, SQL Server è in esecuzione nel computer Ubuntu ed è pronto per l'uso.
Disabilitare l'account sa
come procedura consigliata
Quando ci si connette all'istanza di SQL Server usando l'account sa
per la prima volta dopo l'installazione, è importante seguire questi passaggi e quindi disabilitare immediatamente l'account di accesso sa
come procedura consigliata per la sicurezza.
Creare un nuovo account di accesso e impostarlo come membro del ruolo del server sysadmin.
A seconda che si disponga di un contenitore o di una distribuzione non contenitore, abilitare autenticazione di Windows e creare un nuovo account di accesso basato su Windows e aggiungerlo al ruolo del server sysadmin.
In caso contrario, creare un account di accesso usando l'autenticazione di SQL Server e aggiungerlo al ruolo del server sysadmin.
Connessione all'istanza di SQL Server usando il nuovo account di accesso creato.
Disabilita l'account
sa
, come consigliato per la procedura consigliata per la sicurezza.
Installare gli strumenti da riga di comando di SQL Server
Per creare un database, è necessario connettersi con uno strumento in grado di eseguire istruzioni Transact-SQL in SQL Server. La procedura seguente installa gli strumenti da riga di comando di SQL Server: utilità sqlcmd e utilità bcp.
Segui questa procedura per installare mssql-tools18 in Ubuntu.
Nota
- Ubuntu 18.04 è supportato a partire da SQL Server 2019 (15.x) CU 3.
- Ubuntu 20.04 è supportato a partire da SQL Server 2019 (15.x) CU 10.
Importare le chiavi GPG del repository pubblico.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Registrare il repository Microsoft per Ubuntu.
Per Ubuntu 22.04, usare il comando seguente:
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Per Ubuntu 20.04, usare il comando seguente:
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Per Ubuntu 18.04, usare il comando seguente:
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Per Ubuntu 16.04, usare il comando seguente:
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Aggiornare l'elenco di origini ed eseguire il comando di installazione con il pacchetto per sviluppatori unixODBC.
sudo apt-get update sudo apt-get install mssql-tools18 unixodbc-dev
Per effettuare l'aggiornamento alla versione più recente di mssql-tools, eseguire i comandi seguenti:
sudo apt-get update sudo apt-get install mssql-tools18
Facoltativo: aggiungere
/opt/mssql-tools18/bin/
allaPATH
variabile di ambiente in una shell Bash.Per rendere sqlcmd e bcp accessibili dalla shell Bash per le sessioni di accesso, modificare
PATH
nel~/.bash_profile
file con il comando seguente:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile source ~/.bash_profile
Per rendere sqlcmd e bcp accessibili dalla shell Bash per le sessioni interattive/non di accesso, modificare
PATH
nel file~/.bashrc
con il comando seguente:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
Eseguire la connessione in locale
Nella procedura seguente viene usato sqlcmd per connettersi in locale alla nuova istanza di SQL Server.
Eseguire sqlcmd con i parametri per il nome di Server SQL (
-S
), il nome utente (-U
) e la password (-P
). In questa esercitazione la connessione viene eseguita in locale, pertanto il nome del server èlocalhost
. Il nome utente èsa
e la password è quella specificata per l'account SA durante la configurazione.sqlcmd -S localhost -U sa -P '<YourPassword>'
Nota
Le versioni più recenti di sqlcmd sono protette per impostazione predefinita. Per altre informazioni sulla crittografia della connessione, vedere l’utilità sqlcmd per Windows e Connessione con sqlcmd per Linux e macOS. Se la connessione non riesce, è possibile aggiungere l'opzione
-No
a sqlcmd per specificare che la crittografia è facoltativa, non obbligatoria.È possibile omettere la password nella riga di comando perché venga richiesto di immetterla.
Se successivamente si decide di connettersi da remoto, specifica il nome del computer o l'indirizzo IP per il parametro
-S
e assicurati che la porta 1433 sia aperta nel firewall.Se la connessione viene eseguita correttamente, il prompt dei comandi sqlcmd sarà:
1>
.Se si verifica un errore di connessione, provare a diagnosticare il problema dal messaggio di errore. Rivedere poi i consigli per la risoluzione dei problemi di connessione.
Creare i dati e recuperarli tramite query
Nelle sezioni seguenti viene descritto l'uso di sqlcmd per creare un nuovo database, aggiungere dati ed eseguire una query semplice.
Per altre informazioni sulla scrittura di istruzioni e query Transact-SQL, vedere Esercitazione: Scrittura di istruzioni Transact-SQL.
Creare un nuovo database
La seguente procedura consente di creare un nuovo database denominato TestDB
.
Dal prompt dei comandi sqlcmd incollare il comando seguente di Transact-SQL per creare un database di test:
CREATE DATABASE TestDB;
Nella riga successiva scrivere una query perché vengano restituiti i nomi di tutti database nel server:
SELECT Name from sys.databases;
I due comandi precedenti non sono stati eseguiti immediatamente. È necessario digitare
GO
in una nuova riga per eseguire i comandi precedenti:GO
Inserire i dati
Creare poi una nuova tabella dbo.Inventory
e inserire due nuove righe.
Dal prompt dei comandi sqlcmd spostare il contesto nel nuovo database
TestDB
:USE TestDB;
Creare una nuova tabella denominata
dbo.Inventory
:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR(50), quantity INT, PRIMARY KEY (id) );
Inserire i dati nella nuova tabella:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
Digitare
GO
per eseguire i comandi precedenti:GO
Selezionare i dati
A questo punto, eseguire una query per restituire i dati dalla tabella dbo.Inventory
.
Dal prompt dei comandi sqlcmd immettere una query che restituisca le righe dalla tabella
dbo.Inventory
che ne contiene oltre 152:SELECT * FROM dbo.Inventory WHERE quantity > 152;
Eseguire il comando seguente:
GO
Uscire dal prompt dei comandi sqlcmd
Per terminare la sessione sqlcmd, digitare QUIT
:
QUIT
Procedure consigliate per le prestazioni
Dopo l'installazione di SQL Server in Linux, esaminare le procedure consigliate per configurare Linux e SQL Server in modo da ottimizzare le prestazioni per gli scenari di produzione. Per altre informazioni, vedere Procedure consigliate per le prestazioni e linee guida per la configurazione per SQL Server in Linux.
Strumenti dati multipiattaforma
Oltre a sqlcmd, è possibile usare gli strumenti multipiattaforma seguenti per gestire SQL Server:
Strumento | Descrizione |
---|---|
Azure Data Studio | Utilità multipiattaforma di gestione di database basata su interfaccia utente grafica. |
Visual Studio Code | Editor di codice multipiattaforma basato su interfaccia utente grafica che esegue istruzioni Transact-SQL con l'estensione MSSQL. |
PowerShell Core | Strumento multipiattaforma di automazione e configurazione basato sui cmdlet. |
mssql-cli | Interfaccia della riga di comando multipiattaforma per l'esecuzione di comandi Transact-SQL. |
Connettersi da Windows
Gli strumenti di SQL Server in Windows consentono di connettersi alle istanze di SQL Server in Linux nello stesso modo in cui si connettono a qualsiasi istanza remota di SQL Server.
Se si usa un computer Windows con possibilità di connessione al computer Linux, seguire la stessa procedura descritta in questo argomento da un prompt dei comandi di Windows che esegue sqlcmd. È necessario usare il nome o l'indirizzo IP del computer Linux di destinazione invece di localhost
e assicurarsi che la porta TCP 1433 sia aperta nel computer di SQL Server. Nel caso di problemi di connessione da Windows, vedere i consigli per la risoluzione dei problemi di connessione.
Per altri strumenti che vengono eseguiti in Windows, ma si connettono a SQL Server in Linux, vedere:
Altri scenari di distribuzione
Per altri scenari di installazione, vedere le risorse seguenti:
- Aggiornamento: informazioni su come aggiornare un'installazione esistente di SQL Server in Linux
- Disinstallazione: disinstallare SQL Server in Linux
- Installazione automatica: informazioni su come creare uno script per eseguire l'installazione senza interazioni
- Installazione offline: informazioni su come scaricare manualmente i pacchetti per l'installazione offline
Per le risposte alle domande frequenti, vedere Domande frequenti su SQL Server in Linux.
Contenuto correlato
Contribuire alla documentazione di SQL
Il contenuto SQL può essere modificato. L'autore delle modifiche contribuirà a migliorare la documentazione e verrà accreditato come collaboratore alla realizzazione della pagina.
Per maggiori informazioni, vedere Come contribuire alla documentazione di SQL Server