Środowisko MS SQL Server

MS SQL Server to System Zarządzania Bazą Danych (SZBD). Najnowsza wersja SQL Server 2017 jest już 14 generacją (zgodnie z oznaczeniami znaczących wersji MS) tego systemu.
Nie wszyscy wiedzą, że początki SQL Server sięgają 1987 roku. Zatem obecnie, mamy do czynienia z produktem którego historia liczy ponad 25 lat. Z punktu widzenia czasu życia produktu, szczególnie w świecie IT to przecież cała wieczność. Możemy więc śmiało stwierdzić, że SQL Server jest dojrzałym produktem.

W artykule tym, znajdziesz ogólne informacje na temat środowiska bazodanowego SQL Server. Kilka słów o historii, dostępnych narzędziach i komponentach.


Historia SQL Server

Zacznijmy jednak od narodzin. W 1987 roku, firma Microsoft wraz Sybase, a później również z Ashton Tate rozpoczęła współpracę biznesową nad produktem serwera bazy danych. Rezultatem była pierwsza wersja produktu – Ashton Tate/Microsoft SQL Server 1.0 wydana w 1989. Od tego czasu przez niemal dekadę, Sybase i Microsoft współpracowali, wydając kolejne wersje systemu. Jeśli miałeś do czynienia z produktami Sybase – znajdziesz wiele podobieństw do SQL Server, chociażby w dialekcie SQL. Być może dlatego, spotkać można teorie, że SQL Server to tak naprawdę produkt Sybase, kupiony w pewnym momencie przez Microsoft, co jednak nie jest prawdą. Więcej informacji na temat historii SQL Server, obalaniu mitów – znajdziesz na blogach Euan Garden oraz Kalen Delaney. Szczególnie polecam historię SQL Server w pigułce w formie foto-posta 🙂

Od 1989 wydano następujące wersje SQL Server :

 

 

 

Wersja Rok wydania Oficjalna nazwa Projekt
1.0 1989 SQL Server 1.0
1.1 1991 SQL Server 1.1
4.2 1992 SQL Server 4.2
4.21 1994 SQL Server 4.21 SQLNT
6.0 1995 SQL Server 6.0 SQL95
6.5 1996 SQL Server 6.5 Hydra
7.0 1998 SQL Server 7.0 Sphinx
8.0 2000 SQL Server 2000 Shiloh
9.0 2005 SQL Server 2005 Yukon
10.0 2008 SQL Server 2008 Katmai
10.5 2010 SQL Server 2008 R2 Kilimanjaro
11.0 2012 SQL Server 2012 Denali
12.0 2014 SQL Server 2014 Hekaton*
13.0 2016 SQL Server 2016
14.0 2017 SQL Server 2017

 

 

 

 


Edycje SQL Server

MS SQL Server oferowany jest w różnych edycjach. W zależności od potrzeb, konkretnych funkcjonalności, możemy wybrać z pośród kilku wydań. W praktyce, spotkać się można najczęściej z wersją darmową Express i komercyjnymi – Standard lub w dużych i średnich wdrożeniach – Enterprise (flagowy produkt, najwyższa edycja, ze wszystkimi możliwymi opcjami). Oprócz nich, są jeszcze pośrednie wersje, takie jak Web czy Businness Intelligence, ale są one stosunkowo rzadko spotykane.

Pełne porównanie poszczególnych edycji SQL Server, możliwości, dostępnych komponentów znajdziesz na oficjalnych stronach Microsoft.


Środowisko SQL Server, komponenty

Podstawą platformy SQL Server jest usługa serwera. Realizuje wszystkie zadania związane z obsługą i utrzymaniem baz danych. Jest ona fundamentem i każde wdrożenie, opiera się o trzon silnika bazy danych (Database Engine).

Środowisko SQL Server jest skalowalne i składać się może z wielu komponentów. W zależności od potrzeb i możliwości wybranej edycji, możemy w trakcie instalacji wybierać spośród dostępnych funkcjonalności. Instalacja kompletnego środowiska SQL Server na maszynie fizycznej lub wirtualnej to INSTANCJA. W jej ramach, możemy zarządzać wieloma bazami danych. W SQL Server 2012 jest to maksymalnie aż 32767 baz danych per instancja. Więcej informacji na temat możliwości instancji, ograniczeń znajdziesz tutaj.

Na danym fizycznym (lub wirtualnym) serwerze, możemy zainstalować wiele instancji SQL Server. Są one w pełni niezależne i tworzą odrębne środowiska SQL Server. W praktyce, rzadko spotyka się komercyjne wdrożenia więcej niż dwóch, trzech instancji na maszynie. Podyktowane jest to głównie przez aspekty wydajnościowe – zazwyczaj jest jedna.

Silnik bazy danych

To najważniejszy z komponentów, odpowiedzialny za przetwarzanie zapytań, zarządza składowaniem, ochronie danych. Obsługuje niezbędne mechanizmy bezpieczeństwa, autoryzacji czy autentykacji. Silnik bazy danych jest uruchomiony na serwerze jako usługa, inaczej mówiąc jest to po prostu aplikacja działająca w tle środowiska Windows, obsługująca wszelkie procesy związane z bazami danych.

Usługi analityczne

Jest to tak naprawdę w sumie kilka komponentów z rodziny analitycznej. Analityka (OLAP) , PowerPivot, Data Minning, ogólnie wszystko co związane z Business Intelligence czyli inaczej usługami drążenia danych. Są to w ogólności procesy, mechanizmy, mające na celu przekształcenie danych w informacje a informacje w wiedze. Dzięki nim, możemy szukać zależności między danymi i odkrywać związki.

Usługi analityczne dostarczają mechanizmów raportujących, wydobywających wiedzę, analizując dane pochodzącą z baz transakcyjnych (OLTP). Na jej podstawie możemy wyciągać wnioski, przewidywać pewne zachowania, które mogą wpływać np. wzrost konkurencyjności przedsiębiorstwa.

Usługi raportujące (Reporting Services)

Komponent stworzony z myślą o raportowaniu z baz danych SQL Server. Nie musimy tworzyć własnych aplikacji raportujących. SQL Server oferuje gotowe rozwiązanie w oparciu o środowisko .NET.

Usługi integracji danych (Integration Services)

SSIS – SQL Server Integration Services – jest to dedykowane środowisko dla procesów ETL (Extract Transform and Load). Integracji i przetwarzania danych z różnych źródeł. Dla przykładu firma analityczna z branży farmaceutycznej, otrzymuje co miesiąc dane o sprzedaży leków od różnych producentów w formie plików XML. Są one umieszczane na serwerze plików i przetwarzane przez automatyczne procesy SSIS zasilając bazę danych z plików dostarczanych przez dostawców.


Najważniejsze narzędzia pakietu MS SQL Server

W zależności od edycji, mamy możliwość wyboru w trakcie instalacji spośród dostępnych funkcjonalności i narzędzi. Poniżej ogólny opis najważniejszych z nich.

SQL Server Management Studio (SSMS)

Graficzny interfejs użytkownika (GUI), przeznaczony do administrowania, tworzenia baz, obiektów bazodanowychoraz do pisania i testowania skryptów, zapytań. Jest wygodnym narzędziem dla deweloperów – daje np. możliwość podglądu planów wykonania. Posiada szereg wygodnych funkcjonalności np. mechanizm IntelliSens znany z VS (podpowiadanie nazw obiektów, słów kluczowych). Za pomocą SSMS mamy dostęp do wszystkich obiektów bazodanowych. Możemy tworzyć kompletne rozwiązania, administrować serwerem. Tworzyć projekty, generować skrypty etc. Istnieje na rynku szereg alternatywnych rozwiązań. Spośród nich, godnymi uwagi są z pewnością produkty firmy RedGate oraz TOAD.

SQL Server Configuration Manager

Aplikacja do konfiguracji usług, protokołów komunikacyjnych, aliasów. Podstawowe narzędzie związane z konfiguracją i dostępem (protokoły) usług serwera.

SQL Server Profiler

Aplikacja do śledzenia przetwarzanych poleceń w silniku bazodanowym. Niezastąpione przy szukaniu wąskich gardeł, zbierania danych do optymalizacji systemu. Możemy dzięki niemu przechwycić praktycznie wszystkie procesy, wykonywane przez SQL Server.

Zapytania, procedury składowane, wywoływania triggerów, logowania, transakcje i inne procedowane zdarzenia. SQL Server Profiler umożliwia zapis śladu i jego późniejszą analizę np. w Database Engine Tunning Advisor celem optymalizacji struktur (dodanie indeksów, statystyk etc.)

Database Engine Tunning Advisor (DETA)

Aplikacja do analizy i optymalizacji zapytań – wspiera procesy tworzenie indeksów, widoków indeksowanych, statystyk i partycji. Jako źródło przyjmuje np. zbiór informacji śladu – trace – przechwycony przez Profiler lub konkretny skrypt zapytania.

Business Intelligence Development Studio

IDE (Integrated Development Environment) dedykowane środowisko oparte o .NET framework, do tworzenia raportów w ramach Reporting Services, paczek SSIS (Integration services) oraz usług analitycznych (Analysis Services).

SQLCMD

Prosta aplikacja, za pomocą której mamy możliwość połączenia się z bazą danych z poziomu linii poleceń. Idealnie nadaje się do wszelkich czynności administracyjnych, skryptów. Szczególnie przydatna do automatyzacji zadań w SQL Server Express, w której nie mamy dostępnej usługi SQL Server Agent.


* Projekt Hekaton, dotyczy funkcjonalności przetwarzania transakcyjnego in-memory

 

3 Responses

  • Odpal ssms jako administrator, oraz zmień uprawnienia pliku przykładowej bazy danych na „pełna kontrola”, powinno działać.

  • Witam
    Gratuluje autorowi doskonałej strony poświęconej SQL. Na tyle dobrej, że zainspirowała mnie do nauki tego języka. Niestety nauka na sucho jest mniej efektywna niż poparta ćwiczeniami, w związku z tym zainstalowałem sobie SQL Serwer 2008 + Mgment Studio. Niestety nie mogę wczytać przykładowej bazy danych dla w/w oprogramowania (2008).
    System odszczekuje mi następujący komunikat:

    „Unable to open the phisical file D:\Maciek\itd
    Operating system error 5: „5(odmowa dostępu)”
    (Microsoft SQL Server Error:5120)

    Uprzejmie proszę o pomoc lub sugestie co jest nie tak z moją bazą lub czynnościami, które wykonuje
    (zgodnie z instrukcją na Pańskiej stronie)

    Z góry dziękuję za pomoc i pozdrawiam
    maciek

    • Witaj, wiem, że sporo czasu już minęło od zamieszczenia tego postu, ale może ktoś jeszcze będzie miał taki problem. Rozwiązaniem dla mnie było odpalenie SQL server managment studio jako administrator, oraz zmiana praw dostępu pliku .mdf na „Pełna kontrola”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.