Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Si applica a:SQL Server - Linux
In questa guida di avvio rapido si installerà SQL Server 2017 (14.x) in Red Hat Enterprise Linux (RHEL) 8.x. 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 si installerà SQL Server 2019 (15.x) in Red Hat Enterprise Linux (RHEL) 8.x. 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 si installa SQL Server 2022 (16.x) in Red Hat Enterprise Linux (RHEL) 8.x o 9.x. Sarà quindi possibile connettersi con sqlcmd per creare il primo database ed eseguire query.
Per automatizzare l'installazione con Ansible, vedere Avvio rapido: Distribuire SQL Server in Linux usando un playbook ansible.
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 si sceglie di avere una macchina virtuale di SQL Server preinstallata in RHEL pronta per eseguire il carico di lavoro basato su produzione, seguire le procedure consigliate per la creazione della macchina virtuale di SQL Server.
È possibile creare la VM in base all'immagine di Azure Marketplace seguente:
Quando si usa l'immagine del marketplace precedente, 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 VM Azure di SQL Server implementate in RHEL usando le immagini del Marketplace precedenti sono completamente supportate da Microsoft e Red Hat.
È possibile configurare SQL Server in Linux con mssql-conf usando il comando seguente:
sudo /opt/mssql/bin/mssql-conf setup
È necessario un computer RHEL 8.x con almeno 2 GB di memoria.
Per installare Red Hat Enterprise Linux nel computer in uso, passare a https://access.redhat.com/products/red-hat-enterprise-linux/evaluation. È anche possibile creare macchine virtuali RHEL in Azure. Vedere Creare e gestire VM Linux con l'interfaccia della riga di comando di Azure e usare --image RHEL
nella chiamata a az vm create
.
Se in precedenza è stata installata una versione CTP (Community Technology Preview) o una versione finale candidata (RC, Release Candidate) 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.
Per altri requisiti di sistema, vedere Requisiti di sistema per SQL Server su Linux.
Per assicurarsi di configurare l'istanza di SQL Server in base agli standard consigliati, vedere Procedure consigliate per le prestazioni e le linee guida di configurazione per SQL Server in Linux.
I comandi seguenti per l'installazione di SQL Server fanno riferimento al repository RHEL 8. RHEL 8 non viene preinstallato con python2
, richiesto per SQL Server. Prima di iniziare la procedura di installazione di SQL Server, eseguire il comando e verificare che python2
sia selezionato come interprete:
sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python
Per altre informazioni, vedere il blog seguente sull'installazione di python2
e sulla relativa configurazione come interprete predefinito: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
Per configurare SQL Server in RHEL, esegui i comandi seguenti in un terminale per installare il pacchetto mssql-server
:
Scaricare il file di configurazione del repository SQL Server 2017 (14.x) per Red Hat:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
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 il comando seguente per installare SQL Server:
sudo yum install -y mssql-server
Al termine dell'installazione del pacchetto, eseguire mssql-conf setup
usando il percorso completo e seguire le istruzioni per impostare la password e scegliere l'edizione sa
. 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
Attenzione
La password deve seguire i criteri password predefiniti di SQL Server. Per impostazione predefinita, la password deve essere composta da almeno otto caratteri e contenere caratteri di tre delle quattro categorie seguenti: lettere maiuscole, lettere minuscole, cifre in base 10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.
Al termine della configurazione, verificare che il servizio sia in esecuzione:
systemctl status mssql-server
Per consentire connessioni remote, aprire la porta di SQL Server nel firewall di RHEL. La porta di SQL Server predefinita è TCP 1433. Se per il firewall si usa FirewallD, è possibile usare i comandi seguenti:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
A questo punto, SQL Server è in esecuzione nel computer RHEL ed è pronto per l'uso.
I comandi seguenti per l'installazione di SQL Server fanno riferimento al repository RHEL 8. RHEL 8 non viene preinstallato con python2
, richiesto per SQL Server. Prima di iniziare la procedura di installazione di SQL Server, eseguire il comando e verificare che python2
sia selezionato come interprete:
sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python
Per altre informazioni, vedere il blog seguente sull'installazione di python2
e sulla relativa configurazione come interprete predefinito: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
Per configurare SQL Server in RHEL, esegui i comandi seguenti in un terminale per installare il pacchetto mssql-server
:
Scaricare il file di configurazione del repository SQL Server 2019 (15.x) per Red Hat:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
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 il comando seguente per installare SQL Server:
sudo yum install -y mssql-server
Al termine dell'installazione del pacchetto, eseguire mssql-conf setup
usando il percorso completo e seguire le istruzioni per impostare la password e scegliere l'edizione sa
. 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
Attenzione
La password deve seguire i criteri password predefiniti di SQL Server. Per impostazione predefinita, la password deve essere composta da almeno otto caratteri e contenere caratteri di tre delle quattro categorie seguenti: lettere maiuscole, lettere minuscole, cifre in base 10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.
Al termine della configurazione, verificare che il servizio sia in esecuzione:
systemctl status mssql-server
Per consentire connessioni remote, aprire la porta di SQL Server nel firewall di RHEL. La porta di SQL Server predefinita è TCP 1433. Se per il firewall si usa FirewallD, è possibile usare i comandi seguenti:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
A questo punto, SQL Server è in esecuzione nel computer RHEL ed è pronto per l'uso.
I comandi seguenti per l'installazione di SQL Server fanno riferimento al repository RHEL 8.
Per configurare SQL Server in RHEL, esegui i comandi seguenti in un terminale per installare il pacchetto mssql-server
:
Scarica il file di configurazione del repository SQL Server 2022 (16.x) per Red Hat 8:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
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 il comando seguente per installare SQL Server:
sudo yum install -y mssql-server
Al termine dell'installazione del pacchetto, eseguire mssql-conf setup
usando il percorso completo e seguire le istruzioni per impostare la password e scegliere l'edizione sa
. 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
Attenzione
La password deve seguire i criteri password predefiniti di SQL Server. Per impostazione predefinita, la password deve essere composta da almeno otto caratteri e contenere caratteri di tre delle quattro categorie seguenti: lettere maiuscole, lettere minuscole, cifre in base 10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.
Al termine della configurazione, verificare che il servizio sia in esecuzione:
systemctl status mssql-server
Per consentire connessioni remote, aprire la porta di SQL Server nel firewall di RHEL. La porta di SQL Server predefinita è TCP 1433. Se per il firewall si usa FirewallD, è possibile usare i comandi seguenti:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
A questo punto, SQL Server è in esecuzione nel computer RHEL ed è pronto per l'uso.
Quando ci si connette all'istanza di SQL Server usando l'account amministratore di sistema (sa
) per la prima volta dopo l'installazione, è importante seguire questi passaggi e quindi disabilitare immediatamente l'account come procedura consigliata per la sa
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 raccomandato per le migliori pratiche di sicurezza.
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 Red Hat Enterprise Linux.
Scaricare il file di configurazione del repository Microsoft per Red Hat.
Per Red Hat 9, usare il comando seguente:
curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Per Red Hat 8, usare il comando seguente:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Per Red Hat 7, usare il comando seguente:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Se era già stata installata una versione precedente di mssql-tools, rimuovere tutti i pacchetti unixODBC meno recenti.
sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
Esegui i comandi seguenti per installare mssql-tools18 con il pacchetto per sviluppatori unixODBC.
sudo yum install -y mssql-tools18 unixODBC-devel
Per effettuare l'aggiornamento alla versione più recente di mssql-tools, eseguire i comandi seguenti:
sudo yum check-update
sudo yum update mssql-tools18
Facoltativo: aggiungere /opt/mssql-tools18/bin/
alla PATH
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
Nella procedura seguente viene usato sqlcmd per connettersi in locale alla nuova istanza di SQL Server.
Attenzione
La password deve seguire i criteri password predefiniti di SQL Server. Per impostazione predefinita, la password deve essere composta da almeno otto caratteri e contenere caratteri di tre delle quattro categorie seguenti: lettere maiuscole, lettere minuscole, cifre in base 10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.
Eseguire sqlcmd con i parametri per il nome di Server SQL (-S
), il nome utente (-U
) e la password (-P
). In questa esercitazione ci si connette in locale, quindi il nome del server è localhost
. Il nome utente è sa
e la password è quella specificata per l'account durante l'installazione sa
.
sqlcmd -S localhost -U sa -P '<password>'
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 procedura ha successo, dovresti arrivare al prompt dei comandi sqlcmd: 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.
Nelle sezioni seguenti viene descritto l'uso di sqlcmd per creare un nuovo database, aggiungere dati ed eseguire una query semplice.
Per ulteriori informazioni sulla scrittura di istruzioni e query Transact-SQL, vedere Esercitazione: Come scrivere istruzioni e query Transact-SQL.
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 vengono eseguiti immediatamente. È necessario digitare GO
in una nuova riga per eseguire i comandi precedenti:
GO
Creare poi una nuova tabella dbo.Inventory
e inserire due nuove righe.
Dal prompt dei comandi sqlcmd, cambia contesto al 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
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
dove la quantità è maggiore di 152.
SELECT *
FROM dbo.Inventory
WHERE quantity > 152;
Eseguire il comando seguente:
GO
Per terminare la sessione sqlcmd, digitare QUIT
:
QUIT
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.
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. |
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:
Per altri scenari di installazione, vedere le risorse seguenti:
Per le risposte alle domande frequenti, vedere Domande frequenti su SQL Server in Linux.
Sapevi che puoi modificare il contenuto SQL da solo? 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
Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoFormazione
Certificazione
Microsoft Certified: Azure Database Administrator Associate - Certifications
Amministrare un'infrastruttura di database SQL Server per database relazionali, ibridi, locali e cloud con le offerte di database relazionali Microsoft PaaS.