Microsoft SQL Server (MS SQL) to system zarządzania bazą danych, wspierany i rozpowszechniany przez korporację Microsoft. Jest to główny produkt bazodanowy tej firmy, który charakteryzuje się tym, iż jako język zapytań używany jest przede wszystkim Transact-SQL, który stanowi rozwinięcie standardu ANSI/ISO.
MS SQL Server jest platformą bazodanową typu klient-serwer. W stosunku do Microsoft Jet, który stosowany jest w programie MS Access, odznacza się lepszą wydajnością, niezawodnością i skalowalnością. Przede wszystkim są tu zaimplementowane wszelkie mechanizmy wpływające na bezpieczeństwo operacji (m.in. procedury wyzwalane).
Co to jest SQL ?
SQL strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi zarządzania bazą danych (DBMS). SQL został opracowany w latach 70. w firmie IBM. Stał się standardem w komunikacji z serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z użytkownikiem SQL, dlatego potocznie mówi się, że korzystanie z relacyjnych baz danych to korzystanie z SQL-a. Pierwszą firmą, która włączyła SQL do swojego produktu komercyjnego, był Oracle. Dalsze wprowadzanie SQL-a, w produktach innych firm, wiązało się nierozłącznie z wprowadzaniem modyfikacji pierwotnego języka. Wkrótce utrzymanie dalszej jednolitości języka wymagało wprowadzenia standardu. W 1986 SQL stał się oficjalnym standardem, wspieranym przez Międzynarodową Organizację Normalizacyjną (ISO) i jej członka, Amerykański Narodowy Instytut Normalizacji (ANSI). Wczesne wersje specyfikacji (SQL86 i SQL89) były w dużej mierze jedynie określeniem wspólnej płaszczyzny łączącej różne istniejące wówczas produkty i pozostawiały wiele swobody twórcom implementacji. Z czasem jednak systemy komputerowe uległy integracji i rynek zaczął domagać się aplikacji oraz ich funkcji faktycznie współpracujących z wieloma różnymi bazami danych. Pojawiła się potrzeba określenia standardu ściślejszego. Mógł on jednocześnie obejmować nowe elementy, nieujęte do tej pory w języku. Tak powstał standard SQL92, obowiązujący w produktach komercyjnych do dziś. W 2003 przedstawiono SQL:2003 – nowy standard języka SQL. Został on opublikowany w Sigmod Record Vol. 33 No. 1 Marzec 2004. Jest to w zasadzie poprawione SQL:1999 z wyjątkiem części SQL/XML oraz kilku dodatkowych właściwości.
Wersje Microsoft SQL server
SQL express
Poza edycjami czysto komercyjnymi Microsoft udostępnia również edycje darmowe do dowolnego zastosowania (w tym komercyjnego). Edycje te mają różnorodne ograniczenia i tak np. do wersji 2000 (8.0) włącznie nie były m.in. udostępniane graficzne narzędzia do zarządzania bazami danych oraz były ograniczenia co do możliwej ilości połączeń do bazy. Począwszy od wersji 2005 (9.0) można pobrać wersję z graficznymi narzędziami i nie ma już limitu połączeń. Narzędzia posiadają jednak ograniczone możliwości w stosunku do pełnej wersji, a nawet jedna z istotnych usług dostępnych wcześniej w darmowych wersjach, nie jest już dostępna. Nie można już przez to wykonywać zautomatyzowanych zadań np. archiwizacji baz danych o zadanej godzinie. Dodatkowo ograniczona została również wydajność samego serwera SQL (ograniczono wykorzystywaną pamięć RAM).
Produkty związane z relacyjnymi bazami danych to nie tylko serwery. Sam serwer określa się często takimi nazwami jak „back end”, „engine”, czy też „motor/silnik bazy danych”. Przechowuje on dane oraz zapewnia ich pobieranie i aktualizacje w odpowiedzi na pobierane instrukcje w SQL-u. Uzupełnieniem serwera jest zazwyczaj „front end”, „middleware” czy też „fronton” – narzędzia upraszczające komunikację z serwerem i wyposażone w mechanizmy pozwalające wykorzystać pobrane dane. Należą do nich mechanizmy generowania i obsługi formularzy oraz raportów, języki czwartej generacji (4GL), graficzne języki zapytań, narzędzia konstrukcyjne użytkownika, oprogramowanie do prezentacji multimedialnych, systemy tworzenia hipertekstu, systemy CAD/CAM, arkusze kalkulacyjne, jak również interfejsy dostępu bezpośredniego. Wszystkie one wykorzystują, do komunikacji z serwerem i wykonywania za jego pośrednictwem różnych operacji, język SQL. Serwer odpowiada za przechowywanie, porządkowanie i pobieranie danych, zapewnia ich integralność, bezpieczeństwo oraz zabezpiecza przed ewentualnymi konfliktami między użytkownikami.
Jako, że SQL jest językiem interpretowanym, istnieje możliwość nadużyć w przypadku konstruowania zapytań z wykorzystaniem parametrów pochodzących z zewnątrz aplikacji. Szczególnie podatne na ten typ ataku są tworzone dynamicznie w oparciu o SQL-ową bazę danych serwisy internetowe. Jeśli twórca aplikacji nie zadba o sprawdzenie poprawności (tzw. walidację) danych wejściowych stanowiących część zapytania, atakujący może być w stanie dopisać do zapytania („wstrzyknąć”) dodatkowe komendy lub zmienić ich sposób działania. Atak taki nosi nazwę SQL injection (wstrzyknięcie kodu za pomocą SQL). [www.wikipedia.pl]
Workgroup
Wersja do 2 procesorów, limitu RAMu do 3GB, obsługa technologii 64 bitowej
Standard
Wersja do 4 procesorów, bez limitu RAMu, obsługa technologii 64 bitowej
Enterprise
Wersja bez limitu procesorów, limitu RAMu, obsługa technologii 64 bitowej
WebEdition
Dedykowana wersja dla aplikacji webowych (ASP.net) najlepsze do rozwiązań oferowanych przez SoftwareStudio. obsługa technologii 64 bitowej, ogranicznie RAMU do 16GB i 2 fizycznych procesorów.