Microsoft SQL Server su Linux Ubuntu 16.04

Microsoft SQL Server su Linux Ubuntu 16.04

Microsoft SQL server è disponibile da qualche anno anche per Linux: è possibile installarlo su Red Hat (e Centos), Suse Enterprise Linux, Ubuntu e anche su Docker 1.8 in su.

Nella seguente guida vediamo come installare il famoso database, Microsoft SQL server su Ubuntu 16.04.

I prerequisti per installare SQL server su Ubuntu sono molto esigui: bastano 2 GB di RAM e creare un file system di tipo EXT4 sul quale montare la cartella /var/opt/mssql che contiene il DB.

Abbiamo installato Ubuntu 16.04 in una virtual machine scegliendo un’installazione di tipo ridotto (solo openssh server oltre al minimo indispensabile), in questo modo abbiamo dedicato solo 10 GB di spazio alle partizioni /boot, / e la swap. Queste sono state riparite in questo modo: 600 MB per la /boot, 4 GB per la partizione di swap e il resto alla /.

In più abbiamo aggiunto un disco virtuale di 6 GB sul quale abbiamo creato una partizione di tipo EXT4 montata su /var/opt/mssql.

Terminata l’installazione del sistema operativo, passiamo a quella di SQL server.

Installazione di Microsoft SQL Server 2017 su Ubuntu 16.04

I comandi necessari all’installazione sono piuttosto banali e partono dall’acquistizione della chiave dei repository dei pacchetti:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Passando poi all’aggiunta del repository di Microsoft SQL server per Ubuntu 16.04:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

Aggiornare poi la lista dei pacchetti:

sudo apt update

E installare MSSQL con le relative dipendenze (gdb, gdbserver, libbabeltrace-ctf1, libbabeltrace1, libc++1, libc6-dbg, libcc1-0
libcurl3, libjemalloc1, libpython-stdlib, libpython2.7-minimal, libpython2.7-stdlib, libsss-nss-idmap0, libunwind8, python
python-minimal, python2.7, python2.7-minimal) :

sudo apt install -y mssql-server

Terminata l’installazione dei pacchetti di Microsof SQL server su Ubuntu, procedere alla configurazione del server lanciando il comando:
sudo /opt/mssql/bin/mssql-conf setup

Lanciando il comando appariranno una serie di domande a cui rispondere.

Durante questa fase viene chiesto di immettere la password dell’amministratore (utente sa) di sistema di SQL Server, supponiamo che sia 1PasswordSegreta.

Installare i tool di accesso e gestione aggiuntivi

Se desideriamo installare degli strumenti che ci consentano di accedere al database direttamente sulla VM Ubuntu, è necessario installare i Tool di SQL server, prima però è necessario aggiungere una nuova fonte:

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"

Seguito dal solito:

sudo apt update

Quindi installare i tool e le loro dipendenze (autotools-dev, binutils, cpp, cpp-5, gcc, gcc-5, libasan2, libatomic1, libc-dev-bin, libc6-dev libcilkrts5, libgcc-5-dev, libgomp1, libisl15, libitm1, liblsan0, libltdl-dev, libltdl7, libmpc3, libmpx0, libodbc1, libquadmath0, libtool, libtsan0, libubsan0, linux-libc-dev, manpages-dev, msodbcsql17, odbcinst, odbcinst1debian2, unixodbc):

sudo apt install -y mssql-tools unixodbc-dev


Un’interessante opportunità è aggiungere i comandi di MS SQL server al proprio profilo in questo modo:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

Terminata la configurazione si può lanciare un comando per collegarsi al DB:

sqlcmd -S localhost -U sa -P '1PasswordSegreta'

In questo modo sarà possibile lanciare i comandi di SQL server all’interno del DB.

E’ anche possibile collegarsi al DB usando Microsoft SQL server management studio, inserendo l’ip come server name:

 

Qualora sia necessario riavviare SQL server si può utilizzare il comodo comando:

sudo systemctl restart mssql-server.service

 

Abilitare l’agent di SQL server

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true

sudo systemctl restart mssql-server

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *