Jeżeli ktoś zagląda na blog xpil.eu częściej niż raz na rok, jeżeli trafia tu nie tylko w poszukiwaniu frazy "pod brodą chomik" (proszę spróbować w Google, koniecznie w cudzysłowie), jeżeli wreszcie ktoś chociaż odrobinę interesuje się technologiami komputerowymi w ogólności, a bazami danych w szczególności, być może ów ktoś pamięta mój wpis z marca tego roku, kiedy to pisałem o tym, że Microsoft planuje wypuścić linuksową wersję SQL Servera.
Jeżeli, Czytelniku, akurat tego konkretnego wpisu nie pamiętasz, to nic nie szkodzi. Już spieszę przypomnieć:
No ale tamto to były tylko plany i obietnice, w dodatku tak kompletnie bzdurne ("SQL Server na Linuksie? Posrało kogoś?"), że wszyscy patrzyli na nie z przymrużeniem oka.
Tymczasem jednak okazuje się, że to wcale nie był żart. Małomiękki naprawdę wypuścił linuksową wersję SQL Servera. Miałem niedawno przyjemność przetestować ją u siebie i jeszcze mi się szczęka po podłodze ciągnie.
Jeżeli, Czytelniku, masz pod ręką jakąś dystrybucję zgodną z Debianem (na przykład Ubuntu albo Mint albo ElementaryOS), możesz we własnym zakresie, za darmo, w kilka chwil postawić sobie lokalną kopię SQL Servera przy użyciu tylko li i wyłącznie natywnych linuksowych narzędzi.
A więc - zaczynamy:
1. Logujemy się jako root
2. Dodajemy klucz kryptograficzny Microsoftu do naszej lokalnej bazy kluczy:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
3. Dodajemy repozytorium Microsoftu do lokalnej bazy:
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | tee /etc/apt/sources.list.d/mssql-server.list
4. Odświeżamy lokalne repozytorium:
apt update
5. Instalujemy SQL Server:
apt install mssql-server
6. Zgodnie z poleceniem na ekranie uruchamiamy konfigurator SQL Servera:
/opt/mssql/bin/sqlservr-setup
Konfigurator zapyta nas o hasło użytkownika SA oraz o to, czy uruchamiać usługę przy starcie systemu.
I to wszystko - od tej pory możemy podłączać się do lokalnej instancji SQL Servera i normalnie go używać... przez 180 dni. Potem licencja próbna wygasa i trzeba albo kupić pełną, albo usunąć pakiet. Jednak 180 dni to prawie pół roku - powinno w zupełności wystarczyć na testy.
W moim przypadku z różnych przyczyn nie mogłem podłączyć się do tego serwera z zewnątrz (firewalle, maszyny wirtualne itd) więc zainstalowałem jeszcze dodatkowo pakiet dbeaver-ce (Community Edition), który z powodzeniem zastępuje mi na Linuksie SSMS.
Podłączamy się dbeaver-em do lokalnego serwera... I wszystko działa od pierwszego kopa. Widzimy cztery bazy systemowe, możemy utworzyć nową bazę danych, tabele, widoki, zapuszczać dowolnie złożone zapytania, wszystko działa.
Na dzień dobry sprawdziłem, czy faktycznie zaimplementowali tam STRING_AGG - cholera, jest. I działa elegancko. Możemy w MSSQL w końcu wykonywać agregacje na tekstach (coś, co w Postgressie czy Oracle-u było już od dawna).
Na dziś tyle - niewykluczone jednak, że na dniach napiszę coś więcej o tej przedziwnej wersji SQL Servera.
Ach, w ciekawych czasach przyszło mi żyć.
Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]
Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.