To, že Microsoft sa zmenil a že Linux ako operačný systém považuje za asi už menšiu rakovinu potvrdzuje aj portovanie Microsoft SQL Server (MSSQL) práve preň. Vlajková a riadne predražená loď Microsoftu sa teda odoberie do nových vôd.

Tu sarkazmus končí a či chceme alebo nie, tak pôjde o fakt na ktorý sa treba pripraviť. Vonku je momentálne vNext SQL Server Preview verzia 14.0.100.187-1. Canonical neváhal a samozrejme sa s Microsoftom skámošil a dnes si môžeme ukázať ako ju rozbehať na obľúbenom Ubuntu 16.04 LTS.

Základom je mať nainštalovaný operačný systém, podporovaný je samozrejme aj Red Hat Enterprise 7. Podmienkou je aj file system EXT4 a minimálne 3250 MB operačnej pamäte. Takže smelo do toho.

# sudo apt-get update
# sudo apt-get upgrade
# sudo apt install curl apt-transport-https

Pridanie kľúča k repozitárom a aj ich samotn=zch

# sudo curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
# sudo curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
# sudo curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

MSSQL Server - samotná inštalácia

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

Ak všetko zbehne v poriadku a .deb balíček sa správne nainštaluje tak na konci uvidíte oznam

+-------------------------------------------------------------------+
| Please run /opt/mssql/bin/sqlservr-setup to complete the setup of |
|                  Microsoft(R) SQL Server(R).                      |
+-------------------------------------------------------------------+

Takže ho len spustite, samozrejme ako sudo. Budete vyzvaný na odúhlasenie EULA a nastavenie administrátorskeho konta - to je sa

# sudo /opt/mssql/bin/sqlservr-setup

Teraz super si pridať mssql-tools nechs a vieme ja server aj pripojiť

# sudo apt-get install mssql-tools

Opäť EULA a Microsoft SQL Server je možné začať používať. Pripojiť sa môžete pomocou nástroja ako Microsoft SQL Server Management Studio, PowerShell a pod. Keďže sme na linuxovom serveri tak si môžeme spojenie otestovať aj pomocou utilitky sqlcmd. Najprv sa ale presvedčíme či beži samotný engine:

# systemctl status mssql-server

Výstup vyzerá nejako takto

● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
   Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-01-06 01:53:40 CET; 12min ago
 Main PID: 5617 (sqlservr)
    Tasks: 118
   Memory: 651.0M
      CPU: 40.260s
   CGroup: /system.slice/mssql-server.service
           ├─5617 /opt/mssql/bin/sqlservr
           └─5631 /opt/mssql/bin/sqlservr

Jan 06 01:53:44 ubuntu16 sqlservr[5617]: [96B blob data]
Jan 06 01:53:44 ubuntu16 sqlservr[5617]: [100B blob data]
Jan 06 01:53:44 ubuntu16 sqlservr[5617]: [71B blob data]
Jan 06 01:53:44 ubuntu16 sqlservr[5617]: [124B blob data]
Jan 06 01:58:47 ubuntu16 sqlservr[5617]: [71B blob data]
Jan 06 02:01:26 ubuntu16 sqlservr[5617]: [73B blob data]
Jan 06 02:01:26 ubuntu16 sqlservr[5617]: [116B blob data]
Jan 06 02:01:26 ubuntu16 sqlservr[5617]: [117B blob data]
Jan 06 02:03:50 ubuntu16 sqlservr[5617]: [156B blob data]
Jan 06 02:03:50 ubuntu16 sqlservr[5617]: [194B blob data]

Pripojíme sa na server

# sqlcmd -U sa -p

Pozrieme si existujúce databázy

1> sp_databases;
2> GO

Skúsime vytvoriť novú

1> CREATE DATABASE FirstDatabase;
2> GO
1> USE FirstDatabase;
2> GO
Changed database context to 'FirstDatabase'.

No a nakoniec sqlcmd ukončíme príkazom exit.