SQLShack

Introduzione

Con un numero crescente di nuovi server che girano su Linux, e anche un terzo delle macchine virtuali Azure di Microsoft che girano su Linux, hanno fatto una scelta per portare SQL Server su Linux al fine di aumentare la loro quota di mercato e attrarre nuovi clienti.

Microsoft ha iniziato a fare incursioni al di fuori degli ambienti Windows con diversi prodotti, come le applicazioni Office 365 per vari sistemi operativi di telefonia mobile, come iOS e Android, nonché il proprio sistema operativo Windows Phone. Microsoft ha dichiarato di voler fornire un SQL Server su Ubuntu, Red Hat e SUSE che si senta, sembri ed esegua proprio come la versione Windows del SQL Server, dove gli utenti non dovrebbero essere in grado di vedere le differenze tra questi, almeno dalla prospettiva del front-end.

Cose da considerare

SQL Server su Linux è ancora molto nuovo, quindi un comportamento incoerente e caratteristiche parzialmente supportate possono essere evidenti quando lo si usa. Microsoft ha dichiarato che la versione di anteprima di SQL Server su Ubuntu, Red Hat, SUSE e Docker engine supporterà le capacità di base come i componenti del motore di database di base che supportano l’elaborazione transazionale e il data warehousing. Al momento, come dichiarato da Microsoft nelle loro note di rilascio per SQL Server su Linux, anche nell’ultima Community Tech Preview 2.0 (CTP 2.0), ci sono ancora molte caratteristiche che non sono supportate, quindi c’è ancora del lavoro da fare in quel campo. Tuttavia, è un passo enorme per Microsoft, e uno che molti DBA hanno atteso con ansia.

Requisiti di sistema

Microsoft non ha dichiarato i requisiti di sistema completi per installare SQL Server su Ubuntu, Red Hat, SUSE e Docker engine, l’unica cosa che hanno notato è che richiede più di 3,25GB di RAM. Di seguito sono elencati i requisiti hardware minimi di base del sistema per eseguire Ubuntu, aggiustati per i requisiti di RAM e spazio HDD per eseguire SQL Server su Ubuntu:
CPU: Processore 700Mhz (Intel Celeron o migliore)
RAM: 4GB minimo (Ubuntu ha bisogno di 512MB al minimo)
HDD: 5GB per Ubuntu e altri 3GB per SQL Server al minimo

Procedura di installazione

SQL Server su Linux attualmente supporta un paio di distribuzioni di Linux, che sono Red Hat, SUSE e Ubuntu, così come il motore Docker.

Per questo articolo, installeremo SQL Server su Ubuntu, l’ultima versione è la 17.04 al momento della scrittura di questo articolo.

  1. Per prima cosa, aprite Terminal cliccando con il tasto destro del mouse sul desktop e selezionando Open Terminal.

    In alternativa, si potrebbe andare al menu start in alto a sinistra, aprendolo e cliccando su Terminal per aprirlo.

  2. Dopo aver aperto il Terminale, siamo accolti da una finestra che appare come nell’immagine qui sotto.

  3. È qui che avviene l’installazione. Per prima cosa, abbiamo bisogno di importare le chiavi GPG del repository pubblico inserendo il seguente comando:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

  4. L’utente deve inserire la password dell’account prima di completare il passo.

  5. Dopo di che, abbiamo bisogno di avere il repository Ubuntu di Microsoft SQL Server registrato. In questo passo come nel precedente, l’utente ha bisogno di inserire la password dell’account prima di completare il passo (ma solo se sono passati 15 minuti dall’ultima azione, poiché questa è la caratteristica di Ubuntu di digitare la password solo una volta in 15 minuti per facilitare il flusso di lavoro).

    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list

  6. Ora possiamo installare SQL Server su Ubuntu inserendo i seguenti comandi:

    sudo apt-get update
    sudo apt-get install -y mssql-server

    Con questo, il pacchetto è installato. Per installare completamente SQL Server su Ubuntu dobbiamo eseguire il setup mssql-conf e seguire le istruzioni. Inoltre, si raccomanda una password forte per la creazione dell’account SA (lunghezza minima di 8 caratteri, comprese lettere maiuscole e minuscole e base 10 cifre o/e simboli non alfanumerici). Per continuare il setup eseguire il seguente comando:

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

  7. Dopo che l’installazione di SQL Server su Ubuntu è stata completata, possiamo controllare se il servizio è avviato e in esecuzione inserendo il seguente comando:

    systemctl status mssql-server

  8. Dopo qualche tempo, potrebbe essere rilasciato un aggiornamento del software e questo può essere gestito con poche righe nel terminale. Per prima cosa, è necessario aggiornare le liste dei repository apt-get eseguendo il comando qui sotto e inserendo la password dell’account.

    sudo apt-get update
    sudo /opt/mssql/bin/mssql-conf setup

  9. Dopo aver aggiornato le liste dei repository, tutto ciò che è necessario per aggiornare il Server SQL è eseguire il comando di installazione di cui sopra che aggiornerà il pacchetto mssql-server:

    sudo apt-get install mssql-server

    L’esecuzione di questi comandi cercherà di scaricare l’ultimo pacchetto, per poi sostituire i binari aggiornati che si trovano sotto /opt/mssql. Nessun database generato dall’utente o di sistema è interessato da questa operazione.

Installazione di SQL Server Tools

Opzionalmente, gli utenti possono installare SQL Server Tools su Ubuntu per migliorare la loro esperienza. Attualmente, il pacchetto contiene l’utilità di query a riga di comando (sqlcmd) e l’utilità di importazione ed esportazione di massa (bcp).

L’installazione viene effettuata anche dal terminale:

  1. Innanzitutto, è necessario importare le chiavi GPG del repository pubblico. Dopo aver eseguito questo comando, è necessario inserire la password dell’account.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

  2. Dopo di che è necessario registrare il repository Microsoft Ubuntu:

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

  3. Aggiorna la lista delle fonti ed esegui il comando di installazione con il pacchetto unixODBC developer:

    sudo apt-get update
    sudo apt-get install mssql-tools unixodbc-dev

  4. Dopo aver eseguito il secondo comando, all’utente verrà richiesto di permettere l’installazione

  5. Dopo di che l’utente dovrà accettare i termini di licenza

  6. Perché i comandi sqlcmd e bcp possano essere accessibili dalla shell bash, PATH deve essere modificato nella cartella ~/.bash_profile usando il comando:

    echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bash_profile

    Per sessioni non di login e interattive, il PATH deve essere modificato di conseguenza:

    echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bashrc
    source ~/.bashrc

  7. Dopo aver completato l’installazione, viene creato un database di prova per verificare la funzionalità di SQL Server su Ubuntu.

  8. Al termine del processo, viene avviato l’ultimo SQL Server Management Studio installato su una macchina Windows. Poiché la macchina Ubuntu è nella rete locale, l’indirizzo IP è 192.168.1.8. in questo caso. Dopo la connessione con le credenziali di SQL Server (dato che l’autenticazione di Windows non funziona in questo caso), si può vedere che il database che abbiamo appena creato utilizzando lo strumento sqlcmd nel terminale Linux viene creato e il server è raggiungibile.

Installazione di SQL Server Agent

Oltre a SQL Server Tools, SQL Server Agent può essere installato come aggiunta dopo aver installato SQL Server su Ubuntu per gestire ed eseguire lavori programmati.

  1. Aggiornare l’elenco delle fonti ed eseguire il comando di installazione, dopo di che il terminale chiederà di riavviare il SQL Server affinché l’agente possa partire.

    sudo apt-get update
    sudo apt-get install mssql-server-agent
    sudo systemctl restart mssql-server

    Dopo di che, collegandosi al server in SSMS si vede che il SQL Server Agent è in esecuzione.

Risoluzione dei problemi

Problema

  • Impossibile connettersi al Server SQL su Ubuntu da SSMS

Soluzioni

  • Verificare se il server è in esecuzione sulla macchina Ubuntu eseguendo il comando:

    sudo systemctl status mssql-server

    Se il server non è in esecuzione, può essere avviato eseguendo il comando:

    sudo systemctl start mssql-server

    Dopo di che, eseguendo nuovamente il comando precedente dovrebbe apparire qualcosa come questo:

  • Verificate che il firewall abbia permesso la porta 1433 che SQL Server usa per default. Per prima cosa dobbiamo controllare lo stato dell’ufw, che è l’Uncomplicated Firewall di Ubuntu, eseguendo il seguente comando e inserendo la password dell’account:

    sudo ufw status

    • Per consentire una porta attraverso l’ufw, eseguire il seguente comando:

      sudo ufw allow 1433

Problema

  • Impossibile connettersi al server usando l’account SA

Soluzione

  • Per resettare la password di amministratore di sistema (SA), eseguire i seguenti comandi:

    sudo systemctl stop mssql-server
    sudo /opt/mssql/bin/mssql-conf setup

    Notate che questo fermerà temporaneamente il servizio SQL Server mssql-server.

  • Autore
  • Posti recenti
Stefan Veselinovic
Support Sales Engineer di ApexSQL
Stefan è entrato nel mondo dell’elettronica in tenera età, circondandosi sempre di qualcosa da armeggiare. In seguito è entrato anche nel mondo dell’IT. Si è interessato alla gestione dei database, alla programmazione e al design grafico. Si sforza di migliorarsi ogni giorno imparando e provando cose nuove.
Stefan lavora attualmente presso ApexSQL LLC come ingegnere di vendita di software dove è specializzato in prestazioni e backup di database.

Stefan Veselinovic
Latest posts by Stefan Veselinovic (see all)
  • Come installare SQL Server su Ubuntu – 18 maggio 2017

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.