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
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”.