Linux a SQL Server

Tento týden byla uvolněna nová verze Microsoft SQL Server, zatím pojmenovaná pouze vNext CTP 1.0, která běží nejen na Windows Serveru, ale i na Linuxu. Aktuálně jsou podporovány dvě distribuce Red Hat Enterprise Linux 7 a Ubuntu 16.04. Nově je také možné pouštět SQL Server jako Docker kontejner, a tím se dostáváme nejen na Windows a Linux, ale také Apple MacOS.

Samotná instalace na linuxový server je poměrně jednoduchá, stačí do seznamu repo přidat další zdroje pro instalaci, což jsou Microsoft servery a poté použít nástroj yum nebo apt-get v závislosti na zvolené distribuci.

Instalace na RHEL

Nejprve je nutné přidat konfigurační soubor pro repository balíčků

 curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo

Následně již můžeme spustit samotnou instalaci SQL Serveru pomocí

 sudo yum install -y mssql-server
sudo /opt/mssql/bin/sqlservr-setup
systemctl status mssql-server

mssqllinux

Při instalaci je nutné zvolit heslo pro účet SA, kterým se následně k MSSQL serveru můžeme připojit. V současné verzi je možné používat pouze SQL Login účty a mixed authentication. Pro připojení je možné použít Management Studio, které běží na Windows serveru nebo stanici správce, nejvhodnější je nová verze 2016 nebo release candidate verze 2017. Po připojení se SQL server hlásí jako verze 14.00.1.246, a přes management studio dialog je sice stále reportován jako SQL Server, který běží na Windows, ale při použití dotazů už jsou výsledky správné.

 Microsoft SQL Server vNext (CTP1) - 14.0.1.246 (X64)   Nov  1 2016 23:24:39   Copyright (c) Microsoft Corporation  on Linux (CentOS Linux 7 (Core))

Instalace proběhla v pořádku i na distribuci CentOS, která je v mnohém zaměnitelná za distribuci RHEL 7. Pro dokončení je ještě vhodné správně zkonfigurovat firewall, na distribuci CentOS pomocí příkazu firewall-cmd a doplnit nástroje příkazové řádky pro práci s MSSQL serverem – nástroj sqlcmd.

 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo sudo yum install mssql-tools

Ve srovnání s instalací na Windows, neobsahuje linuxová verze vše, na co jsme zvyklí. Chybí zde např. SQL Server Agent, veškeré BI služby, Windows ověřování pomocí účtů a skupin. Linuxová instalace je možná pouze ve výchozí instanci, pokud chcete více instancí MSSQL Serveru na jednom linuxovém serveru, je vhodné využít Docker a kontejnery. Na druhou stranu je i na Linuxu možné používat např. InMemory tabulky a procedury.

Zatím se jedná o hodně rannou verzi, počkejme, co přinesou další CTP a RC verze zajímavého. I u SQL Serveru 2016 se nové možnosti objevovaly postupně.

Marek Chmel
Lead Database Administrator, AT&T
Microsoft MVP, Certified Ethical Hacker