Guida introduttiva: Installare SQL Server e creare un database in SUSE Linux Enterprise Server

Si applica a: sìSQL Server (tutte le versioni supportate) - Linux

In questa guida introduttiva si installa SQL Server 2017 in SUSE Linux Enterprise Server (SLES) v12. Ci si connette quindi con sqlcmd per creare il primo database ed eseguire query.

In questa guida introduttiva si installa SQL Server 2019 in SUSE Linux Enterprise Server (SLES) v15. Ci si connette quindi con sqlcmd per creare il primo database ed eseguire query.

Importante

SQL Server 2019 è supportato in SUSE Enterprise Linux Server v12 SP3, SP4 o SP5. SQL Server 2019 è supportato anche in SUSE Enterprise Linux Server v15 a partire da SQL Server 2019 CU14.

Suggerimento

Questa esercitazione richiede l'input dell'utente e una connessione Internet. Se si è interessati alle procedure di installazione automatica o offline, vedere Linee guida per l'installazione di SQL Server in Linux.

Prerequisiti

È necessario disporre di un computer SLES v12 SP3, SP4 o SP5 con almeno 2 GB di memoria. Il file system deve essere XFS o EXT4. Altri file system, come BTRFS, non sono supportati.

È necessario disporre di un computer SLES v15 con almeno 2 GB di memoria. Il file system deve essere XFS o EXT4. Altri file system, come BTRFS, non sono supportati.

Per installare SUSE Linux Enterprise Server nel computer in uso, accedere a https://www.suse.com/products/server. È anche possibile creare macchine virtuali SLES in Azure. Vedere Creare e gestire VM Linux con l'interfaccia della riga di comando di Azure e usare --image SLES nella chiamata a az vm create.

Se in precedenza è stata installata una versione CTP o RC di SQL Server, occorre rimuovere il repository precedente prima di eseguire questa procedura. Per altre informazioni, vedere Configurare i repository Linux per SQL Server 2017 e 2019.

Nota

Al momento, il sottosistema Windows per Linux per Windows 10 o Windows 11 non è supportato come destinazione dell'installazione.

Per altri requisiti di sistema, vedere Requisiti di sistema per SQL Server su Linux.

Installare SQL Server 2017

Per configurare SQL Server 2017 in SLES, eseguire i comandi seguenti in un terminale per installare il pacchetto mssql-server:

  1. Scaricare il file di configurazione del repository Microsoft SQL Server 2017 per SLES:

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server-2017.repo
    

    Suggerimento

    Se si vuole installare SQL Server 2019, occorre invece registrare il repository di SQL Server 2019. Usare il comando seguente per le installazioni di SQL Server 2019:

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server-2019.repo
    
  2. Aggiornare i repository.

    sudo zypper --gpg-auto-import-keys refresh 
    

    Per assicurarsi che la chiave di firma del pacchetto Microsoft sia installata sul sistema, importarla usando il comando seguente:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. Eseguire i comandi seguenti per installare SQL Server:

    sudo zypper install -y mssql-server
    
  4. Al termine dell'installazione del pacchetto, eseguire mssql-conf setup e seguire le istruzioni per impostare la password dell'amministratore di sistema e scegliere l'edizione.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Suggerimento

    Le edizioni di SQL Server 2017 seguenti sono concesse in licenza gratuitamente: Evaluation, Developer ed Express.

    Nota

    Assicurarsi di specificare una password complessa per l'account dell'amministratore di sistema (lunghezza minima di 8 caratteri, con lettere sia maiuscole che minuscole, cifre in base 10 e/o simboli non alfanumerici).

  5. Al termine della configurazione, verificare che il servizio sia in esecuzione:

    systemctl status mssql-server
    
  6. 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. Se si usa il firewall SUSE, è necessario modificare il file di configurazione /etc/sysconfig/SuSEfirewall2. Modificare la voce FW_SERVICES_EXT_TCP in modo che includa il numero di porta di SQL Server.

    FW_SERVICES_EXT_TCP="1433"
    

A questo punto, SQL Server è in esecuzione nel computer SLES ed è pronto per l'uso.

Installare SQL Server 2019

Per configurare SQL Server 2019 in SLES, eseguire i comandi seguenti in un terminale per installare il pacchetto mssql-server:

  1. Scaricare il file di configurazione del repository di Microsoft SQL Server 2019 per SLES:

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2019.repo
    
  2. Aggiornare i repository.

    sudo zypper --gpg-auto-import-keys refresh 
    

    Per assicurarsi che la chiave di firma del pacchetto Microsoft sia installata nel sistema, usare il comando seguente per importare la chiave:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. Eseguire i comandi seguenti per installare SQL Server:

    sudo zypper install -y mssql-server
    
  4. Al termine dell'installazione del pacchetto, eseguire mssql-conf setup e seguire le istruzioni per impostare la password dell'amministratore di sistema e scegliere l'edizione.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Nota

    Assicurarsi di specificare una password complessa per l'account dell'amministratore di sistema (lunghezza minima di 8 caratteri, con lettere sia maiuscole che minuscole, cifre in base 10 e/o simboli non alfanumerici).

  5. Al termine della configurazione, verificare che il servizio sia in esecuzione:

    systemctl status mssql-server
    
  6. 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. Se si usa il firewall SUSE, è necessario modificare il file di configurazione /etc/sysconfig/SuSEfirewall2. Modificare la voce FW_SERVICES_EXT_TCP in modo che includa il numero di porta di SQL Server.

    FW_SERVICES_EXT_TCP="1433"
    

SQL Server 2019 è ora in esecuzione nel computer SLES ed è pronto per l'uso.

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 nel server SQL. La procedura seguente installa gli strumenti da riga di comando di SQL Server sqlcmd e bcp.

  1. Aggiungere il repository Microsoft SQL Server a Zypper.

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/prod.repo 
    sudo zypper --gpg-auto-import-keys refresh
    
  2. Installare mssql-tools con il pacchetto per sviluppatori unixODBC. Per altre informazioni, vedere Installare Microsoft ODBC Driver for SQL Server (Linux).

    sudo zypper install -y mssql-tools unixODBC-devel
    
  3. Per praticità, aggiungere /opt/mssql-tools/bin/ alla variabile di ambiente PATH. In questo modo è possibile eseguire gli strumenti senza specificare il percorso completo. Eseguire i comandi seguenti per modificare la variabile PATH sia per le sessioni di accesso che per le sessioni interattive/non di accesso:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    echo 'export PATH="$PATH:/opt/mssql-tools/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.

  1. 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>'
    

    Suggerimento

    È possibile omettere la password nella riga di comando perché venga richiesto di immetterla.

    Suggerimento

    Se successivamente si decide di connettersi da remoto, specificare il nome del computer o l'indirizzo IP per il parametro -S e assicurarsi che la porta 1433 sia aperta nel firewall.

  2. Se la connessione viene eseguita correttamente, il prompt dei comandi sqlcmd sarà: 1>.

  3. 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.

Creare un nuovo database

La seguente procedura consente di creare un nuovo database denominato TestDB.

  1. Dal prompt dei comandi sqlcmd incollare il comando seguente di Transact-SQL per creare un database di test:

    CREATE DATABASE TestDB
    
  2. Nella riga successiva scrivere una query perché vengano restituiti i nomi di tutti database nel server:

    SELECT Name from sys.Databases
    
  3. I due comandi precedenti non sono stati eseguiti immediatamente. È necessario digitare GO in una nuova riga per eseguire i comandi precedenti:

    GO
    

Suggerimento

Per altre informazioni sulla scrittura di istruzioni e query Transact-SQL, vedere Esercitazione: Scrittura di istruzioni Transact-SQL.

Inserire i dati

Creare poi una nuova tabella Inventory e inserire due nuove righe.

  1. Dal prompt dei comandi sqlcmd spostare il contesto nel nuovo database TestDB:

    USE TestDB
    
  2. Creare una nuova tabella denominata Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Inserire i dati nella nuova tabella:

    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. Digitare GO per eseguire i comandi precedenti:

    GO
    

Selezionare i dati

A questo punto, eseguire una query per restituire i dati dalla tabella Inventory.

  1. Dal prompt dei comandi sqlcmd immettere una query che restituisca le righe dalla tabella Inventory che ne contiene oltre 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. 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.

Connessione 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. Verificare però che si stiano usando il nome del computer Linux e l'indirizzo IP di destinazione anziché il localhost. Assicurarsi anche che la porta TCP 1433 sia aperta. 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:

Suggerimento

Per le risposte alle domande frequenti, vedere Domande frequenti su SQL Server in Linux.

Passaggi successivi