Instalacja SQL Server vNext na środowisku Linux

Po raz pierwszy światło dzienne ujrzała wersja SQL Server, którą można uruchomić w środowisku Linux. Na początku tego roku Microsoft ogłosił, że pracuje nad taką wersją i właśnie nadszedł ten moment, w którym możemy się jej przyjrzeć. Na chwilę obecną można uruchomić SQL Server na Red Hat Enterprise Linux (RHEL) lub Ubuntu 16.04.

W artykule pokażę, jak zainstalować SQL Server na Ubuntu 16.04. Gdybyście chcieli przeprowadzić taką instalację na RHEL to pamiętajcie, że jest to wersja płatna.

W zasadzie widzę dwie drogi instalacji SQL Server w tym wypadku:

  1. Macie przygotowaną maszynę wirtualną (albo własne środowisko) z zainstalowanym Linux Ubuntu 16.04 i rozpoczynacie instalację SQL Server.
  2. Wykorzystujecie możliwość, którą daje Microsoft Azure i uruchamianie maszynę wirtualną z Linux Ubuntu 16.04.

Ja wybrałem drogę "chmurową", ponieważ nie chciałem spędzać czasu instalując system  operacyjny, a raczej instalując SQL Server.

Po zalogowaniu się do portalu wybrałem maszynę wirtualną z zainstalowanym Linux Ubuntu 16.04.

Pozostaje do wykonania podstawowa konfiguracja tego serwera. Będzie ona obejmowała następujące zadania:

  • konfigurację podstawową
  • wybór rozmiaru maszyny wirtualnej
  • konfigurację opcjonalnych funkcji

Dla konfiguracji podstawowej należy wskazać nazwę maszyny wirtualnej, wybrać rodzaj dysków (ja wybrałem standardowe), podać nazwę użytkownika, typ uwierzytelniania oraz skonfigurować grupę zasobów. Wszystkie te opcje pokazane są na rysunku poniżej:

Wybierając rozmiar maszyny wirtualnej nie kierowałem się jej wydajnością. Chciałem mieć jak najmniejszą maszynę, ponieważ na tym etapie interesował mnie proces instalacji SQL Server oraz wykonanie kilku podstawowych testów. Z tego też powodu wybrałem prawie najmniejszą (D1_V2) możliwą maszynę wirtualną o parametrach jak na rysunku poniżej:

Zakładka z konfiguracją funkcji opcjonalnych posiada informacje na temat interfejsu sieciowego oraz konta magazynu. Wybrałem wszystkie ustawienia domyślne:

4

Na tym etapie konfiguracja serwera jest ukończona. Następnym krokiem jest instalacja SQL Server, którą można przeprowadzić np. przy pomocy PuTTy. Pierwszym krokiem jest zalogowanie się do serwera Linux:

Następnym krokiem jest zaimportowanie kluczy GPG publicznego repozytorium:

Kolejnym krokiem jest zarejestrowanie repozytorium Microsoft SQL Server:

Ostatnim w zasadzie krokiem jest już sama instalacja SQL Server.  W tym celu należy uruchomić dwie komendy:

[code lang="bash"]sudo apt-get update
sudo apt-get install -y mssql-server

Na zakończenie instalacji zostajemy poinformowani, że jest wymagane uruchomienie jeszcze jednego procesu. Ma to między innymi związek z ustawieniem hasła dla SA oraz koniecznością akceptacji warunków umowy licencyjnej:

Ostatnią czynnością, która tak naprawdę kończy instalację jest restart usługi SQL Server. Po restarcie możemy zacząć korzystać z silnika SQL Server działającego w środowisku Linux Ubuntu 16.04.

Instalacja dobiegła końca, ale czy już możemy się połączyć? Nie będzie to możliwe, ponieważ nie została dodana konfiguracja do zapory, która zezwoli na połączenie do SQL Server.

Na szczęście konfiguracja opcji zapory jest bardzo prosta. Należy ją wykonać za pomocą skryptów PowerShell lub po prostu konfigurując ustawienia w portalu. Należy pamiętać o konfiguracji zapory dla ruchu wychodzącego i przychodzącego. Ja w moim przypadku skonfigurowałem port TCP 1433 zarówno dla ruch przychodzącego, jak i wychodzącego

Widok konfiguracji zapory dla mojej instalacji Linux jest teraz następujący:

Teraz już można cieszyć się możliwością testowania SQL Server zainstalowanym na Linux. Połączenie wykonanie z maszyny wirtualnej z systemem Windows i zainstalowanym SQL Server Management Studio działa bez zarzutu. Co więcej, przetestowałem natychmiast możliwość utworzenia nowej bazy danych:

Istnieje również możliwość instalacji narzędzi ułatwiających pracę z SQL Server na Linux Ubuntu. Nie będzie to środowisko graficzne, do którego jesteśmy przyzwyczajeni (SSMS), ale będzie to aplikacja sqlcmd.

Ta instalacja nie jest obowiązkowa, ale nic nie stoi na przeszkodzie, aby ją wykonać. Procedura jest identyczna, jak w przypadku instalacji SQL Server i składa się z trzech kroków:

Po zakończeniu instalacji narzędzi można uruchomić aplikację sqlcmd. Na szczęście podstawowe parametry połączenia do serwera pozostały takie same – nie można oczywiście skorzystać z połączenia z przełącznikiem –E ponieważ nie jesteśmy w stanie wykorzystać danych konta domenowego do potwierdzenia swojej tożsamości:

Czas sprawdzić, czy baza danych MyFirstSQLLinuxDB faktycznie jest widoczna po stronie Linuxa:

Podsumowując cały przebieg instalacji można jedynie stwierdzić, że był on bardzo szybki i intuicyjny. Dzięki temu, że skorzystałem z gotowej maszyny wirtualnej dostępnej w Microsoft Azure, to nie musiałem samodzielnie konfigurować systemu operacyjnego (nie mam w tym dużego doświadczenia). Po dokończeniu instalacji mogłem za to rozpocząć od razu testy SQL Server i to był mój główny cel.