Bazy danych wykorzystywane są wszędzie tam, gdzie zachodzi potrzeba przechowywania i przetwarzania danych. Na rynku mamy dostępnych wiele narzędzi do tworzenia i operowania na baza danych z Microsoft SQL Server, między innymi:

  • SQL Operations Studio
  • SQL Server Management Studio
  • LINQPad
  • mssql-cli
  • mssql  do VS Code

Nie wszystkie powyższe narzędzia są cross platform. W artykule skupię się na pracy z SQL Server z poziomu dystrybucji Linux (Ubuntu). Głównym bohaterem mojego wpisu będzie wtyczka mssql do wieloplatformowego edytora kodu Visual Studio Code. Do codziennej pracy nie zawsze potrzebuję instalować kombajn jak produkt z nazwą Studio od Microsoftu. Wtyczka mssql spełnia moje podstawowe wymagania, dzięki niej uzyskujemy następujące funkcje:

  • zarządzanie i tworzenie profili połączeń do Microsoft SQL Server, Azure SQL Database lub SQL Data Warehouses
  • pisanie zapytań T-SQL z wykorzystaniem IntelliSense
  • T-SQL snippet
  • kolorowanie i weryfikacja składni
  • uruchamianie skryptów i przegląd wyników w postaci tabeli
  • zapis wyników do formatu json, xlsx lub csv

Co nam będzie potrzebne do zabawy z powyższą wtyczką, oczywiście instancja SQL Server, z którym będziemy chcieli połączyć się, oraz Visual Studio Code. Czasy zmieniają się i od pewnego dnia można instalować SQL Server 2017 na dystrybucji Linux. Dla osób, które nie mają dostępu do żadnego serwera, oraz nie chcą lokalnie instalować SQL Server, zaprezentuję w kolejnym rozdziale jak uruchomić kontener SQL Server 2017 z poziomu Dockera.

Uruchomienie kontenera SQL Server 2017 w 3 krokach (Docker)

  1. Instalujemy Dockera (instrukcja instalacji).
  2. Pobieramy najnowszy obraz SQL Server 2017 Linux z repozytorium Docker Hub

3. Uruchamiamy kontener SQL Server

W ramach uruchamiania instancji obrazu przekazywane są następujące parametry:

  • -e ‚ACCEPT_EULA=Y’ – ustawienie zmiennej ACCEPT_EULA na wartość Y powoduje akceptacje umowy licencyjnej wymaganej dla obrazu SQL Server
  • -e ‚SA_PASSWORD=TopSecret!1’ – ustawienie hasła dla użytkownika sa zgodnego z polityka SQL Server (hasło posiada minimum 8 znaków, hasło musi zawierać duże litery, małe litery, cyfry i symbole)
  • -p 1433:1433 – mapowanie portów host:container
  • –name sql – ustawienie nazwy kontenera
  • -d microsoft/mssql-server-linux:2017-latest – wskazanie obrazu dockera

Czy kontener został uruchomiony prawidłowo możemy sprawdzić poniższą komendą.

run sql server containerExtension mssql (VS Code)

Czas na instalacje pluginu mssql do Visual Studio Code. W VS Code przechodzimy do zakładki Extensions, wyszukujemy mssql, klikamy Install, a po zakończeniu instalacji klikamy Reload.

install extension mssqlŚrodowisko pracy gotowe, czas przejść do praktyki. Zaczniemy od stworzenia profilu połączenia do SQL Server z poziomu Visual Studio Code. W VS Code wciskamy CTRL+SHIFT+P w celu otwarcia Command Palette. Wpisując sql możemy podejrzeć dostępne mssql komendy.

sql commands

Wybieramy MS SQL:Connect, w ramach konfiguracji profilu połączenia, w następnych krokach podajemy nazwę serwera, login, hasło, nazwę profilu i zapisujemy. Jeśli udało się połączyć z serwerem na dolnej belce otrzymamy stosowną informacje.

connectedNa dzień pisania wpisu w telewizji teraz tylko Mundial, Mundial i Mundial. Wykorzystam ten fakt i stworzę bazę danych Mundial, w której będę przechowywał dane najlepszych piłkarzy. Do pisania skryptu wykorzystamy kilka dostępnych snippet-ów np. sqlCreateDatabase, sqlCreateTable i sqlInsertRows.

Zamieszczony powyżej skrypt T-SQL w VS Code możemy wykonać poprzez wciśnięcie klawiszy CTRL + SHIFT + E. Baza danych z tabelą utworzona, spróbujmy wyciągnąć podstawowe informacje (imię, wiek, klub) o naszych piłkarzach z tabeli.

select SQLWyniki otrzymanego zapytania prezentowane są w postaci tabelarycznej. Istnieje możliwość zapisu wyników do jednego z trzech formatów csv, json i xlsx (excel).

Podsumowanie

W artykule przedstawiłem możliwość zarządzania bazą danych z poziomu Visual Studio Code z wykorzystaniem wtyczki mssql.  Przyznajcie, że trudne to nie jest, zachęcam do przejrzenia także innych wtyczek z VS Studio, w wielu przypadkach ułatwiają codzienną prace z edytorem kodu. Do końca Czerwca pojawi się jeszcze jeden wpis z tematyki testowania, zachęcam do śledzenia na Twitterze i odwiedzin bloga.