W marcu 2016 roku Microsoft ogłosił, że wyda SQL Server 2016 również na Linuxa i zakończy się tym samym hegemonia Oracle. Cały świat .NET stanął na równe nogi, nikt się tego nie spodziewał, a na pewno nie ja :) Minął rok od tego wydarzenia, a dotychczas nie miałem okazji samodzielnie sprawdzić jak wygląda w praktyce SQL Server na Linuksie. Dziś krotki wpis o tym jak zainstalować bazę danych oraz jak wywołać pierwsze polecenia.

SQL Server on Linux

Instalacja

Opiszę instalację na Ubuntu 16.04, dlatego, że ElementaryOS z którego korzystam wykorzstuje właśnie tą wersję Ubuntu jako podstawę.

W pierwszej kolejności należy dodać klucz GPG oraz nowe źródło z repozytorium do MS SQL Server.

$ curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
$ curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list > /etc/apt/sources.list.d/mssql-server.list

Następnie przy użyciu narzędzia apt-get należy zaktualizować repozytorium oraz zainstalować MS SQL Server.

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

Ostatnim krokim jest nadanie hasła użytkownikowi sa. Hasło musi się składać z co najmniej 8 znaków i być skomplikowane ;-) Po potwierdzeniu usługa MS SQL Server startuje automatycznie.

$ /opt/mssql/bin/mssql-conf setup

SQL Server configuration

Poleceniem systemctl status mssql-server możemy sprawdzić status usługi.

SQL Server service status

Warto również zainstalować narzędzia MS SQL Server, które pozwolą na wywoływanie poleceń SQL z linii komend. Klucz już dodaliśmy, wystarczy dodać nowe repozytorium, zaktualizować je, a następnie zainstalować toolsy.

$ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
$ sudo apt-get update
$ apt-get install mssql-tools 

Opcjonalnie warto dodać nową zmienną środowiskową PATH, aby nie podawać pełnej ścieżki do plików uruchomieniowych (ja wykorzystuje ZSH).

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

Pierwsze polecenia

Jeżeli wszystkie kroki powyżej zakończyły się sukcesem można wykonać pierwsze polecenia na nowo zainstalowanej instancji SQL Server. Używamy w tym celu narzędzia sqlcmd podając w parametrze -S adres serwera, -U nazwę użytkownika oraz -P hasło (zdefiniowane w poprzednim kroku) w apostrofie.

sqlcmd -S localhost -U SA -P '4BEsFpaq'

Po prawidłowym połączeniu możemy wykonywać polecenia SQL.

sqlcmd select

Instalacja i wstępna konfiguracja nie były trudne. W kilka minut można mieć przygotowane środowisko do pracy z SQL Server. W następnym odcinku pokażę w jaki sposób połączyć się przez aplikację napisaną w .NETCore z MS SQL Server.