Komputery Okna Internet

Czym jest serwer ms sql w prostych słowach. System zarządzania bazą danych Microsoft Servers SQL. Różnorodne interfejsy użytkownika

Pierwsza wersja Microsoft Servers SQL została zaprezentowana przez firmę w 1988 roku. DBMS został od razu pozycjonowany jako relacyjny, mający, według producenta, trzy zalety:

  • procedury składowane, dzięki którym przyspieszono pobieranie danych i zachowano ich integralność w trybie wieloużytkownikowym;
  • stały dostęp do administracji bez rozłączania użytkowników;
  • Otwarta platforma serwerowa, która umożliwia tworzenie aplikacji innych firm korzystających z SQL Server.

2005, o nazwie kodowej Yukon z zaawansowaną skalowalnością, był pierwszym wydaniem w pełni obsługującym technologię .NET. Poprawiła się obsługa danych rozproszonych, pojawiły się pierwsze narzędzia do raportowania i analizy informacji.

Integracja z Internetem umożliwiła wykorzystanie SQL Servers 2005 jako podstawy do tworzenia systemów e-commerce z prostym i bezpiecznym dostępem do danych poprzez popularne przeglądarki z wykorzystaniem wbudowanego Firewalla Wersja Enterprise wspierała przetwarzanie równoległe na nieograniczonej liczbie procesorów.

Wersja 2005 została zastąpiona przez Microsoft SQL Server 2008, który wciąż jest jednym z najpopularniejszych serwerów bazodanowych, a nieco później pojawiła się kolejna wersja - SQL Servers 2012, z obsługą kompatybilności z .NET Framework i innymi zaawansowanymi technologiami przetwarzania informacji i środowisko programistyczne Visual Studio. Aby uzyskać do niego dostęp, stworzono specjalny moduł SQL Azure.

Transact-SQL

Od 1992 r. standardem dostępu do baz danych jest SQL. Prawie wszystkie języki programowania używają go w celu uzyskania dostępu do bazy danych, nawet jeśli użytkownik myśli, że pracuje bezpośrednio z informacjami. Podstawowa składnia języka pozostaje niezmieniona w celu zapewnienia interoperacyjności, ale każdy dostawca systemu zarządzania bazami danych próbował dodać dodatkowe funkcje do SQL. Nie znaleziono kompromisu, a po „wojnie standardów” pozostało dwóch liderów: PL/SQL od Oracle i Transact-SQL od Microsoft Servers SQL.

T-SQL proceduralnie rozszerza SQL o dostęp do Microsoft Servers SQL. Ale to nie wyklucza rozwoju aplikacji na „standardowych” operatorach.

Zautomatyzuj swój biznes dzięki SQL Server 2008 R2

Niezawodne aplikacje biznesowe mają kluczowe znaczenie dla dzisiejszego biznesu. Najmniejszy przestój bazy danych może prowadzić do ogromnych strat. Serwer bazy danych Dane firmy Microsoft SQL Server 2008 R2 umożliwia niezawodne i bezpieczne przechowywanie praktycznie nieograniczonej ilości informacji przy użyciu narzędzi do zarządzania znanych wszystkim administratorom. Obsługuje skalowanie w pionie do 256 procesorów.

Technologia Hyper-V w pełni wykorzystuje możliwości dzisiejszych systemów wielordzeniowych. Obsługa wielu systemów wirtualnych na jednym procesorze zmniejsza koszty i poprawia skalowalność.

Przeanalizuj dane

Do szybkiej analizy strumieni danych w czasie rzeczywistym wykorzystywany jest składnik SQL Server StreamInsight, który jest zoptymalizowany do tego typu zadań. Możliwe jest tworzenie własnych aplikacji w oparciu o .NET.

Nieprzerwana praca i bezpieczeństwo danych

Wbudowany zarządca zasobów serwera zapewnia zawsze optymalną wydajność. Administrator może zarządzać obciążeniem i udogodnieniami systemu, ustalać limity dla aplikacji na wykorzystanie zasobów procesora i pamięci. Funkcje szyfrowania zapewniają elastyczną i przejrzystą ochronę informacji oraz prowadzą rejestr dostępu do nich.

Nieograniczony rozmiar bazy danych

Hurtownię danych można szybko i bezpiecznie skalować. Użytkownicy mogą korzystać z gotowych szablonów Fast Track Date Warehouse do obsługi macierzy dyskowych o pojemności do 48 TB. Podstawowa konfiguracja obsługuje sprzęt wiodących marek, takich jak HP, EMC i IBM. Funkcje kompresji UCS 2 pozwalają na bardziej ekonomiczne wykorzystanie miejsca na dysku.

Poprawa wydajności programistów i administratorów

Nowe kreatory oprogramowania pozwalają szybko wyeliminować niepełne wykorzystanie serwera, poprawić kontrolę i zoptymalizować wydajność bez konieczności korzystania z zewnętrznych ekspertów. Monitoruj wydajność aplikacji i baz danych, znajduj możliwości poprawy wydajności w pulpitach nawigacyjnych oraz przyspieszaj aktualizacje i instalacje.

Osobiste narzędzia do analizy biznesowej

Firmy nigdy nie osiągnęły konsensusu co do tego, kto powinien zajmować się analityką – działy IT czy sami użytkownicy. System raportowania personalnego rozwiązuje ten problem poprzez nowoczesne narzędzia do bezpiecznej i efektywnej konstrukcji, analizy i modelowania procesów biznesowych. Obsługiwany jest bezpośredni dostęp do baz danych w Microsoft Office i SharePoint Server. Treści korporacyjne można integrować z innymi rodzajami treści, takimi jak mapy, grafika i filmy.

Wygodne środowisko współpracy

Daj swoim pracownikom dostęp do informacji, wspólnego rozwoju i analizy danych za pomocą PowerPivot dla arkusza kalkulacyjnego Excel. Program pozwala analizować informacje i modelować procesy biznesowe oraz publikować raporty do ogólnego dostępu w Internecie lub systemie SharePoint.

Do wizualnego tworzenia raportów wewnętrznych oferowany jest system Report Builder 3.0, który obsługuje różne formaty i szeroką gamę predefiniowanych szablonów.

Pracuj z bazami danych za darmo

Firma dostarcza małym projektom i początkującym programistom specjalną bezpłatną wersję Microsoft SQL Server Express. Obejmuje to te same technologie baz danych, co „pełne” wersje SQL Server.

Obsługiwane są środowiska Visual Studio i Web Developer. Twórz złożone tabele i zapytania, twórz aplikacje internetowe obsługujące bazy danych, uzyskuj dostęp do informacji bezpośrednio z PHP.

Wykorzystaj w pełni Transact-SQL i najbardziej zaawansowane technologie dostępu do danych ADO.NET i LINQ. Obsługiwane są procedury składowane, wyzwalacze i funkcje.

Skoncentruj się na elementach logiki biznesowej, a system sam zoptymalizuje strukturę bazy danych.

Twórz bogate raporty o dowolnej złożoności. Korzystaj z wyszukiwarki, integruj raporty z aplikacjami Microsoft Office i dodawaj informacje geograficzne do dokumentów.

Opracowane aplikacje mogą działać bez połączenia z serwerem bazy danych. Synchronizacja jest wykonywana automatycznie przy użyciu zastrzeżonej technologii replikacji transakcyjnej Sync Framework.

Administruj swoją infrastrukturą za pomocą zasad zarządzania dla wszystkich baz danych i aplikacji. Typowe scenariusze operacyjne skracają czas optymalizacji, tworzenia i odzyskiwania zapytań kopie zapasowe skala przedsięwzięcia.

SQL Server 2008 R2 Express Edition jest idealny do szybkiego wdrażania witryn i sklepów internetowych, programów do użytku osobistego, małych firm. To świetny sposób na rozpoczęcie i naukę.

Zarządzaj bazami danych za pomocą SQL Server Management Studio

Microsoft SQL Server Management to specjalistyczne środowisko do tworzenia, uzyskiwania dostępu i zarządzania bazami danych oraz wszystkimi elementami SQL Server, w tym usługami raportowania.

System łączy w jednym interfejsie wszystkie możliwości programów administracyjnych z wcześniejszych wersji, takich jak Query Analyzer i Enterprise Manager. Administratorzy otrzymują oprogramowanie z dużym zestawem obiektów graficznych do rozwoju i zarządzania, a także rozbudowany język do tworzenia skryptów do pracy z bazą danych.

Na szczególną uwagę zasługuje edytor kodu Microsoft Server Management Studio. Umożliwia tworzenie skryptów skryptowych w Transact-SQL, programowanie wielowymiarowych zapytań dostępu do danych oraz ich analizę z obsługą zapisywania wyników w XML. Tworzenie żądań i skryptów jest możliwe bez łączenia się z siecią lub serwerem, z późniejszym wykonaniem i synchronizacją. Dostępny jest szeroki wybór wstępnie zainstalowanych szablonów oraz system kontroli wersji.

Moduł Object Browser pozwala na przeglądanie i zarządzanie dowolnymi wbudowanymi obiektami Microsoft Servers SQL na wszystkich serwerach i instancjach baz danych. Łatwy dostęp do potrzebnych informacji ma kluczowe znaczenie dla szybkiego tworzenia aplikacji i kontroli wersji.

System jest oparty na izolowanej powłoce programu Visual Studio, która obsługuje rozszerzalne dostosowania i rozszerzenia innych firm. W Internecie istnieje wiele społeczności, w których można znaleźć wszystkie informacje i przykłady kodu potrzebne do opracowania własnych narzędzi do zarządzania i przetwarzania danych.

Według firmy badawczej Forrester Research, serwer bazy danych Microsoft SQL Server 2012 znalazł się w pierwszej trójce liderów na rynku korporacyjnych hurtowni danych w 2013 roku. Eksperci zauważają, że szybki wzrost udziału Microsoftu w rynku wynika z kompleksowego podejścia korporacji do automatyzacji procesów biznesowych. Microsoft SQL Server to nowoczesna platforma do zarządzania i przechowywania danych dowolnego typu, uzupełniona o narzędzia analityczne i programistyczne. Osobno należy zwrócić uwagę na łatwość integracji z innymi produktami firmy, takimi jak Office i SharePoint.

Microsoft SQL Server 2008.

10.1 Ogólna struktura DBMS

Dla lepszego zrozumienia zasad działania nowoczesnych SZBD rozważmy strukturę jednego z najpopularniejszych SZBD typu klient-serwer - Microsoft SQL Server 2008. Pomimo tego, że każdy SZBD komercyjny ma swoje charakterystyczne cechy, informacja o tym, jak działa jeden SZBD, jest zwykle wystarczająca do szybkiego wstępnego opanowania innego SZBD. Krótki przegląd możliwości Microsoft SQL Server - 2008 został przedstawiony w części poświęconej krótkiemu omówieniu współczesnego DBMS. W tej sekcji rozważymy główne punkty związane ze strukturą odpowiedniego DBMS (architektura bazy danych i struktura oprogramowania).

Przez architekturę (strukturę) bazy danych konkretnego SZBD rozumiemy główne modele prezentacji danych stosowane w odpowiednim SZBD oraz relacje między tymi modelami..

Zgodnie z tymi omówionymi w „Różne rozwiązania architektoniczne stosowane przy implementacji SZBD dla wielu użytkowników. Krótki przegląd SZBD” różne poziomy opisu danych rozróżniają różne poziomy abstrakcji architektury bazy danych.

Poziom logiczny (poziom modelu danych DBMS) - sposób reprezentowania modelu koncepcyjnego... Tutaj każdy DBMS ma pewne różnice, ale nie są one zbyt znaczące. Zauważ, że różne DBMS mają znacząco różne mechanizmy przejścia z logicznego do fizycznego poziomu prezentacji.

Warstwa fizyczna (wewnętrzna reprezentacja danych w pamięci komputera - fizyczna struktura bazy danych)... Ten poziom rozważań obejmuje badanie bazy danych na poziomie plików przechowywanych na dysku twardym. Struktura tych plików jest cechą każdego konkretnego DBMS, w tym. i Microsoft SQL Server.


Ryż. 10.1.

10.2. Architektura bazy danych. Poziom logiczny

Rozważać poziom logiczny Widoki bazy danych (http://msdn.microsoft.com). Microsoft SQL Server 2008 to system zarządzania relacyjnymi bazami danych (dane prezentowane są w postaci tabel). Tabele są więc główną strukturą modelu danych tego DBMS.

Tabele i typy danych

Tabele zawierają dane o wszystkich encjach modelu koncepcyjnego bazy danych. Przy opisie każdej kolumny (pola) użytkownik musi określić typ odpowiadających danych. Microsoft SQL Server 2008 obsługuje zarówno tradycyjne typy danych (ciąg znaków z różnymi reprezentacjami, liczba zmiennoprzecinkowa 8 lub 4 bajty, liczba całkowita 2 lub 4 bajty, data i godzina, pole komentarza, wartość logiczna itp.) oraz nowe typy danych . Ponadto Microsoft SQL Server 2008 zapewnia specjalną aparaturę do tworzenia niestandardowe typy danych.

Rozważmy krótki opis niektórych nowych typów danych, które znacznie rozszerzają możliwości użytkownika (http://www.oszone.net).

Hierarchiczny typ danych

Typ danych hierarchyid umożliwia tworzenie relacji między elementami danych w tabeli w celu zdefiniowania pozycji w hierarchii relacji między wierszami tabeli. W wyniku zastosowania tego typu danych w tabeli wiersze tabeli mogą wyświetlać pewną strukturę hierarchiczną odpowiadającą relacjom między danymi w tej tabeli.

Typy danych przestrzennych

Dane przestrzenne to dane, które definiują położenie i kształty geograficzne, głównie na Ziemi. Mogą to być punkty orientacyjne, drogi, a nawet lokalizacja firmy. SQL Server 2008 udostępnia typy danych geograficznych i geometrycznych do pracy z tymi informacjami. Typ danych geografia pracuje z informacjami dla kulistej ziemi. Sferyczny model Ziemi wykorzystuje w swoich obliczeniach krzywiznę powierzchni Ziemi. Informacje o pozycji podawane są według szerokości i długości geograficznej. Model ten doskonale nadaje się do transportu morskiego, planowania wojskowego i krótkoterminowych zastosowań terenowych. Model ten powinien być stosowany, jeśli dane są przechowywane w formacie szerokości i długości geograficznej.

Typ danych geometria współpracuje z płaskim lub płaskim modelem ziemi. W tym modelu Ziemia jest uważana za rzut płaski z określonego punktu. Model płaskiej ziemi nie uwzględnia krzywizny powierzchni ziemi, dlatego służy przede wszystkim do opisu krótkich odległości np. w bazie danych aplikacji opisującej wnętrze budynku.

Rodzaje geografia oraz geometria są tworzone z obiektów wektorowych określonych w formacie dobrze znanego tekstu (WKT) lub dobrze znanego binarnego (WKB). Są to formaty przesyłania danych przestrzennych opisane w proste funkcje Proste funkcje Open Geospatial Consortium (OGC) dla specyfikacji SQL.

Klucze

Każda tabela musi być zdefiniowana klucz podstawowy - minimalny zestaw atrybutów, który jednoznacznie identyfikuje każdy rekord w tabeli... Aby zaimplementować relację między tabelami, dodatkowe pole (kilka pól) jest zawarte w jednej z powiązanych tabel - klucz podstawowy innej tabeli. Dodatkowo zawarte pole lub pola w tym przypadku nazywane są kluczem obcym odpowiedniej tabeli.

Oprócz tabel model danych Microsoft SQL Server 2008 zawiera szereg innych składników. Podajmy krótki opis głównych.

Indeksy

W „Using the Formal Apparatus for Optimizing Relationship Schemes” rozważano koncepcję indeksu. Tutaj pojęcie indeksu zostało przeniesione do poziom logiczny dla wygody użytkownika. Indeksy tworzone są w celu przyspieszenia wyszukiwania potrzebnych informacji i zawierają informacje o uporządkowaniu danych według różnych kryteriów... Indeksowanie można przeprowadzić na jednej lub kilku kolumnach. Indeksowanie można wykonać w dowolnym momencie. Indeks zawiera klucze zbudowane z co najmniej jednej kolumny w tabeli lub widoku. Te klucze są przechowywane jako struktura zrównoważone drzewo, który obsługuje szybkie wyszukiwanie ciągów po ich wartościach kluczy w SQL Server.

Reprezentacja

Widok to wirtualna tabela, której zawartość jest określana przez zapytanie... Widok tworzony jest na podstawie zapytania SQL SELECT utworzonego według zwykłych zasad. Tak więc widok jest nazwanym zapytaniem SELECT.

Podobnie jak rzeczywista tabela, widok składa się ze zbioru nazwanych kolumn i wierszy danych. Dopóki widok nie zostanie zindeksowany, nie istnieje on w bazie danych jako przechowywany zbiór wartości. Wiersze i kolumny danych są pobierane z tabel określonych w zapytaniu definiującym widok i tworzone dynamicznie podczas uzyskiwania dostępu do widoku. Widok działa jak filtr dla tabel bazowych, do których się odwołuje. Zapytanie definiujące widok może zostać wyzwolone w jednej lub kilku tabelach lub w innych widokach w bieżącej lub innych bazach danych. Ponadto zapytania rozproszone mogą służyć do definiowania widoków z danymi z wielu heterogenicznych źródeł. Jest to przydatne na przykład, jeśli chcesz połączyć dane o podobnej strukturze, które należą do różnych serwerów, z których każdy przechowuje dane dla określonego działu organizacji.

Zespoły

Zestawy to dynamiczne pliki bibliotek używane przez wystąpienie programu SQL Server do wdrażania funkcji, procedur składowanych, wyzwalaczy, UDT i UDT.

Ograniczenia

Ograniczenia umożliwiają określenie metody, za pomocą której Aparat baz danych automatycznie wymusza integralność bazy danych.... Ograniczenia określają zasady ważności określonych wartości w kolumnach i są standardowym mechanizmem egzekwowania integralności. Zalecamy używanie ograniczeń, a nie wyzwalaczy, reguł i wartości domyślnych. Optymalizator zapytań wykorzystuje również definicje ograniczeń do budowania wysokiej wydajności plany wdrożeniowe upraszanie.

zasady

Reguły to kolejny specjalny mechanizm zaprojektowany w celu zapewnienia integralności bazy danych, podobny w funkcjonalności do niektórych rodzajów ograniczeń... Firma Microsoft zauważa, że ​​w stosownych przypadkach stosowanie ograniczeń jest preferowane z wielu powodów i może zostać usunięte w przyszłej wersji.

Wartości domyślne

Wartości domyślne określają, które wartości należy wypełnić w kolumnie, jeśli nie określono wartości dla tej kolumny podczas wstawiania wiersza... Wartością domyślną może być dowolne wyrażenie dające stałą, na przykład sama stała, funkcja wbudowana lub wyrażenie matematyczne.

System Zarządzania Bazą Danych (DBMS) to wspólny zestaw różnych komponentów oprogramowania baz danych i samych baz danych, zawierający następujące komponenty:

    aplikacje bazodanowe;

    komponenty klienta;

    serwery baz danych;

    rzeczywista baza danych.

Aplikacja bazy danych jest oprogramowaniem specjalnego przeznaczenia opracowanym i sprzedawanym przez użytkowników lub firmy zajmujące się oprogramowaniem stron trzecich. W przeciwieństwie, komponenty klienta to oprogramowanie bazodanowe ogólnego przeznaczenia opracowane i wdrożone przez firmę bazodanową. Za pomocą komponentów klienckich użytkownicy mogą uzyskać dostęp do danych przechowywanych na komputerze lokalnym lub zdalnym.

Serwer bazy danych wykonuje zadanie zarządzania danymi przechowywanymi w bazie danych. Klienci wchodzą w interakcję z serwerem bazy danych, wysyłając do niego żądania. Serwer przetwarza każde otrzymane żądanie i wysyła wyniki do odpowiedniego klienta.

Możliwości DBMS

Ogólnie rzecz biorąc, na bazę danych można patrzeć z dwóch perspektyw - użytkownika i systemu bazodanowego. Użytkownicy postrzegają bazę danych jako zbiór logicznie powiązanych danych, ale w przypadku systemu bazodanowego jest to po prostu sekwencja bajtów, które są zwykle przechowywane na dysku. Chociaż są to dwa zupełnie różne poglądy, mają one coś wspólnego: system bazy danych powinien zapewniać nie tylko interfejs umożliwiający użytkownikom tworzenie baz danych oraz pobieranie lub modyfikowanie danych, ale także komponenty systemu do zarządzania przechowywanymi danymi. Dlatego system baz danych musi zapewniać następujące możliwości:

    różne interfejsy użytkownika;

    fizyczna niezależność danych;

    logiczna niezależność danych;

    optymalizacja zapytań;

    integralność danych;

    nadzór konkurencji;

    kopii zapasowych i odzyskiwania;

    bezpieczeństwo bazy danych.

Wszystkie te możliwości zostały krótko opisane w poniższych sekcjach.

Różnorodne interfejsy użytkownika

Większość baz danych została zaprojektowana i zaimplementowana do pracy z nimi różne rodzaje użytkownicy o różnym poziomie wiedzy. Z tego powodu system bazy danych musi zapewniać kilka oddzielnych interfejsów użytkownika. Interfejs użytkownika może być graficzny lub tekstowy.

W interfejsach graficznych wejście odbywa się za pomocą klawiatury lub myszy, a wyjście jest realizowane graficznie na monitorze. Typ interfejsu tekstowego często używanego w systemach bazodanowych to interfejs wiersz poleceń, za pomocą którego użytkownik wprowadza dane, wpisując polecenia na klawiaturze, a system wyświetla dane wyjściowe w formacie tekstowym na monitorze.

Fizyczna niezależność danych

Fizyczna niezależność danych oznacza, że ​​aplikacje bazodanowe są niezależne od fizycznej struktury danych przechowywanych w bazie danych. Ta ważna funkcja umożliwia modyfikowanie przechowywanych danych bez konieczności wprowadzania jakichkolwiek zmian w aplikacjach bazodanowych.

Na przykład, jeśli dane zostały najpierw uporządkowane według jednego kryterium, a następnie ta kolejność została zmieniona według innego kryterium, zmiana danych fizycznych nie powinna mieć wpływu na istniejącą aplikację bazy danych lub jej schemat (opis bazy danych utworzony przez definicję danych język systemu bazy danych).

Logiczna niezależność danych

Podczas przetwarzania plików przy użyciu tradycyjnych języków programowania pliki są deklarowane przez aplikacje, więc wszelkie zmiany w strukturze plików zwykle wymagają odpowiednich zmian we wszystkich programach, które z nich korzystają.

Systemy bazodanowe zapewniają niezależność plików logicznych, co oznacza, że ​​logiczną strukturę bazy danych można zmieniać bez konieczności wprowadzania jakichkolwiek zmian w aplikacjach bazodanowych. Na przykład dodanie atrybutu do istniejącej struktury obiektu w systemie bazy danych o nazwie Osoba (na przykład adresu) wymaga zmodyfikowania tylko logicznej struktury bazy danych, a nie istniejących aplikacji. (Aplikacje będą jednak musiały zostać zmodyfikowane, aby korzystały z nowej kolumny).

Optymalizacja zapytań

Większość systemów baz danych zawiera podkomponent o nazwie optymalizator, który uwzględnia kilka możliwych strategii wykonania zapytania o dane i wybiera najbardziej efektywną. Wybrana strategia nazywa się plan wykonania zapytania... Optymalizator podejmuje decyzję, biorąc pod uwagę takie czynniki, jak rozmiar odpytywanych tabel, istniejące indeksy oraz operatory logiczne (AND, OR lub NOT) użyte w klauzuli WHERE.

Integralność danych

Jednym z wyzwań stojących przed systemem bazodanowym jest identyfikacja logicznie niespójnych danych i zapobieganie ich wprowadzaniu do bazy danych. (Przykładem takich danych może być data „30 lutego” lub godzina „5:77:00”).Ponadto dla większości rzeczywistych zadań, które są realizowane przy użyciu systemów bazodanowych, istnieją ograniczenia integralności do wykonania na danych. (Przykładem ograniczenia integralności jest wymaganie, aby numer personelu pracownika był pięciocyfrową liczbą całkowitą).

Integralność danych może być zapewniona przez użytkownika w programie użytkowym lub przez system zarządzania bazą danych. W możliwie największym stopniu zadanie to powinno być realizowane przez SZBD.

Nadzór konkurencji

System bazy danych to system oprogramowania dla wielu użytkowników, co oznacza, że ​​wiele aplikacji użytkownika uzyskuje dostęp do bazy danych w tym samym czasie. Dlatego każdy system bazodanowy musi posiadać jakiś mechanizm kontrolujący próby modyfikacji danych przez wiele aplikacji jednocześnie. Poniżej przedstawiono przykład problemu, który może wystąpić, jeśli system baz danych nie jest wyposażony w ten mechanizm kontrolny:

    Bank X ma 1500 USD na ogólnym koncie bankowym nr 3811.

    Posiadacze kont, pani A i pan B, udają się do różnych oddziałów banku i jednocześnie pobierają po 750 dolarów każdy.

    Kwota pozostała na koncie nr 3811 po tych transakcjach musi wynosić 0 USD, a w żadnym wypadku 750 USD.

Wszystkie systemy bazodanowe muszą posiadać niezbędne mechanizmy do obsługi tych sytuacji przy zachowaniu kontroli współbieżności.

Kopii zapasowych i odzyskiwania

System baz danych powinien być wyposażony w podsystem do naprawy błędów oprogramowania i sprzętu. Na przykład, jeśli wystąpi awaria podczas aktualizowania 100 wierszy tabeli bazy danych, aparat odzyskiwania musi wycofać wszelkie wprowadzone aktualizacje, aby zapewnić spójność danych.

Bezpieczeństwo bazy danych

Najważniejsze pojęcia dotyczące bezpieczeństwa bazy danych to uwierzytelnianie i autoryzacja. Uwierzytelnianie to proces uwierzytelniania poświadczeń użytkownika, aby uniemożliwić nieautoryzowanym użytkownikom korzystanie z systemu. Uwierzytelnianie jest najczęściej realizowane przez wymaganie od użytkownika podania nazwy użytkownika i hasła. System sprawdza aktualność tych informacji, aby zdecydować, czy dany użytkownik ma prawo się zalogować, czy nie. Proces ten można usprawnić, stosując szyfrowanie.

Upoważnienie to proces stosowany do użytkowników, którzy już uzyskali dostęp do systemu, w celu określenia ich praw do korzystania z określonych zasobów. Na przykład tylko administratorzy mogą uzyskać dostęp do informacji o strukturze bazy danych i katalogu systemowym określonej jednostki.

Systemy relacyjnych baz danych

Silnik bazy danych Microsoft SQL Server to system relacyjnej bazy danych. Koncepcja relacyjnych systemów baz danych została po raz pierwszy wprowadzona w 1970 roku przez Edgara F. Codda w jego artykule „A Relational Model of Data for Large Shared Data Banks”. W przeciwieństwie do poprzednich systemów baz danych (sieciowych i hierarchicznych), systemy relacyjnych baz danych są oparte na relacyjnym modelu danych z potężną teorią matematyczną.

Model danych to zestaw pojęć, relacji między nimi i ich ograniczeń, które służą do reprezentowania danych w zadaniu w świecie rzeczywistym. Centralną koncepcją relacyjnego modelu danych jest tabela. Dlatego z punktu widzenia użytkownika relacyjna baza danych zawiera tylko tabele i nic więcej. Tabele składają się z kolumn (jedna lub więcej) i wierszy (brak lub więcej). Każde przecięcie wiersza i kolumny tabeli zawsze zawiera dokładnie jedną wartość danych.

Praca z bazą demo w kolejnych artykułach

Wykorzystywana w naszych artykułach baza SampleDb reprezentuje określoną firmę, składającą się z działów i pracowników. Każdy pracownik należy tylko do jednego działu, a dział może zawierać jednego lub więcej pracowników. Pracownicy pracują nad projektami (projektami): w każdej chwili każdy pracownik jest jednocześnie zaangażowany w jeden lub kilka projektów, a nad każdym projektem może pracować jeden lub kilku pracowników.

Informacje te są prezentowane w bazie danych SampleDb (znajdującej się w źródle) w czterech tabelach:

Dział Pracownik Projektu Works_on

Organizację tych tabel przedstawiono na poniższych rysunkach. Tabela Dział reprezentuje wszystkie działy w firmie. Każdy dział posiada następujące atrybuty (kolumny):

Dział (numer, nazwa działu, lokalizacja)

Atrybut Number reprezentuje unikalny numer dla każdego działu, atrybut DepartmentName reprezentuje jego nazwę, a atrybut Location reprezentuje lokalizację. Tabela Pracownik reprezentuje wszystkich pracowników zatrudnionych w firmie. Każdy pracownik posiada następujące atrybuty (kolumny):

Pracownik (Identyfikator, Imię, Nazwisko, Numer Działu)

Atrybut Id reprezentuje unikalny numer personelu każdego pracownika, atrybuty FirstName i LastName reprezentują odpowiednio imię i nazwisko pracownika, a atrybut DepartmentNumber reprezentuje numer działu, w którym pracuje pracownik.

Wszystkie projekty firmy prezentowane są w tabeli projektów Projekt, która składa się z następujących kolumn (atrybutów):

Projekt (numer projektu, nazwa projektu, budżet)

Kolumna ProjectNumber zawiera unikalny numer projektu, a kolumny ProjectName i Budget zawierają odpowiednio nazwę projektu i budżet.

Tabela Works_on wskazuje relacje między pracownikami a projektami:

Works_on (EmpId, ProjectNumber, Job, EnterDate)

Kolumna EmpId zawiera numer personelu pracownika, a kolumna ProjectNumber numer projektu, w który jest zaangażowany. Połączenie wartości tych dwóch kolumn jest zawsze jednoznaczne. Kolumny Job i EnterDate wskazują odpowiednio stanowisko i początek pracy pracownika w tym projekcie.

Korzystając z bazy danych SampleDb jako przykładu, możesz opisać niektóre z głównych właściwości systemów relacyjnych baz danych:

    Wiersze w tabeli nie są zorganizowane w określonej kolejności.

    Ponadto kolumny tabeli nie są zorganizowane w określonej kolejności.

    Każda kolumna w tabeli musi mieć unikatową nazwę w dowolnej tabeli. Ale różne tabele mogą zawierać kolumny o tej samej nazwie. Na przykład tabela Dział zawiera kolumnę Liczba, a kolumna o tej samej nazwie istnieje w tabeli Projekt.

    Każdy element danych w tabeli musi zawierać jedną wartość. Oznacza to, że żadna komórka na przecięciu wierszy i kolumn tabeli nigdy nie zawiera żadnego zestawu wartości.

    Każda tabela zawiera przynajmniej jedną kolumnę, której wartości definiują właściwość tak, że żadne dwa wiersze nie zawierają tej samej kombinacji wartości dla wszystkich kolumn w tabeli. W relacyjnym modelu danych taka kolumna nazywa się Klucz kandydata... Jeśli tabela zawiera wiele potencjalnych kluczy, deweloper określa jeden z nich jako główny klucz tej tabeli. Na przykład kluczem podstawowym tabeli Dział będzie kolumna Numer, a kluczem podstawowym tabel Pracownik będzie identyfikator. Wreszcie klucz podstawowy tabeli Works_on będzie kombinacją kolumn EmpId i ProjectNumber.

    Tabela nigdy nie zawiera tych samych wierszy. Ale ta właściwość istnieje tylko w teorii, ponieważ Aparat baz danych i wszystkie inne systemy relacyjnych baz danych pozwalają na istnienie tych samych wierszy w tabeli.

SQL — język relacyjnej bazy danych

Język relacyjnych baz danych w SQL Server nazywa się Transact-SQL... Jest to odmiana najważniejszego języka baz danych dostępnego obecnie - SQL (ustrukturyzowany język zapytań)... Pochodzenie języka SQL jest ściśle związane z projektem o nazwie System R, opracowanym i wdrożonym przez IBM na początku lat 80. ubiegłego wieku. Dzięki temu projektowi wykazano, że korzystając z teoretycznych podstaw pracy Edgara F. Codda, możliwe jest stworzenie relacyjnego systemu bazodanowego.

W przeciwieństwie do tradycyjnych języków programowania takich jak C#, C++ i Java, Język SQL jest zorientowany na zbiór... Projektanci języka też to nazywają zorientowany na rekord... Oznacza to, że w języku SQL można wysyłać zapytania do danych z wielu wierszy jednej lub kilku tabel za pomocą tylko jednej instrukcji. To jedna z najważniejszych zalet języka SQL, pozwalająca na używanie tego języka w logiczny sposób. wysoki poziom niż tradycyjne języki programowania.

Kolejną ważną właściwością języka SQL jest jego nieproceduralny charakter. Każdy program napisany w języku proceduralnym (C#, C++, Java) opisuje krok po kroku, jak wykonać określone zadanie. Natomiast SQL, jak każdy inny język nieproceduralny, opisuje to, czego chce użytkownik. W związku z tym obowiązkiem systemu jest znalezienie odpowiedniego sposobu na spełnienie żądania użytkownika.

Język SQL zawiera dwa podjęzyki: Język definicji danych (DDL) oraz język przetwarzania danych DML (Data Manipulation Language)... Instrukcje DDL są również używane do opisywania schematów tabel bazy danych. DDL zawiera trzy ogólne instrukcje SQL: UTWÓRZ, ZMIEŃ i UPUŚĆ. Instrukcje te służą do tworzenia, modyfikowania i usuwania odpowiednio obiektów bazy danych, takich jak bazy danych, tabele, kolumny i indeksy.

W przeciwieństwie do DDL, DML obejmuje wszystkie operacje manipulacji danymi. Istnieją cztery ogólne operacje, które są zawsze używane do manipulowania bazami danych: wyodrębnianie, wstawianie, usuwanie i modyfikowanie danych (SELECT, INSERT, DELETE, UPDATE).

Rozdział z oficjalnego kursu szkoleniowego firmy Microsoft (np. 229): Projektowanie i implementacja baz danych Microsoft SQL Server 2000+ (CD)
Autorzy listy mailingowej są wdzięczni Wydawnictwu PETER za materiały dostarczone do publikacji.

W tym rozdziale

Ta książka koncentruje się na projektowaniu i implementacji baz danych Microsoft SQL Server 2000. Szczegółowo opisuje, jak planować bazy danych, tworzyć i zarządzać obiektami baz danych oraz zapewniać integralność danych. Zapoznasz się również z językiem Transact SQL i nauczysz się używać zapytań napisanych w nim do manipulowania danymi. Książka opisuje cechy systemu bezpieczeństwa i sposoby optymalizacji baz danych Dane SQL Serwer.
Program jest przeznaczony dla projektantów i profesjonalistów, którzy planują, wdrażają i utrzymują Microsoft SQL Server 2000. Jest również przydatny dla osób przygotowujących się do egzaminu certyfikacyjnego MCP 70-229: Projektowanie i wdrażanie baz danych przy użyciu Microsoft SQL Server 2000 Enterprise Edition.
Poniższy rozdział książki zawiera wprowadzenie do SQL Server 2000. Opisuje on składniki SQL Server 2000 i wyjaśnia ich interakcje w systemie zarządzania relacyjnymi bazami danych. Wiele tematów szczegółowo omówiono w kolejnych rozdziałach. Celem tego rozdziału jest przedstawienie przeglądu relacji między komponentami SQL Server, aby można było zrozumieć, w jaki sposób te komponenty kształtują jego strukturę.

Po pierwsze

Czytelnik nie potrzebuje specjalnej wiedzy, aby zapoznać się z materiałem zawartym w tym rozdziale, chociaż praktyczne doświadczenie z poprzednimi wersjami SQL Server byłoby bardzo pomocne.

Lekcja 1: Wprowadzenie do SQL Server 2000

Microsoft SQL Server 2000 to kompletne rozwiązanie do zarządzania i analizy danych, które umożliwia szybkie wdrażanie skalowalnych aplikacji internetowych nowej generacji. SQL Server 2000 jest kluczowym elementem obsługi handlu elektronicznego, interaktywnych aplikacji biznesowych i hurtowni danych, zapewniając skalowalność niezbędną do obsługi rozwijających się, dynamicznych środowisk. SQL Server 2000 oferuje najszerszą obsługę XML (Extensible Markup Language) i innych formatów internetowych, funkcje wydajności i dostępności zapewniające terminową realizację zadań oraz zaawansowane funkcje zarządzania i dostrajania w celu automatyzacji rutynowych zadań i obniżenia całkowitego kosztu posiadania. . Ponadto SQL Server 2000 w pełni wykorzystuje zalety systemu Windows 2000 dzięki integracji z usługami Active Directory i obsłudze do 32 procesorów oraz do 64 gigabajtów (GB) pamięci RAM.

    podać opis relacyjnego DBMS SQL Server 2000, w tym jego główne komponenty;

    Opisz niektóre z ważnych funkcji SQL Server 2000;

    rozróżnić różne wydania SQL Server 2000.

Czas trwania lekcji to około 20 minut.

Co to jest SQL Server 2000

SQL Server 2000 to system zarządzania relacyjnymi bazami danych, który wykorzystuje Transact SQL do wysyłania wiadomości między komputerem klienckim a komputerem, na którym działa SQL Server 2000. System zarządzania relacyjnymi bazami danych składa się z silnika bazy danych, rzeczywistych baz danych oraz aplikacji potrzebnych do zarządzać danymi i komponentami relacyjnymi DBMS. Relacyjny DBMS organizuje dane w postaci powiązanych wierszy i kolumn, które tworzą bazę danych. Relacyjny DBMS odpowiada za utrzymanie struktury bazy danych i rozwiązuje następujące zadania:

    utrzymuje powiązania między danymi w bazie danych;

    gwarantuje prawidłowe przechowywanie danych i przestrzeganie zasad regulujących relacje między nimi;

    odzyskuje dane po awarii systemu, przywracając je do spójnego stanu, który został popełniony przed awarią.

Baza danych (DB) SQL Server 2000 to relacyjna baza danych kompatybilna z SQL (Structured Query Language) ze zintegrowaną obsługą XML dla aplikacji internetowych. SQL Server 2000 jest oparty na nowoczesnym i rozszerzalnym SQL Server 7.0. W kolejnych sekcjach poznasz bazy danych, relacyjne bazy danych, SQL i XML.

Baza danych

Baza danych przypomina plik danych – jest też miejscem przechowywania informacji. Podobnie jak większość typów plików danych, baza danych nie przedstawia informacji bezpośrednio użytkownikowi — użytkownik uruchamia aplikację, która uzyskuje dostęp do danych bazy danych i prezentuje je w zrozumiałym dla niego formacie. Systemy baz danych są bardziej wydajne niż pliki, ponieważ dane są lepiej ustrukturyzowane. Sprawnie zorganizowana baza danych nie zawiera zduplikowanych danych, które użytkownik lub aplikacja musi aktualizować w tym samym czasie. Powiązane dane są pogrupowane w jedną strukturę - rekord, a powiązania między tymi strukturami (rekordy) można zdefiniować.
W przypadku korzystania z plików danych aplikacja musi być zaprogramowana do pracy z określoną strukturą każdego pliku danych, a baza danych zawiera katalog używany przez aplikacje do określania sposobu organizacji danych. Ponadto katalog umożliwia aplikacjom bazodanowym dynamiczne prezentowanie użytkownikom informacji z różnych baz danych, ponieważ dane nie są powiązane z żadnym konkretnym formatem.

Relacyjne bazy danych

Pomimo obecności różne sposoby organizując informacje w postaci baz danych, relacyjne DBMS uważane są za jedne z najbardziej efektywnych. System zarządzania relacyjnymi bazami danych wykorzystuje matematyczną teorię zbiorów do efektywnego organizowania danych. W relacyjnej bazie danych informacje są zorganizowane w postaci tabel. Tabela opisuje pewną klasę obiektów, które są ważne dla organizacji. Na przykład w bazie danych firmy jedna tabela może zawierać informacje o pracownikach, inna — informacje o klientach, a inna — informacje o sklepie. Każda tabela składa się z kolumn i wierszy (w teorii relacyjnych baz danych są to odpowiednio atrybuty i krotki). Każda kolumna definiuje atrybut klasy obiektów reprezentowanych przez tabelę.
Na przykład tabela zawierająca informacje o pracownikach może zawierać kolumny definiujące atrybuty, takie jak imię, nazwisko, numer identyfikacyjny, dział, stopień zaszeregowania i stanowisko pracownika. A każdy wiersz opisuje oddzielne wystąpienie obiektu reprezentowanego przez tabelę. Na przykład jeden z wierszy w tabeli pracowników może opisywać identyfikator pracownika 12345.
Istnieje wiele sposobów na uporządkowanie danych w formie tabelarycznej. W teorii relacyjnych baz danych istnieje proces znany jako normalizacja, który efektywnie organizuje dane za pomocą określonego zestawu tabel. Normalizacja została szczegółowo omówiona w rozdziale 3.

SQL

Do pracy z informacjami z bazy danych potrzebny jest zestaw komend i operatorów (język), który jest obsługiwany przez SZBD. W relacyjnych bazach danych można używać różnych języków, ale najpopularniejszym językiem jest SQL. Standardy oprogramowania, w tym standardy SQL, są definiowane przez ANSI (American National Standards Institute) oraz ISO (International Organization for Standardization). SQL Server 2000 obsługuje klasy Entry Level SQL-92, standard SQL opublikowany przez ANSI i ISO w 1992 roku. Dialekt SQL obsługiwany przez SQL Server nosi nazwę Transact SQL. Jest to podstawowy język używany przez aplikacje SQL Server. Transact SQL omówiono bardziej szczegółowo w rozdziale 2.

XML

XML (Extensible Markup Language) to przyjęty w Internecie standard formatowania danych. Reprezentuje zestaw znaczników, które są zawarte w dokumencie w celu zdefiniowania jego struktury. Chociaż większość instrukcji SQL zwraca wyniki w postaci relacyjnego zestawu danych (tabelarycznego), SQL Server 2000 obsługuje instrukcję FOR XML, która określa, że ​​wyniki są zwracane jako dokument XML. SQL Server 2000 obsługuje również zapytania XPath z aplikacji internetowych i intranetowych. Informacje z dokumentów XML można dodawać do baz danych SQL Server, a instrukcja OPENXML umożliwia wyprowadzanie danych z dokumentu jako relacyjnego zestawu wyników. XML omówiono bardziej szczegółowo w rozdziale 7.

Funkcje SQL Server 2000

SQL Server 2000 ma wiele funkcji, które ułatwiają instalację, wdrażanie i obsługę, a także skalowalność, tworzenie hurtowni danych i integrację systemu z innym oprogramowaniem serwerowym.

Łatwość instalacji, wdrożenia i obsługi

SQL Server 2000 zawiera wiele narzędzi i funkcji upraszczających proces instalacji, wdrażania, zarządzania i używania baz danych. SQL Server 2000 zapewnia administratorom baz danych kompletny zestaw narzędzi potrzebnych do dostrojenia SQL Server 2000 w przemysłowych systemach online. SQL Server 2000 działa również wydajnie na małych, jednoużytkownikowych systemach przy minimalnym obciążeniu administracyjnym.
Instalowanie lub uaktualnianie programu SQL Server 2000 jest prowadzone przez aplikację z graficznym interfejsem użytkownika (GUI), która prowadzi użytkownika przez informacje wymagane przez program instalacyjny. Program instalacyjny automatycznie wykrywa obecność wcześniejszej wersji programu SQL Server. Po zakończeniu instalacji programu SQL Server 2000 program zapyta użytkownika, czy chciałby uruchomić kreatora aktualizacji programu SQL Server 2000, który szybko przeprowadzi Cię przez proces aktualizacji. W ten sposób cały proces instalacji lub aktualizacji kończy się szybko, a użytkownik musi wprowadzić minimum informacji.
SQL Server 2000 automatycznie i dynamicznie zmienia swoją konfigurację w locie. Wraz ze wzrostem liczby użytkowników podłączonych do SQL Server 2000 może dynamicznie przydzielać niezbędne zasoby, takie jak pamięć. Gdy obciążenie spada, SQL Server 2000 zwalnia zasoby i zwraca je do systemu. Jeśli w tym samym czasie na serwerze działają inne aplikacje, SQL Server 2000 wykrywa, że ​​przydzielana jest im dodatkowa pamięć wirtualna i zmniejsza ilość pamięci wirtualnej, której używa w celu zmniejszenia narzutu na stronicowanie. SQL Server 2000 może również automatycznie zwiększać lub zmniejszać rozmiar bazy danych w miarę dodawania lub usuwania informacji.
SQL Server 2000 zapewnia administratorom baz danych narzędzia do zarządzania systemami, takie jak Enterprise Manager i SQL Profiler. Narzędzia administracyjne zostały szczegółowo omówione w lekcji 2.

Skalowalność

Silnik bazy danych SQL Server 2000 to solidny serwer zdolny do zarządzania terabajtowymi bazami danych, do których mają dostęp tysiące jednoczesnych użytkowników. Jednocześnie podczas pracy z ustawieniami domyślnymi SQL Server 2000 obsługuje takie funkcje, jak dynamiczne ładowanie początkowe, dzięki czemu nie obciążasz użytkowników zadaniami administracyjnymi. To właśnie ta zdolność czyni go niezwykle atrakcyjnym do użytku na laptopach i komputerach stacjonarnych.
Kilka funkcji SQL Server 2000 zwiększa skalowalność systemu. Na przykład SQL Server 2000 dynamicznie dostosowuje granulację blokad dla każdej tabeli, do której odwołuje się zapytanie, a także zawiera zoptymalizowaną obsługę szybkich operacji w środowiskach VLDB (bardzo dużej bazy danych). Ponadto SQL Server 2000 jest zdolny do planowania równoległego wykonywania, w którym przetwarzanie instrukcji SQL jest dzielone na wiele części. Każda część może być wykonywana na osobnym procesorze, w tym przypadku tworzenie pełnego zestawu wyników jest szybsze niż w przypadku, gdy oddzielne części instrukcji są wykonywane sekwencyjnie.
Wiele funkcji skalowalności programu SQL Server 2000 omówiono szczegółowo w dalszej części tego samouczka.

Magazyn danych

Hurtownia danych to baza danych o określonej strukturze, zoptymalizowana do działania złożone zapytania, którego wyniki można wykorzystać do analizy i podejmowania decyzji. Hurtownia danych zazwyczaj zawiera dane opisujące historię działalności organizacji. Baza danych to podzbiór zawartości hurtowni danych. Data mart zazwyczaj zawiera informacje, które są w przeważającej mierze specyficzne dla działu w organizacji lub obszaru działalności. SQL Server 2000 zawiera szereg składników, dzięki którym lepiej nadaje się do tworzenia hurtowni danych, które skutecznie wspierają podejmowanie decyzji.

    Ramy hurtowni danych. Zestaw komponentów i interfejsów programowania aplikacji (API) implementujących funkcjonalność hurtowni danych SQL Server 2000.

    Usługi transformacji danych (DTS). Zestaw usług do budowy hurtowni danych i data martów.

    Usługi metadanych. Zestaw interfejsów ActiveX i modeli informacji, które definiują schemat bazy danych i przekształcenia danych implementowane przez platformę Data Warehousing Framework. Schemat lub metadane to metoda definiowania i organizowania danych.

    Usługi analityczne. Zestaw usług, które zapewniają możliwości przetwarzania OLAP dla danych z heterogenicznych źródeł OLE DB.

    Zapytanie angielskie. Produkt do tworzenia aplikacji, który umożliwia użytkownikom zadawanie pytań w języku angielskim zamiast używania języka zapytań komputerowych (takiego jak SQL).

Integracja systemu

SQL Server 2000 współpracuje z innymi produktami oprogramowania, aby zapewnić stabilne i bezpieczne repozytorium informacji dla Internetu i intranetów:

    SQL Server 2000 współpracuje z mechanizmami bezpieczeństwa i szyfrowania systemów Windows 2000 Server i Windows NT Server, zapewniając bezpieczne przechowywanie informacji;

    SQL Server 2000 to wysokowydajna usługa przechowywania aplikacji sieci Web działających w ramach Internetowych usług informacyjnych firmy Microsoft;

    SQL Server 2000 może być używany z serwerem Site Server do obsługi dużych, złożonych witryn handlu elektronicznego;

    Obsługa gniazd TCP/IP umożliwia integrację SQL Server 2000 z Microsoft Proxy Server w celu bezpiecznej komunikacji przez Internet i intranet.

Wydajność SQL Server 2000 można podnieść do poziomu wymaganego dla dużych witryn internetowych. Ponadto aparat bazy danych SQL Server 2000 ma wbudowaną obsługę XML, a kreator Web Assistant pomaga generować strony Hypertext Markup Language (HTML) z danych SQL Server 2000 i publikować te dane dla protokołu Hypertext Transport Protocol (HTTP) i dostępu FTP ( Transfer plików Protokół).
SQL Server obsługuje uwierzytelnianie Windows, co pozwala na używanie kont użytkowników i domen jako kont SQL Server 2000 Wpisy Windows NT i Windows 2000.
Windows 2000 uwierzytelnia użytkowników podczas łączenia się z siecią.Podczas łączenia się z SQL Server oprogramowanie klienckie żąda zaufanego połączenia, które może zostać udzielone tylko wtedy, gdy użytkownicy są uwierzytelniani przez Windows NT lub Windows 2000. Tak więc SQL Server nie uwierzytelnia użytkowników, ale użytkownicy nie potrzebują oddzielnych nazw i haseł do łączenia się z każdym systemem SQL Server. SQL Server 2000 może wysyłać i odbierać wiadomości e-mail oraz wiadomości stronicowania z Microsoft Exchange lub innych serwerów pocztowych zgodnych z MAPI (Message Application Programming Interface). Ta funkcja umożliwia wysyłanie poczty przy użyciu pakietów, procedur składowanych i wyzwalaczy programu SQL Server 2000. Zdarzenia i powiadomienia programu SQL Server 2000 można skonfigurować tak, aby automatycznie wysyłały powiadomienia e-mail lub pager do administratora serwera w przypadku poważnych problemów lub nawet zagrożenia ...

Edycje SQL Server 2000

SQL Server 2000 jest dostępny w różnych edycjach, aby spełnić różnorodne wymagania klientów (organizacji i osób fizycznych) w zakresie wydajności, wydajności i kosztów.

    Wersja Enterprise. Ta edycja jest kompletną edycją SQL Server najczęściej oferowaną organizacjom. Enterprise Edition zapewnia zaawansowaną skalowalność i niezawodność krytycznych aplikacji biznesowych i internetowych, w tym rozproszone widoki partycjonowane, przenoszenie dzienników i ulepszone możliwości klastrowania. Ta edycja w pełni wykorzystuje również najbardziej zaawansowane sprzęt komputerowy, obsługujący do 32 procesorów i 64 GB pamięci RAM. Ponadto SQL Server 2000 Enterprise Edition zawiera dodatkowe funkcje analizy.

    Wersja standardowa. Ta opcja może być dostępna dla średnich i małych organizacji, które nie wymagają złożonej skalowalności i dostępności oraz pełnego zestawu funkcji analitycznych dostępnych w SQL Server 2000 Enterprise Edition. Wersja Standard jest używana w symetrycznych systemach wieloprocesorowych z maksymalnie 4 procesorami i maksymalnie 2 GB pamięci RAM.

    Edycja osobista. Ta edycja zawiera kompletny zestaw narzędzi do zarządzania i większość funkcji edycji standardowej, ale jest zoptymalizowana do użytku osobistego. Personal Edition obsługuje nie tylko serwerowe systemy operacyjne korporacji Microsoft, ale także ich edycje osobiste, w tym Windows 2000 Professional, Windows NT Workstation 4.0 i Windows 98. Obsługiwane są systemy dwuprocesorowe. Chociaż ta edycja obsługuje bazy danych dowolnej wielkości, jej wydajność jest zoptymalizowana dla pojedynczych użytkowników i małych grup roboczych: spada, gdy obciążenie występuje, gdy więcej niż pięciu użytkowników pracuje w tym samym czasie.

    Wersja deweloperska. Ten wariant SQL Server umożliwia programistom tworzenie dowolnego typu aplikacji, która działa w połączeniu z SQL Server. Ta edycja zawiera wszystkie funkcje Enterprise Edition, ale z konkretną umową licencyjną użytkownika końcowego (EULA), która umożliwia programowanie i testowanie, ale zabrania wdrażania operacyjnego.

    Aparat pulpitu (MSDE). Ta edycja zawiera podstawową funkcjonalność silnika bazy danych SQL Server 2000, ale nie obejmuje interfejsu użytkownika, narzędzi do zarządzania, funkcji analizy, obsługi replikacji wdrażania, licencji dostępu klienta, bibliotek programistycznych i dokumentacji online. Ogranicza również rozmiar bazy danych i poziom obciążenia podczas pracy z użytkownikami. Wersja Desktop Engine wymaga najmniej zasobów w porównaniu z innymi edycjami SQL Server 2000, dzięki czemu idealnie nadaje się do wdrażania autonomicznej hurtowni danych.

    Wydanie Windows CE. Ta edycja jest wersją SQL Server 2000 dla systemu Windows CE. Jest to oprogramowanie kompatybilne z innymi wydaniami SQL Server 2000. Pozwala to programistom wykorzystać istniejące umiejętności i aplikacje w celu rozszerzenia funkcjonalności relacyjnego przechowywania danych o rozwiązania działające na nowych klasach urządzeń.

Streszczenie

Microsoft SQL Server 2000 to kompletne rozwiązanie do zarządzania i analizy danych, które umożliwia szybkie wdrażanie skalowalnych aplikacji internetowych nowej generacji. SQL Server to system zarządzania relacyjnymi bazami danych, który wykorzystuje Transact SQL do przesyłania zapytań między komputerem klienckim a komputerem SQL Server 2000. Baza danych przypomina zwykły plik danych: służy również do przechowywania informacji. Jednak DBMS jest potężniejszy niż prosty plik danych, ponieważ poziom organizacji danych w bazie danych jest znacznie wyższy. Relacyjna baza danych to specjalny typ bazy danych, który wykorzystuje matematyczną teorię zbiorów do organizowania danych. W relacyjnej bazie danych informacje są zorganizowane w postaci tabel. SQL Server 2000 ma kilka funkcji, które ułatwiają instalację, wdrażanie i użytkowanie; a także wspierające skalowalność, hurtownie danych i integrację z innym oprogramowaniem serwerowym. SQL Server 2000 jest dostępny w różnych edycjach, aby spełnić różnorodne wymagania klientów (organizacji i osób fizycznych) w zakresie wydajności, wydajności i kosztów.

Lekcja 2: Składniki SQL Server 2000

Jak omówiono w lekcji 1, SQL Server 2000 to system zarządzania relacyjnymi bazami danych. Taki DBMS ze swej natury składa się z kilku elementów, a mianowicie: silnika bazy danych, różnych aplikacji, a także narzędzi i zestawu baz danych – standardowych wchodzących w skład dostawy systemu oraz niestandardowych, które można dodać do relacyjny DBMS po jego instalacji. Ta lekcja zawiera przegląd głównych składników, które składają się na system zarządzania relacyjnymi bazami danych SQL Server 2000.

Po przestudiowaniu materiału z tej lekcji będziesz w stanie:

    zidentyfikować i opisać różne składniki programu SQL Server 2000.

Czas trwania lekcji to około 25 minut.

Przegląd składników SQL Server 2000

SQL Server 2000 składa się z wielu komponentów, takich jak silnik relacyjnej bazy danych, usługi Analysis Services i English Query. Wszystkie te komponenty, z których każdy odgrywa określoną rolę, współpracują ze sobą, tworząc w pełni funkcjonalny system zarządzania relacyjną bazą danych (Rysunek 141).

Silnik relacyjnych baz danych SQL Server 2000 to nowoczesny, wysoce skalowalny silnik przechowywania danych. Silnik bazy danych przechowuje dane w tabelach. Każda tabela reprezentuje określoną klasę obiektów, w zależności od zainteresowań konkretnej organizacji (na przykład informacje o pojazdach, pracownikach lub klientach). Tabela składa się z kolumn, z których każda reprezentuje atrybut obiektu (taki jak waga, nazwa lub koszt), który modeluje, oraz wierszy. Każdy wiersz reprezentuje jedną instancję obiektu modelowanego przez tabelę (np. samochód o numerze ABC-123 lub pracownika o numerze ID 123456). Aplikacja przekazuje instrukcję SQL do aparatu bazy danych, który zwraca wynik w postaci zestawu danych w formie tabelarycznej. Aplikacja internetowa przekazuje instrukcję SQL lub zapytanie XPath do aparatu bazy danych, który zwraca wynik w postaci dokumentu XML. Aparat relacyjnej bazy danych zapewnia obsługę standardowych interfejsów dostępu do danych, takich jak ADO (ActiveX Data Objects), OLE DB i ODBC (Open Database Connectivity).
Silnik relacyjnej bazy danych jest wysoce skalowalny. SQL Server 2000 Enterprise Edition obsługuje grupy serwerów baz danych, które tworzą terabajtowe bazy danych, do których mają dostęp tysiące użytkowników jednocześnie. Silnik bazy danych jest również zdolny do dynamicznego dostrajania poprzez przydzielanie dodatkowych zasobów w miarę wzrostu liczby użytkowników podłączonych do bazy danych i zwalnianie ich po rozłączeniu się użytkowników. Innymi słowy, indywidualni użytkownicy lub małe grupy robocze, które nie mają administratorów baz danych, mogą korzystać z prostszych wersji SQL Server. Nawet duże serwery baz danych Enterprise Edition działające w trybie produkcyjnym można łatwo administrować dzięki dołączonym narzędziom administracyjnym GUI.

Silnik relacyjnej bazy danych jest również bardzo bezpieczny. Uwierzytelnianie logowania może być zintegrowane z uwierzytelnianiem Windows, dzięki czemu SQL Server nie przechowuje żadnych haseł ani nie przekazuje ich przez sieć (gdzie można je odczytać za pomocą snifferów pakietów). Węzły mogą ustawić audyt wszystkich użytkowników uzyskujących dostęp do bazy danych, który spełnia wymagania bezpieczeństwa na poziomie C2, a także używać protokołu SSL (Secure Sockets Layer) do szyfrowania wszystkich danych przesyłanych między aplikacją a bazą danych. Dowiedz się więcej o architekturze silnika bazy danych w lekcji 3.

Replikacja

SQL Server 2000 Replication umożliwia przechowywanie wielu kopii danych na wielu komputerach w celu poprawy ogólnej wydajności systemu i synchronizację wszystkich kopii. Na przykład dział przechowuje dane sprzedaży na własnym serwerze i replikuje je, aby zaktualizować te informacje na komputerze firmowym. Lub inny przykład: kilka użytkownicy mobilni pracują przez cały dzień poza siecią, a na koniec dnia używają replikacji scalającej, aby scalić swoje rekordy z bazą danych master.
Replikacja to ważna i wydajna technologia dystrybucji danych i niektórych typów obiektów bazy danych (procedury składowane, widoki i funkcje niestandardowe) w całym przedsiębiorstwie. Replikacja programu SQL Server wykorzystuje podejście publikowania i subskrybowania. Wydawca (właściciel) danych do replikacji określa artykuły (podobnie jak tabele bazy danych), które należy udostępnić subskrybentom (lub adresom otrzymującym kopie oryginalnej publikacji).
Model replikacji zbiorczej umożliwia wielu lub nawet wszystkim subskrybentom, a także wydawcy, aktualizowanie replikowanych danych. Replikacja mieszana jest idealna dla każdego środowiska, w którym abonenci są często odłączani od sieci (na przykład dla zdalnych sprzedawców). Abonenci mają możliwość modyfikowania lub dodawania danych w drodze, a po powrocie do biura lub połączeniu z lokalną siecią przez modem, mogą scalić zmodyfikowane dane z oryginalną kopią (opublikowaną przez wydawcę).

DTS

Wiele organizacji wymaga centralizacji danych, aby podejmować lepsze decyzje. Jednak dane mogą być przechowywane w wielu różnych formatach i w kilku różnych lokalizacjach. DTS (Data Transformation Services) w SQL Server umożliwia tworzenie hurtowni danych i baz danych poprzez interaktywne lub automatyczne importowanie i przesyłanie danych z wielu heterogenicznych źródeł zgodnie z harmonogramem.
SQL Server 2000 DTS radykalnie poprawia wydajność procesu hurtowni danych OLAP (Online Analytical Processing). Ponadto zapewnia środki do precyzyjnego dostrajania rozległych baz danych pod kątem przetwarzania transakcji online (OLTP), dzięki czemu można zwiększyć liczbę współbieżnych użytkowników aktywnie dodających i modyfikujących dane. Bazy danych OLTP mają taką strukturę, że rejestrują szczegóły każdej transakcji. Próba przeprowadzenia zaawansowanej analizy w celu określenia trendów sprzedaży na przestrzeni kilku miesięcy lub lat będzie wymagała przeglądania ogromnej liczby rekordów, a duże obciążenie przetwarzania zmniejszy wydajność baz danych OLTP.
Hurtownie danych i hurtownie danych są tworzone w systemie OLTP z danych wyodrębnionych i przekonwertowanych do postaci lepiej dostosowanej do przetwarzania OLAP. Okresowo ciągi szczegółów OLTP są gromadzone w tymczasowej bazie danych, gdzie są podsumowywane, a wynikowe dane są umieszczane w magazynie lub kiosku. DTS obsługuje wyodrębnianie danych z jednego źródła i wykonywanie złożonych przekształceń, a następnie przechowywanie wynikowych przekonwertowanych danych w innym źródle danych. Ten komponent znacznie upraszcza proces wyodrębniania danych z wielu systemów OLTP i tworzenia hurtowni danych OLAP lub bazy danych z wyodrębnionych danych.

Usługi analityczne

Usługi Analysis Services zapewniają narzędzia do analizowania danych znajdujących się w magazynach danych i hurtowniach danych. W hurtowniach danych i zbiorczych bazach danych informacje podsumowujące są zawarte w tabelach faktów. Tabela faktów — centralna tabela w schemacie hurtowni danych, przechowuje miary liczbowe i klucze łączące fakty z tabelami wymiarów. Zazwyczaj podstawowa tabela faktów zawiera informacje opisujące pewne zdarzenia w firmie, takie jak transakcje bankowe lub sprzedaż produktów. Aplikacje współpracują z danymi usług Analysis Services przy użyciu wielowymiarowych rozszerzeń ADO i OLE DB. Przetwarzanie zapytań OLAP przy użyciu wielowymiarowych kostek usług Analysis Services jest znacznie szybsze niż przy użyciu szczegółowych informacji z baz danych OLTP.
Usługi Analysis Services obejmują serwer, który zarządza wielowymiarowymi kostkami do analizy. Zapewnia klientowi szybki dostęp do danych kostki. Aby szybko udzielać odpowiedzi na złożone zapytania analityczne, usługi Analysis Services organizują dane z magazynu w macierze sześcienne przy użyciu wstępnie obliczonych danych zagregowanych. Usługi Analysis Services ułatwiają również tworzenie modeli wyszukiwania informacji dla danych zarówno ze źródeł wielowymiarowych, jak i relacyjnych. Modele wyodrębniania informacji można zastosować do obu typów danych. Dzięki usłudze PivotTable, komponentowi dostępu zgodnemu z OLE DB, Microsoft Excel i aplikacje innych firm mogą pobierać dane z serwera i prezentować je użytkownikowi lub tworzyć lokalne tablice kostek do analizy w trybie offline.

Zapytanie w języku angielskim

SQL Server 2000 English Query pomaga tworzyć aplikacje, które mogą się automatycznie konfigurować pod kątem określonych pytań zadawanych przez użytkowników. Administrator English Query definiuje dla procesora English Query wszystkie logiczne relacje między tabelami i kolumnami w bazie danych lub między kostkami w hurtowni danych lub hurtowni danych. Wówczas aplikacja użytkownika może wyświetlić specjalne okno, w którym użytkownik musi jedynie wpisać ciąg znaków z pytaniem (napisanym w języku angielskim) dotyczącym danych w bazie danych lub magazynie. Aplikacja przekazuje ten ciąg do procesora zapytań angielskich, który analizuje go na podstawie relacji zdefiniowanych między tabelami i kostkami. Zapytanie angielskie zwraca następnie do aplikacji zapytanie SQL lub zapytanie MDX (Multi-Dimensional Expression), które po wykonaniu zwróci odpowiedź na pytanie zadane przez użytkownika. Dzięki English Query programiści mogą przekształcić relacyjne bazy danych w aplikacje English Query, które pozwalają użytkownikom końcowym zadawać pytania w języku angielskim zamiast używać instrukcji SQL. Edytor modelu English Query znajduje się w środowisku programistycznym Microsoft Visual Studio 6.0. W programie Visual Studio informacje o bazie danych są ustawione w taki sposób, aby program English Query mógł łatwo obsługiwać pytania dotyczące określonych tabel, pól i danych wprowadzanych w języku angielskim. English Query zawiera kreatory, które automatycznie tworzą projekt (plik .eqp) lub model (plik .eqm) dla aplikacji. Po walidacji projekt jest kompilowany do aplikacji English Query (plik .eqd), po czym może zostać wdrożony. Kreator projektów SQL przyspiesza proces tworzenia projektów English Query, automatycznie tworząc obiekty i łącza dla wybranych baz danych. Przed wdrożeniem aplikacji English Query należy ją w pełni przetestować, aby upewnić się, że wszystkie istniejące obiekty i relacje zwracają dokładne wyniki. Okno Test modelu obsługuje wbudowane narzędzia do debugowania, które umożliwiają wprowadzanie dalszych zmian i ulepszeń w projekcie korektora.

Usługi metadanych

Meta Data Services z SQL Server zapewnia przechowywanie i zarządzanie metadanymi systemu informacyjnego i aplikacji. Technologia ta służy jako centrum definicji danych i komponentów, modeli programowania i wdrażania, komponentów oprogramowania wielokrotnego użytku oraz opisów hurtowni danych. Ten produkt składa się z następujących komponentów: rdzeń repozytorium, narzędzia, API, standardowe modele informacji, przeglądarka i SDK (Software DevelopmentKit).
Meta Data Services to zbiór usług do zarządzania metadanymi. Aby pracować z usługami Microsoft Meta Data Services, musisz zrozumieć cechy metadanych. Metadane opisują strukturę i znaczenie danych, a także strukturę i znaczenie aplikacji i procesów. Pamiętaj, że metadane są abstrakcją, mają kontekst i są w stanie pełnić różne funkcje w środowisku programistycznym.
W rozwoju oprogramowania struktury aplikacji i baz danych, które reprezentują lub przechowują dane, można wyodrębnić w schematy klasyfikacji metadanych, które mają sens dla programistów i programistów. Tabela lub formularz pochodzi z jakiegoś obiektu, który z kolei może pochodzić z klasy.
Istnieje kilka poziomów abstrakcji metadanych. Można opisać instancję danych, a następnie - ten opis i tak dalej - kolejne opisy opisów aż do osiągnięcia pewnej praktycznej granicy. Zazwyczaj istnieją trzy poziomy abstrakcji do opisywania metadanych używanych w tworzeniu oprogramowania. Na przykład instancja danych „tabela wypożyczenia” może być reprezentowana jako tabela bazy danych, która z kolei jako obiekt tabeli należący do bazy danych, a wreszcie obiekt bazy danych tabeli jako klasa abstrakcyjna formalizująca ustalony zestaw cech, które wszystkie obiekty pochodne muszą być zgodne.
Rozróżnienie między danymi a metadanymi jest często utożsamiane z rozróżnieniem między typem a instancją. Modelarz definiuje typ (na przykład klasę lub relację), a programista definiuje instancję (na przykład klasę „tabela” lub relację „tabela-kolumny”).
Rozróżnienie między instancją a typem zależy od kontekstu. To, czym są metadane w jednym scenariuszu, może stać się danymi w innym scenariuszu. Na przykład w typowym systemie zarządzania relacyjnymi bazami danych katalog systemowy opisuje tabele i kolumny zawierające dane.
Dane katalogu systemowego można traktować jako metadane, ponieważ są to opisy definicji danych. Jednak przy użyciu odpowiedniego narzędzia programowego można nimi manipulować jak innymi danymi. Na przykład podczas przeglądania relacji danych, informacji o wersji tabeli lub identyfikowania wszystkich tabel z informacjami finansowymi przez wyszukiwanie kolumn walutowych typowe metadane (reprezentowane przez katalog systemowy) działają jako dane, którymi można manipulować.

Książki online

SQL Server Books Online to dokumentacja online dostarczana z SQL Server 2000. Aby znaleźć potrzebne informacje w SQL Server Books Online, wystarczy:

    przeglądać spis treści;

    przeszukaj indeks według słowa kluczowego;

    szukaj według słowa lub całej frazy.

SQL Server Books Online zawiera również pliki pomocy otwierane po kliknięciu przycisku Pomoc w oknie dialogowym lub naciśnięciu klawisza F1.
Książek SQL Server Books Online nie można w pełni otworzyć z dysku CD z programem SQL Server 2000 — należy go najpierw zainstalować na lokalnym dysku twardym. Sekcja dotycząca instalacji przewodnika wprowadzającego do programu Microsoft SQL Server 2000 nie zawiera informacji o niektórych zmianach wprowadzonych od czasu jego wydrukowania. Są one zawarte w dokumentacji SQL Server Books Online w pliku pomocy Instalatora programu SQL Server.
Aby zainstalować na dysku twardym tylko dokumentację SQL Server Books Online, należy wykonać niestandardową instalację składników SQL Server 2000 i wybrać tylko składnik Books Online. Jest to zbiór plików pomocy HTML, które wymagają przeglądania przez firmę Microsoft Internet Explorer wersja 5.0 lub nowsza. Można go pobrać ze strony http://www.microsoft.com/windows/ie/.

Narzędzia SQL Server 2000

SQL Server 2000 zawiera wiele narzędzi graficznych i wiersza polecenia. Przeznaczone są dla użytkowników, programistów oraz administratorów i pozwalają na rozwiązywanie szerokiego zakresu zadań, w tym:

    administrować i konfigurować SQL Server;

    Zdefiniuj informacje o katalogu dla kopii SQL Server

    zapytania projektowe i testowe;

    kopiować, importować, eksportować i przekształcać dane;

    wyświetlanie informacji diagnostycznych;

    uruchomić i zatrzymać SQL Server.

Narzędzia wiersza poleceń

Narzędzia wiersza polecenia są automatycznie instalowane podczas instalacji programu SQL Server 2000 na komputerze z systemem Windows 2000, Windows NT, Windows 95 lub Windows 98. W poniższej tabeli wymieniono narzędzia wiersza polecenia programu SQL Server oraz domyślne lokalizacje, w których są instalowane. Należy zauważyć, że kopia programu SQL Server 2000 jest domyślnie instalowana w podkatalogu o nazwie MSSQL. Każda nazwana instancja SQL Server 2000 zostanie zainstalowana w odpowiednim folderze o nazwie MSSQL $<имя_экземпляра>.

Narzędzia

Teczka

x: \ Program Files \ Microsoft SQL Server \ MSSQL \ Binn

x: \ Pliki programów \ Microsoft SQL Server \ 80 \ Narzędzia \ Binn

x: \ Pliki programów \ Microsoft SQL Server \ 80 \ Com

Podczas instalacji ścieżka do folderu x: \ Program Files \ Microsoft SQL Server \ 80 \ Tools \ Binn jest dodawana do ścieżki systemowej. Narzędzia znajdujące się w tym folderze można uruchomić z wiersza poleceń z dowolnego miejsca w drzewie katalogów. Narzędzie znajdujące się poza tym folderem należy uruchomić albo z katalogu, w którym jest zainstalowane, albo dodać ścieżkę do tego katalogu do ścieżki wyszukiwania systemu operacyjnego.
Następujące trzy narzędzia nie są już instalowane przez Instalatora programu SQL Server 2000:

W razie potrzeby można je uruchomić z folderu \ x86 \ Binn na instalacyjnym dysku CD programu SQL Server 2000 lub ręcznie skopiować na komputer. Opis dowolnego narzędzia wiersza polecenia z programu SQL Server 2000 można znaleźć w dokumentacji SQL Server Books Online.

Narzędzia GUI

SQL Server 2000 zawiera bogaty zestaw narzędzi graficznych do pracy i administrowania SQL Server. W tej sekcji pokrótce opisano wiele z nich. Ponadto w Books Online dostępne są informacje o wszystkich narzędziach GUI.

Menadżer przędsiębiorstwa

SQL Server Enterprise Manager jest głównym narzędziem administracyjnym dla SQL Server 2000 z interfejsem użytkownika zgodnym z MMC (Microsoft Management Console), który pozwala rozwiązać szereg zadań administracyjnych:

    zdefiniować grupy serwerów, na których działa SQL Server;

    zarejestrować poszczególne serwery w grupie;

    skonfigurować dowolne ustawienia SQL Server dla wszystkich zarejestrowanych serwerów;

    Tworzenie i administrowanie dowolnymi bazami danych, obiektami, identyfikatorami użytkowników, loginami i prawami dostępu do SQL Server na każdym z zarejestrowanych serwerów;

    zdefiniować i wykonać wszystkie zadania administracyjne SQL Server na każdym zarejestrowanym serwerze;

    interaktywnie konstruuj i testuj instrukcje, pakiety i skrypty SQL, wywołując narzędzie SQL Query Analyzer;

    wywoływać różne kreatory SQL Server.

MMC utrzymuje wspólny interfejs do zarządzania różnymi aplikacjami serwerowymi w sieci Microsoft Windows. Aplikacje serwera zawierają składnik, taki jak przystawka, która udostępnia użytkownikom programu MMC interfejs do zarządzania aplikacją serwera. SQL Server Enterprise Manager to przystawka MMC dla Microsoft SQL Server 2000.

Agent serwera SQL

Agent programu SQL Server działa na serwerze, na którym działa wystąpienie programu SQL Server 2000 lub wcześniejsze wersje programu SQL Server. SQL Server Agent jest odpowiedzialny za następujące zadania:

    Uruchom zadania programu SQL Server zaplanowane do uruchomienia w określonym czasie lub po określonym czasie;

    określenie specjalnych warunków, po wystąpieniu których konieczne jest wykonanie określonej przez administratora akcji, np. ostrzeżenie kogoś poprzez wysłanie wiadomości na pager lub e-mail, lub rozpoczęcie zadania spełniającego te warunki ;

    Uruchom zadania zdefiniowane przez administratora, które wykonują replikację.

Profiler SQL

SQL Profiler to narzędzie do rejestrowania zdarzeń programu SQL Server 2000. Zdarzenia są przechowywane w pliku śledzenia, który można później przeanalizować lub użyć do powtórzenia sekwencji kroków w celu zdiagnozowania problemu. SQL Profiler służy do:

    krok po kroku realizacja zgłoszeń problemów i identyfikacja źródła problemu;

    wyszukiwanie i diagnostyka powolnych zapytań;

    pisanie sekwencji instrukcji SQL prowadzących do problemów;

    monitorowanie wydajności SQL Server i regulowanie jego obciążenia.

SQL Profiler obsługuje również inspekcję akcji podejmowanych na instancjach SQL Server. Działania związane z bezpieczeństwem są zachowywane do późniejszego przeglądu przez administratora bezpieczeństwa.

Narzędzie sieciowe klienta

Sieć kliencka służy do zarządzania bibliotekami sieciowymi klientów i definiowania aliasów serwerów. Ponadto narzędzie to umożliwia ustawienie domyślnych opcji używanych przez aplikacje DB-Library.
Większość użytkowników nigdy nie będzie potrzebować narzędzia Client Network. Aby połączyć się z SQL Server 2000, wystarczy podać nazwę sieciową serwera, na którym działa SQL Server i (opcjonalnie) nazwę instancji SQL Server.

Narzędzie sieciowe serwera

Narzędzie Server Network służy do zarządzania bibliotekami sieciowymi serwera, a także umożliwia określenie:

    półki na książki protokoły sieciowe Używany przez wystąpienie SQL Server 2000 do nasłuchiwania żądań klientów.

    Kolejność, w jakiej serwery Net-Libraries określają, czy aplikacja nawiązuje połączenie.

    Nowy adresy sieciowe dla instancji SQL Server 2000 do nasłuchiwania żądań.

Większość administratorów również nigdy nie będzie potrzebować narzędzia Server Network. Mogą określić serwerowe biblioteki sieciowe podczas instalacji serwera.

Kierownik serwisu

Program SQL Server Service Manager jest przeznaczony do uruchamiania, zatrzymywania i wstrzymywania składników serwera SQL Server 2000. Te składniki działają jako usługi w systemie Microsoft Windows NT lub Windows 2000 oraz w systemach Windows 95 i Windows 98 jako oddzielne programy wykonywalne.

    Serwer SQL. Implementuje silnik bazy danych SQL Server. Dla każdego wystąpienia programu SQL Server uruchomionego na komputerze istnieje jedna usługa SQL Server.

    Agent serwera SQL. Implementuje agenta, który uruchamia zaplanowane zadania administracyjne programu SQL Server. Dla każdego wystąpienia programu SQL Server uruchomionego na komputerze istnieje jedna usługa agenta programu SQL Server.

    Microsoft Search (tylko Windows NT i Windows 2000). Implementuje wyszukiwarkę pełnotekstową. Istnieje jedna kopia, niezależnie od liczby wystąpień programu SQL Server na komputerze.

    MSDTC (tylko Windows NT i Windows 2000). Zarządza transakcjami rozproszonymi. Istnieje jedna kopia, niezależnie od liczby wystąpień programu SQL Server na komputerze.

    MSSQLServerOLAPService (tylko Windows NT i Windows 2000). Wdraża usługi analityczne. Istnieje jedna kopia, niezależnie od liczby wystąpień programu SQL Server na komputerze.

Okno Menedżera usług może być ukryte i reprezentowane przez ikonę na pasku zadań paska zadań. Aby wyświetlić menu z listą zadań obsługiwanych przez program Service Manager, kliknij prawym przyciskiem myszy ikonę na pasku zadań.

Analizator zapytań SQL

SQL Query Analyzer to narzędzie GUI przeznaczone do wielu różnych zadań:

    Twórz zapytania i skrypty SQL i wykonuj je w bazach danych SQL Server;

    tworzenie często używanych obiektów bazy danych w standardowych skryptach;

    kopiowanie istniejących obiektów bazy danych;

    wykonywanie procedur składowanych bez ustawiania ich parametrów;

    debugowanie procedur składowanych;

    debugowanie zapytań, które mają problemy z wydajnością;

    wyszukiwanie obiektów w bazach danych oraz przeglądanie i praca z obiektami;

    dodawanie, aktualizowanie i usuwanie wierszy w tabeli;

    definiowanie skrótów klawiaturowych do uruchamiania często używanych zapytań;

    dodawanie często używanych poleceń do menu Narzędzia.

Analizator zapytań SQL jest uruchamiany bezpośrednio z menu Start lub z SQL Server Enterprise Manager. Można go również uruchomić, wpisując polecenie isqlw w wierszu poleceń.

Wbudowane kreatory SQL Server 2000

SQL Server 2000 zawiera kilka kreatorów, które pomagają administratorom i programistom w złożonych zadaniach administracyjnych oraz pomagają wszystkim użytkownikom przeglądać i modyfikować informacje w bazach danych SQL Server. Szczegółowy opis tych kreatorów jest dostępny w dokumentacji SQL Server Books Online.

Streszczenie

SQL Server 2000 to wieloskładnikowy system zarządzania relacyjnymi bazami danych. Silnik bazy danych to nowoczesny, wysoce skalowalny silnik, który przechowuje dane w tabelach. SQL Server 2000 Replication umożliwia przechowywanie wielu kopii danych na wielu komputerach, aby poprawić ogólną wydajność systemu, zapewniając jednocześnie spójność wszystkich kopii. DTS (Data Transformation Services) jest przeznaczony do tworzenia hurtowni danych i baz danych w SQL Server poprzez regularne importowanie i przekształcanie (automatyczne lub interaktywne) danych z wielu heterogenicznych źródeł. Usługi Analysis Services zapewniają możliwości analizy danych w hurtowniach danych i kioskach. Za pomocą English Query możliwe jest tworzenie aplikacji, które dostosowują się do zadawanych przez użytkowników pytań. Meta Data Services umożliwia przechowywanie i zarządzanie metadanymi systemów informatycznych i aplikacji. Books Online to wbudowana dokumentacja online dostarczana z SQL Server 2000. SQL Server 2000 zawiera różnorodne narzędzia graficzne i narzędzia wiersza polecenia, które umożliwiają użytkownikom, programistom i administratorom wykonywanie różnorodnych zadań.

Lekcja 3. Przegląd architektury SQL Server 2000

Sprostanie wymaganiom stawianym obecnie przez korporacje i organizacje rządowe w zakresie warunków przechowywania i możliwości analizy danych jest bardzo trudne. SQL Server 2000 zawiera zestaw składników, które współpracują ze sobą, aby sprostać potrzebom największych systemów przetwarzania danych i komercyjnych witryn sieci Web. Jednocześnie jest w stanie zapewnić łatwe w obsłudze usługi magazynowania dla osób prywatnych i małych firm. W tej lekcji wprowadzimy Cię w architekturę SQL Server 2000 i pokażemy, jak różne komponenty współpracują ze sobą, aby efektywnie zarządzać danymi.

Po przestudiowaniu materiału z tej lekcji będziesz w stanie:

    Zdefiniuj różne składniki architektury SQL Server 2000 i opisz każdy z nich.

Czas trwania lekcji to około 30 minut.

Architektura bazy danych

W SQL Server 2000 informacje są przechowywane w bazach danych. Jest zorganizowana w logiczne komponenty dostępne dla użytkownika, a sama baza danych jest fizycznie zaimplementowana w postaci dwóch lub więcej plików na dysku. Uzyskując dostęp do bazy danych, masz do czynienia głównie z komponentami logicznymi (tabelami, widokami, procedurami i poświadczeniami). Fizyczna implementacja plików jest w dużej mierze przejrzysta. Zazwyczaj tylko administrator DBA współpracuje z fizyczną implementacją. Na ryc. 142 pokazuje różnice między sposobem prezentacji bazy danych użytkownikowi a jej fizyczną implementacją.
Każde wystąpienie programu SQL Server ma cztery systemowe bazy danych (master, tempdb, msdb i model) oraz co najmniej jedną bazę danych użytkownika. W niektórych organizacjach wszystkie dane znajdują się w jednej bazie danych użytkownika, podczas gdy w innych każda grupa ma własną bazę danych. Ponadto każda baza danych może mieć własną aplikację, która z niej korzysta. Na przykład w organizacji czasami oddzielna baza danych jest przeznaczona na rekordy sprzedaży, inna na listy płac, inna na aplikację biurową itd. Niektóre aplikacje korzystają tylko z jednej bazy danych, podczas gdy inne mogą uzyskiwać dostęp do kilku. Na ryc. 143 przedstawia system i wiele baz danych SQL Server użytkowników.

Nie jest konieczne uruchamianie wielu kopii aparatu bazy danych SQL Server, aby zapewnić dostęp do bazy danych na serwerze wielu użytkownikom. Pojedyncza instancja SQL Server Standard Edition lub Enterprise Edition może obsługiwać zapytania od tysięcy użytkowników jednocześnie pracujących z różnymi bazami danych. Każda instancja SQL Server udostępnia wszystkie swoje bazy danych każdemu, kto się z nią łączy (w zależności od zdefiniowanych dla niej praw dostępu).
Podczas łączenia się z instancją SQL Server połączenie jest skojarzone z konkretną bazą danych na serwerze. Ta baza danych nazywana jest aktualną. Zazwyczaj połączenie jest nawiązywane z domyślną bazą danych, którą definiuje administrator systemu. Jednak konfigurując parametry połączenia z interfejsu API bazy danych, można również zdefiniować inną bazę danych. Możesz przełączać się z jednej bazy danych do drugiej za pomocą instrukcji Transact SQL USE lub funkcji API, która zmienia bieżący kontekst bazy danych.
SQL Server 2000 umożliwia odłączenie bazy danych od jednej instancji SQL Server, a następnie dołączenie jej do innej instancji lub przywrócenie jej z powrotem. Jeśli masz plik z bazą danych, możesz poinstruować program SQL Server, aby dołączył ten plik podczas nawiązywania połączenia pod określoną nazwą.

Logiczne komponenty bazy danych

Logiczne składniki bazy danych obejmują obiekty, tryby mapowania, identyfikatory użytkowników, nazwy kont, role i grupy.

Obiekty bazy danych

Dane programu SQL Server 2000 są zorganizowane przy użyciu kilku różnych obiektów, które są dostępne dla użytkowników, gdy łączą się z bazą danych. Krótki opis W poniższej tabeli przedstawiono główne obiekty bazy danych. Obiekty te omówiono bardziej szczegółowo w kolejnych rozdziałach.

Obiekt

Opis

Dwuwymiarowy obiekt wierszy i kolumn służący do przechowywania danych w relacyjnej bazie danych. Każda tabela przechowuje informacje o jednym z typów obiektów modelowanych przez bazę danych. Na przykład w bazie danych instytucji edukacyjnej jedna tabela może zawierać informacje o nauczycielach, druga o uczniach, a trzecia o planie lekcji.

Typ danych

Atrybut określający typ informacji, które mogą być przechowywane w kolumnie, parametrze lub zmiennej. SQL Server obsługuje kilka typów danych systemowych; oprócz nich dozwolone jest tworzenie niestandardowych typów danych

Wydajność

Obiekt bazy danych, do którego można odwoływać się w instrukcjach SQL w taki sam sposób, jak do tabeli. Widoki są definiowane za pomocą instrukcji SQL i są analogiczne do obiektów zawierających zestawy wyników uzyskane podczas wykonywania tych instrukcji

Procedura składowana

Skompilowany zestaw instrukcji Transact-SQL przechowywanych pod określoną nazwą i przetwarzanych jako pojedyncza jednostka. SQL Server udostępnia procedury składowane do zarządzania SQL Server oraz wyświetlania informacji o bazie danych i użytkownikach. Nazywane są systemowymi procedurami składowanymi

Fragment kodu, który działa jako pojedyncza jednostka logiczna. Funkcję można wywoływać według nazwy i dozwolonych jest szereg opcjonalnych parametrów wejściowych. Zwraca informacje o stanie i opcjonalne wartości wyjściowe. Funkcje są obsługiwane przez wiele języków programowania, w tym C, Visual Basic i Transact SQL. Transact SQL ma wiele wbudowanych funkcji, których nie można zmienić, a także obsługuje funkcje tworzone i modyfikowane przez użytkowników.

Obiekt relacyjnej bazy danych, który zapewnia szybki dostęp do wierszy tabeli na podstawie wartości kluczy, a także unikatowości wierszy w tabeli. SQL Server obsługuje zarówno indeksy klastrowane, jak i nieklastrowane. Klucz podstawowy tabeli jest indeksowany automatycznie. Wyszukiwanie pełnotekstowe przechowuje informacje o słowach kluczowych i ich lokalizacji w danej kolumnie w indeksie pełnotekstowym.

Ograniczenie

Właściwość przypisana do kolumny w tabeli, która zapobiega dodawaniu do kolumny nieprawidłowych danych. Na przykład ograniczenia UNIQUE lub PRIMARY_KEY zapobiegają zastępowaniu istniejących wartości. Ograniczenie CHECK uniemożliwia wprowadzenie wartości, która nie pasuje do kryterium wyszukiwania, a NOT NULL - pusta wartość

Obiekt bazy danych powiązany z kolumnami lub niestandardowymi typami danych, który określa wartości danych, które są dopuszczalne w danej kolumnie. Lepiej używać ograniczeń CHECK, które zapewniają taką samą funkcjonalność i są zgodne ze standardem SQL-92

Domyślny

Wartość, która jest automatycznie przypisywana przez system do danych, parametru, trybu sortowania lub nazwy, jeśli nie została określona przez użytkownika. Określa również akcję, która jest automatycznie wykonywana na określonych zdarzeniach w przypadku braku akcji zdefiniowanych przez użytkownika

Procedura składowana do wykonania w przypadku modyfikacji danych w określonej tabeli. Wyzwalacze są często tworzone w celu zachowania integralności referencyjnej lub spójności logicznie powiązanych danych w różnych tabelach.

Tryby dopasowania

Tryby sortowania definiują fizyczną strukturę ciągów znaków w SQL Server 2000. Określają one wzorce bitowe reprezentujące każdy znak, jak również reguły sortowania i porównywania znaków.
Różne obiekty w tej samej bazie danych SQL Server 2000 mogą używać różnych trybów sortowania. SQL Server 2000 umożliwia określenie oddzielnych trybów sortowania aż do poziomu kolumny i przypisanie różnych trybów sortowania do każdej kolumny w tabeli. Wcześniejsze wersje programu SQL Server obsługują tylko jeden tryb sortowania dla każdego wystąpienia programu SQL Server. Wszystkie bazy danych i ich obiekty utworzone w wystąpieniu programu SQL Server 7.0 lub starszego mają ten sam tryb mapowania.
SQL Server 2000 obsługuje kilka trybów sortowania, które definiują reguły znaków dla języka (na przykład macedońskiego lub polskiego) lub dla alfabetu (na przykład Latin1_General, dla alfabetu łacińskiego, który jest podstawą pisania narodów Europy Zachodniej) .
Każdy tryb mapowania SQL Server definiuje trzy właściwości:

    porządek sortowania Dane Unicode-typy (nchar, nvarchar i ntext);

    porządek sortowania danych innych niż Unicode (znak, varchar i tekst);

    strona kodowa do przechowywania danych znakowych w formacie innym niż Unicode.

NOTATKA

W przypadku typów danych Unicode (nchar, nvarchar i ntext) nie można ustawić odpowiednika strony kodowej. Kombinacje dwubajtowe używane do kodowania znaków Unicode są zdefiniowane przez standard Unicode i nie można ich zmienić.

Tryby sortowania SQL Server 2000 są ustawiane na dowolnym poziomie. Podczas instalacji można ustawić domyślne tryby mapowania dla wystąpienia SQL Server 2000. Tworząc bazę danych, należy ustawić dla niej domyślne tryby sortowania; jeśli nie zostanie to zrobione, domyślnymi trybami sortowania dla bazy danych są te zdefiniowane dla instancji. Podczas definiowania każdej kolumny znakowej, zmiennej lub parametru można określić domyślne tryby sortowania. Jeśli nie zostanie to zrobione, domyślne tryby mapowania dla bazy danych zostaną przyjęte podczas tworzenia obiektu.
Identyfikatory użytkowników, konta, role i grupy Mechanizmy bezpieczeństwa w SQL Server 2000 są oparte na identyfikatorach użytkowników, nazwach kont, rolach i grupach. Użytkownicy łączący się z SQL Server muszą podać swój identyfikator. Będą wtedy mogli wyświetlać tylko te tabele i uruchamiać tylko te procedury składowane i funkcje administracyjne, do których mają odpowiednie uprawnienia. Ten system bezpieczeństwa opiera się na wykorzystaniu identyfikatorów użytkowników. Wszystkie rodzaje mechanizmów bezpieczeństwa zostały opisane w poniższej tabeli.

Mechanizm bezpieczeństwa

Opis

Identyfikatory

Identyfikatory są kojarzone z użytkownikami, użytkownikami, gdy łączą się z SQL Server 2000. Identyfikatory to nazwy kont kontrolujących dostęp do systemu SQL Server. Użytkownik nie będzie mógł połączyć się z serwerem SQL bez wcześniejszego podania prawidłowego identyfikatora. Identyfikatory są ustalane przez członków stałej roli serwera sysadmin

Nazwy kont

Umożliwia identyfikację użytkowników w bazie danych. Wszystkie prawa dostępu i własność obiektów bazy danych są kontrolowane na podstawie nazwy konta. Konta użytkowników są unikalne dla bazy danych, na przykład nazwa konta xyz w bazie danych sprzedaży różni się od nazwy konta xyz w bazie danych magazynu, chociaż oba konta mają ten sam identyfikator. Konta są definiowane przez członków stałej roli bazy danych db_owner

Rola ta przypomina grupę użytkowników domeny Windows 2000. Umożliwia grupowanie użytkowników w grupę, a tym samym stosowanie praw dostępu do tych użytkowników jako całości. Nadawanie praw dostępu, odmowa ich przyznania, odbieranie praw dostępu odbywa się również w stosunku do wszystkich członków roli. Możesz ustawić rolę opisującą zadania do wykonania przez osoby w Twojej organizacji na określonym stanowisku i nadać tej roli odpowiednie prawa dostępu. Po połączeniu z tą pracą nowy pracownik jest po prostu dodawany do członków roli. Gdy pracownik przestanie wykonywać to zadanie, może zostać usunięty z roli. Jeśli jest ich kilka, nie musisz wielokrotnie nadawać, odmawiać i odbierać praw dostępu do każdego z nich. Prawa dostępu są stosowane automatycznie, gdy tylko użytkownik stanie się członkiem roli. Rola jest podobna do grupy bezpieczeństwa Windows

W SQL Server 2000 i SQL Server 7.0 nie ma grup. Jednak bezpieczeństwem SQL Server można zarządzać na poziomie całej grupy Windows NT lub Windows 2000.

Fizyczna struktura bazy danych

W tej sekcji opisano sposób organizacji plików i baz danych programu SQL Server 2000. Należy zauważyć, że różnią się one w przypadku programów SQL Server 2000 i SQL Server 7 niż w przypadku programu SQL Server 6.5 i wcześniejszych.

Strony i zakresy

Główną jednostką przechowywania danych w SQL Server jest strona. W SQL Server 2000 rozmiar strony wynosi 8 KB. Innymi słowy, bazy danych SQL Server 2000 mają 128 stron na MB. Na początku każdej strony znajduje się 96-bajtowy nagłówek, który służy do przechowywania informacji systemowych, takich jak typ strony, rozmiar wolna przestrzeń na stronie, a także identyfikator obiektu, do którego należy strona.
Strony zawierają ciągi danych (z wyjątkiem danych tekstowych, ntext i obrazów, które są przechowywane na osobnych stronach). Dane są umieszczane na stronie sekwencyjnie i rozpoczynają się bezpośrednio po nagłówku. Na końcu strony znajduje się tabela przesunięć linii. Zawiera jeden element dla każdego wiersza na stronie; każdy element rejestruje odległość pierwszego bajtu wiersza od początku strony. Jak pokazano na ryc. 144, kolejność elementów tabeli przesunięć wierszy jest odwrotna do kolejności wierszy strony.
Rozszerzenia to jednostka alokacji pamięci dla tabel i indeksów. Rozmiar ekstentu to osiem kolejnych stron, czyli 64 kb. Innymi słowy, bazy danych SQL Server 2000 mają 16 przydziałów na MB.

Aby poprawić wydajność alokacji pamięci, SQL Server 2000 nie przydziela całych zakresów dla tabel z małymi ilościami danych. W SQL Server 2000 istnieją dwa typy przydziałów:

Przestrzeń jest zwykle przydzielana na nowe tabele lub indeksy w różnych zakresach. Gdy rozmiar tabeli lub indeksu wzrasta Aby poprawić wydajność alokacji pamięci, SQL Server 2000 nie przydziela całych zakresów tabelom z małymi ilościami danych. W SQL Server 2000 istnieją dwa typy przydziałów:

    jednorodne zakresy należące do tego samego obiektu; tylko właściciel obiektu może wykorzystać wszystkie osiem stron zakresu;

    zakresy mieszane, które mogą mieć do ośmiu obiektów właściciela.

Przestrzeń jest zwykle przydzielana na nowe tabele lub indeksy w różnych zakresach. Gdy tabela lub indeks rozrasta się na tyle, że wymaga ośmiu stron, zaczyna używać jednolitych przydziałów. Jeśli utworzysz indeks w istniejącej tabeli, która ma wystarczającą liczbę wierszy, aby wygenerować indeks ośmiostronicowy, cała pamięć dla indeksu jest przydzielana w jednolitych zakresach.

Pliki bazy danych i grupy plików

Baza danych w SQL Server 2000 odpowiada zestawowi plików systemu operacyjnego. Dzienniki danych i transakcji nigdy nie są umieszczane w tym samym pliku, a każdy pojedynczy plik jest używany tylko przez jedną bazę danych.
W bazach danych SQL Server 2000 używane są trzy typy plików:

    Główny plik danych. Baza danych zaczyna się od głównego pliku danych, który wskazuje na inne pliki bazy danych. Każda baza danych ma tylko jeden główny plik danych. Zaleca się używanie rozszerzenia .mdf dla podstawowych plików danych.

    Dodatkowe pliki danych. Są to wszystkie pliki danych z wyjątkiem głównego. Niektóre bazy danych w ogóle nie zawierają żadnych dodatkowych plików danych, podczas gdy inne mają ich kilka. Zalecamy używanie rozszerzenia .ndf dla dodatkowych plików danych.

    Pliki dziennika. Zawierają wszystkie informacje z dziennika używane do odzyskania bazy danych. Każda baza danych musi mieć co najmniej jeden plik dziennika, chociaż dozwolone są więcej. Dla plików dziennika zalecane jest rozszerzenie .ldf.

Alokacja i ponowne wykorzystanie pamięci

SQL Server 2000 wydajnie wykonuje szybką alokację stron dla obiektów i ponowne wykorzystanie pamięci wolnej od usuwania wierszy. Operacje te są wewnętrzne w systemie i wykorzystują struktury danych, które są niewidoczne dla użytkownika, chociaż są one przywoływane w komunikatach SQL Server.
SQL Server używa dwóch typów map dystrybucji do przechowywania informacji o dystrybucji zasięgu:

    Globalna mapa alokacji (GAM). Przydzielone zakresy są rejestrowane na stronach GAM. Każdy GAM zawiera informacje dotyczące ponad 64 000 zakresów (lub około 4 GB danych). W GAM jest jeden bit na każdy stopień. Jeśli wynosi 1, zakres jest wolny, jeśli wynosi 0, jest zajęty.

    Udostępniona globalna mapa alokacji (SGAM). Strony SGAM rejestrują zakresy, które są ten moment są używane jako mieszane i mają co najmniej jedną wolną stronę. Każdy SGAM zawiera informacje o 64 000 zakresach (lub około 4 GB danych). W SGAM jest jeden bit na każdy zakres. Jeśli wynosi 1, zakres jest używany jako mieszany i zawiera wolne strony. Jeśli bit wynosi 0, zakres nie jest używany jako zakres mieszany, a jeśli jest używany jako zakres mieszany, wszystkie jego strony są zajęte.

Struktura tabel i indeksów

SQL Server 2000 obsługuje indeksy widoków. Pierwszy indeks widoku musi być zgrupowany. Po wykonaniu instrukcji CREATE INDEX w widoku zestaw wyników dla tego widoku jest przechowywany w bazie danych przy użyciu struktury podobnej do tabeli indeksów klastrowych.
Wiersze danych dla każdej tabeli lub indeksowanego widoku są przechowywane w zestawie stron danych 8K. Każda strona danych ma 96-bajtowy nagłówek, który zawiera informacje o systemie, takie jak identyfikator tabeli, do której należy strona. Jeśli korzystasz ze stron połączonych, nagłówek strony zawiera również wskaźniki do poprzedniej i następnej strony. Na końcu strony znajduje się tabela przesunięć linii. Reszta strony jest wypełniona liniami danych, jak pokazano na ryc. 145.


Tabele programu SQL Server 2000 organizują strony danych przy użyciu jednej z dwóch metod: tabel klastrowych lub stert.

    Zgrupowane tabele. Są to tabele indeksów klastrowych. Wiersze danych są przechowywane w kolejności określonej przez klucz indeksu klastrowego. Indeks jest zaimplementowany jako drzewo zrównoważone (drzewo B), które obsługuje szybkie pobieranie wierszy na podstawie wartości ich klucza indeksu klastrowego. Strony na każdym poziomie indeksu, w tym strony na poziomie liścia drzewa, są połączone na podwójnie połączonej liście, ale przejście z jednego poziomu na drugi odbywa się za pomocą klucza.

    Sterty. Są to tabele bez indeksu klastrowego. Linie danych są przechowywane w dowolnej kolejności, a sekwencja stron danych również nie jest uporządkowana. Strony danych nie są zorganizowane na połączonej liście.
    Struktura widoków indeksowanych jest podobna do struktury tabel klastrowych.

SQL Server obsługuje również do 249 indeksów nieklastrowanych w dowolnej tabeli lub widoku indeksowanym. Indeksy nieklastrowane również mają strukturę B-drzewa, ale używają jej inaczej niż indeksy klastrowe. Różnica polega na tym, że indeksy nieklastrowane nie wpływają na kolejność wierszy. Tabele klastrowane i widoki indeksowane przechowują wiersze danych w kolejności określonej przez klucz indeksu klastrowanego. Indeksy nieklastrowane zdefiniowane w tabeli nie wpływają na gromadzenie stron danych sterty. Strony danych pozostają na stercie do momentu ustalenia indeksu klastrowego.

Struktura dziennika transakcji

Każda baza danych SQL Server 2000 posiada dziennik transakcji, który rejestruje wszystkie transakcje i modyfikacje bazy danych dokonane podczas każdej transakcji. Rejestracja transakcji i dokonywanych w ich trakcie modyfikacji służy do wykonania trzech operacji:

    odzyskiwanie poszczególnych transakcji;

    odzyskiwanie niekompletnych transakcji podczas uruchamiania SQL Server;

    powtarzanie operacji na przywróconej bazie danych aż do momentu awarii.

Architektura relacyjnego silnika bazy danych

Składniki serwera SQL Server 2000 odbierają instrukcje SQL od klientów i przetwarzają je. Na ryc. 146 przedstawia główne komponenty zaangażowane w przetwarzanie instrukcji SQL otrzymanej od klienta SQL Server.

Protokół TDS

Klienci wysyłają instrukcje SQL przy użyciu protokołu warstwy aplikacji programu SQL Server o nazwie Tabular Data Stream (TDS). SQL Server 2000 współpracuje z następującymi wersjami TDS:

    TDS 8.0 — Używany przez klientów korzystających ze składników klienta SQL Server 2000. Klienci TDS 8.0 obsługują wszystkie funkcje SQL Server 2000;

    TDS 7.0 — używany przez klientów korzystających ze składników klienta programu SQL Server 7.0. Klienci TDS 7.0 nie obsługują nowych funkcji SQL Server 2000, co czasami zmusza serwer do odpowiedniego dostosowania danych odsyłanych do tych klientów;

    TDS 4.2 — używane przez klientów korzystających ze składników klienta programu SQL Server 6.5, 6.0 i 4.21a. Klienci TDS 4.2 nie obsługują nowych funkcji dodanych w SQL Server 2000 i 7.0. Zmusza również serwer do okazjonalnego korygowania danych, które wysyła z powrotem do tych klientów.

Biblioteki serwerów Net-Library

Pakiety TDS są tworzone przez składnik Microsoft OLE DB Access dla programu SQL Server, sterownik ODBC (Open Database Connectivity) programu SQL Server lub bibliotekę dołączaną dynamicznie (DLL) biblioteki DB-Library. Pakiety TDS są następnie przekazywane do biblioteki klienta SQL Server Net-Library, która hermetyzuje je w pakietach protokołu sieciowego. Na serwerze biblioteka serwera Net-Library odbiera pakiety sieciowe, wyodrębnia z nich pakiety TDS i przekazuje je do silnika relacyjnej bazy danych. Zwracając wyniki klientów, proces ten przebiega w odwrotnym kierunku. Każdy serwer jest w stanie monitorować wiele protokołów sieciowych jednocześnie i utrzymuje jedną bibliotekę sieciową dla każdego monitorowanego protokołu.

Silnik relacyjnej bazy danych

Serwer bazy danych obsługuje wszystkie żądania, które przekazują do niego biblioteki serwera Net-Library. Serwer następnie kompiluje wszystkie instrukcje SQL w plany wykonania, których używa, aby uzyskać dostęp do żądanych danych i zbudować zestaw wyników zwracany do klienta. Silnik relacyjnej bazy danych SQL Server 2000 składa się z dwóch głównych części: silnika relacyjnego i silnika magazynu. Jedną z najważniejszych zmian architektonicznych wprowadzonych w SQL Server 7.0 (i przeniesionych do SQL Server 2000) jest ścisłe oddzielenie komponentów serwera, takich jak silnik relacyjny i silnik pamięci masowej, oraz wykorzystanie przez nie interfejsów API OLE DB do komunikowania się ze sobą, jak pokazano na ryc. 147.

Poproś o architekturę procesora

Wyrażenia SQL są jedynym rodzajem poleceń, które aplikacje wysyłają do SQL Server 2000. Cała praca wykonywana przez instancję SQL Server jest wynikiem przetwarzania przez nią instrukcji SQL (pobieranie, interpretowanie i bezpośrednie wykonywanie). SQL Server 2000 wykonuje instrukcje SQL przy użyciu jednego z następujących procesów:

    przetwarzanie pojedynczej instrukcji SQL;

    przetwarzanie wsadowe;

    wykonanie procedury składowanej lub wyzwalacza;

    buforowanie i ponowne wykorzystanie planu wykonania;

    równoległe przetwarzanie wniosków.

Architektura pamięci

SQL Server 2000 dynamicznie przydziela i zwalnia pamięć zgodnie z potrzebami. Z reguły administrator nie musi określać, ile pamięci ma zaalokować dla SQL Server, chociaż ta opcja jest nadal dostępna i w niektórych środowiskach może być konieczna. Gdy wiele wystąpień programu SQL Server działa na tym samym komputerze, każde wystąpienie może dynamicznie przydzielać i zwalniać pamięć zgodnie z jej obciążeniem. SQL Server 2000 Enterprise Edition obsługuje korzystanie z Windows 2000 AWE (Address Windowing Extensions), który umożliwia instancjom z systemem Windows 2000 Advanced Server adresowanie około 8 GB pamięci, a tym, które korzystają z systemu Windows 2000 Data Center, około 64 GB. Jednak każde wystąpienie korzystające z tej dodatkowej pamięci musi statycznie przydzielić wymaganą pamięć.

Wejście: architektura wyjściowa

Głównym celem bazy danych jest przechowywanie i pobieranie danych, dlatego wykonywanie wielu operacji odczytu/zapisu na dysku jest jednym z podstawowych atrybutów silnika bazy danych. Dyskowe operacje wejścia/wyjścia wymagają dużej ilości zasobów i są stosunkowo czasochłonne. Wiele logiki w relacyjnym oprogramowaniu DBMS służy do poprawy wydajności operacji we / wy.
SQL Server 2000 alokuje znaczną część swojej pamięci wirtualnej do bufora pamięci podręcznej i używa tej pamięci podręcznej do ograniczenia fizycznych operacji we/wy. Każda instancja SQL Server 2000 ma swój własny bufor pamięci podręcznej. Dane są odczytywane z plików dyskowych bazy danych do bufora pamięci podręcznej. Kilka logicznych operacji odczytu można wykonać bez wielokrotnych fizycznych odczytów danych. Dane pozostają w pamięci podręcznej, dopóki nie zostanie wywołane przez pewien czas lub do momentu, gdy potrzebna jest wolna pamięć buforowa do odczytania następnej porcji danych. Są zapisywane na dysku dopiero po modyfikacji. Dane mogą być modyfikowane wielokrotnie za pomocą logicznych operacji zapisu, zanim zostaną zaktualizowane przez fizyczny zapis na dysku.
We/Wy wykonywane przez instancję SQL Server są klasyfikowane jako logiczne i fizyczne. Odczyt logiczny następuje za każdym razem, gdy aparat bazy danych żąda strony z bufora pamięci podręcznej. Jeśli strona nie znajduje się obecnie w buforze pamięci podręcznej, wykonywany jest odczyt fizyczny w celu wczytania strony do bufora pamięci podręcznej. Jeśli strona znajduje się obecnie w pamięci podręcznej, nie jest wykonywana żadna operacja fizycznego odczytu — bufor pamięci podręcznej używa strony, która już znajduje się w pamięci. Podczas modyfikowania danych strony znajdującej się w pamięci następuje logiczna operacja zapisu. Kiedy strona jest zapisywana na dysku, wykonywana jest fizyczna operacja zapisu. Strona może długo pozostawać w pamięci; na przykład kilka logicznych zapisów jest czasami wykonywanych przed fizycznym zapisem na dysku.

Architektura zapytań pełnotekstowych

Funkcja SQL Server 2000 Full-Text Query obsługuje zaawansowane wyszukiwanie w kolumnach ciągów znaków. Te możliwości są implementowane przez Microsoft Search, który ma dwie funkcje: obsługę indeksowania i obsługę zapytań.

    Wsparcie indeksowania. Usługa implementuje katalogi pełnotekstowe i indeksy zdefiniowane dla bazy danych. Microsoft Search akceptuje definicje wykazów pełnotekstowych oraz tabele i kolumny, które tworzą indeksy każdego wykazu. To narzędzie implementuje również zapytania do wypełniania indeksów pełnotekstowych.

    Wsparcie dla zapytań. Usługa przetwarza zapytania wyszukiwania pełnotekstowego i identyfikuje wpisy indeksu spełniające kryteria wyszukiwania. Dla każdego elementu, który spełnia kryteria, zwracany jest unikalny identyfikator wiersza, a także wartość rankingu dla usługi MSSQLServer, która wykorzystuje te informacje do budowania zestawu wyników. Obsługiwane typy zapytań obejmują wyszukiwanie słów i fraz, przybliżone dopasowania słów oraz różne odmiany i koniugacje czasowników i rzeczowników.

Organizacja transakcji

SQL Server 2000 zarządza spójnością i integralnością każdej bazy danych w przypadku napotkania błędów. Każda aplikacja, która aktualizuje informacje w bazie danych SQL Server, robi to za pomocą transakcji. Transakcja to logiczna jednostka pracy składająca się z sekwencji instrukcji (pobierz, dodaj, zaktualizuj lub usuń). Jeżeli podczas transakcji nie wystąpiły żadne błędy, wszystkie zmiany w bazie danych dokonane w wyniku transakcji są trwałe. W przypadku wystąpienia błędów w bazie danych nie są wprowadzane żadne zmiany.
Transakcja ma kilka faz.

    Baza danych jest w stanie spójnym przed rozpoczęciem transakcji.

    Aplikacja ogłasza rozpoczęcie transakcji. Ten proces można zainicjować jawnie za pomocą instrukcji BEGIN TRANSACTION. Alternatywnie aplikacja może ustawić parametry do działania w niejawnym trybie transakcji. Pierwsza instrukcja Transact SQL wykonana po zakończeniu poprzedniej transakcji automatycznie uruchamia nową transakcję. Na początku transakcji w dzienniku nie są zapisywane żadne wpisy; pierwszy wpis dziennika pojawia się, gdy dane są modyfikowane.

    Aplikacja rozpocznie modyfikację danych. Modyfikacje tabel dokonywane są pojedynczo. W przypadku przeprowadzenia serii modyfikacji wynikowa baza danych może przez pewien czas pozostawać w niespójnym stanie pośrednim.

    Gdy aplikacja osiągnie etap, w którym wszystkie modyfikacje zakończyły się pomyślnie, a baza danych jest ponownie w spójnym stanie, aplikacja zatwierdza transakcję. W tym momencie wszystkie modyfikacje wprowadzone do bazy danych stają się trwałe.

    Jeśli aplikacja napotka błędy, które uniemożliwiają zakończenie transakcji, wycofuje (wycofuje) wszystkie modyfikacje danych. Ten proces przywraca bazę danych do punktu spójności, w którym znajdowała się przed rozpoczęciem transakcji.

Aplikacje SQL Server mogą również działać w trybie automatycznego zatwierdzania. W tym trybie wykonanie każdej instrukcji Transact SQL jest zatwierdzane, jeśli się powiedzie, lub automatycznie wycofywane, jeśli wystąpi błąd. Aplikacja działająca w trybie automatycznego zatwierdzania nie musi używać specjalnych operatorów do rozpoczynania i kończenia transakcji.
Wszystkie instrukcje Transact SQL są wykonywane w ramach transakcji: jawnej, niejawnej lub automatycznie zatwierdzanej. Wszystkie transakcje programu SQL Server obejmujące operacje modyfikacji danych osiągają nowy punkt spójności i są zatwierdzane lub przywracane do pierwotnego punktu spójności. Transakcje nie pozostają w stanie pośrednim, w którym baza danych jest niespójna.

Zasady administracji

W każdym Nowa wersja SQL Server próbuje zautomatyzować lub wyeliminować powtarzające się operacje wykonywane przez administratorów baz danych. Dzięki temu administratorzy mogą poświęcić więcej czasu na tworzenie baz danych i rozwiązywanie problemów z dostępem aplikacji do danych.
Wiele składników SQL Server 2000 przyczynia się do efektywnej administracji.

    SQL Server 2000 Database Server zmniejsza obciążenie administracyjne w wielu środowiskach poprzez dynamiczne przejmowanie i zwalnianie zasobów. Serwer automatycznie przydziela zasoby systemowe (pamięć i miejsce na dysku) i zwalnia je, gdy nie są już potrzebne. Duże systemy OLTP, dla których pewien poziom wydajności jest krytyczny, nadal wymagają wykwalifikowanej administracji, ale w przypadku systemów stacjonarnych lub małych grup roboczych SQL Server 2000 umożliwia implementację małych baz danych, które nie wymagają stałej uwagi administracyjnej.

    SQL Server 2000 zawiera zestaw graficznych narzędzi pomagających administratorom w efektywnym rozwiązywaniu ich zadań.

    SQL Server 2000 obsługuje zestaw usług, których administratorzy mogą używać do planowania automatycznego wykonywania powtarzających się zadań.

    SQL Server 2000 zapewnia programowanie serwera do obsługi wyjątków lub przynajmniej wysyłania wiadomości e-mail lub pagera do administratora na wezwanie.

    SQL Server 2000 zapewnia dostęp do tych samych administracyjnych interfejsów API, które są używane przez narzędzia SQL Server. Te interfejsy API obsługują wszystkie zadania administracyjne programu SQL Server. Ta funkcjonalność pozwala programistom aplikacji używających SQL Server 2000 jako hurtowni danych na całkowite wyeliminowanie obciążeń związanych z administrowaniem SQL Server 2000 dla użytkowników.

Język definicji danych, język manipulacji danymi i procedury przechowywane

Każda aplikacja wysyła wszystkie polecenia SQL Server 2000 w Transact SQL. Transact SQL zawiera instrukcje obsługujące wszelkiego rodzaju prace administracyjne wykonywane w SQL Server. Operatory te można podzielić na dwie kategorie.

    Język definicji danych / język manipulacji danymi. Język definicji danych (DDL) służy do definiowania i zarządzania wszystkimi obiektami bazy danych SQL. Język manipulacji danymi (DML) służy do pobierania, dodawania, aktualizowania i usuwania danych w obiektach zdefiniowanych za pomocą języka DDL. Transact SQL DDL, który służy do manipulowania obiektami, takimi jak bazy danych, tabele i widoki, jest oparty na instrukcjach SQL-92 DDL (z rozszerzeniami). Zwykle dla każdej klasy obiektów, takich jak CREATE TABLE, ALTER TABLE i DROP TABLE, występują instrukcje CREATE, ALTER i DROP. Prawa dostępu są kontrolowane przez instrukcje GRANT i REVOKE SQL-92 oraz instrukcje Transact SQL DENY.

    Procedury składowane w systemie. Zadania administracyjne wykraczające poza możliwości SQL-92 DDL i DML są zazwyczaj wykonywane przy użyciu systemowych procedur składowanych. Procedury te noszą nazwy sp_ lub xp_ i są instalowane podczas instalacji programu SQL Server.

Infrastruktura zarządzania rozproszonego SQL

SQL Distributed Management Framework (SQL-DMF) jest zintegrowany i składa się z obiektów, usług i komponentów używanych do zarządzania SQL Server 2000. SQL-DMF to elastyczny i skalowalny model, który można dostosować do potrzeb Twojej organizacji. To narzędzie zmniejsza potrzebę obecności użytkownika w przypadku niektórych zadań, takich jak tworzenie kopii zapasowych baz danych i alarmowanie, dzięki obsłudze usług, które współdziałają bezpośrednio z SQL Server 2000.
Kluczowe składniki SQL-DMF obsługują proaktywne zarządzanie instancjami SQL Server w sieci, identyfikując następujące informacje:

    wszystkie obiekty SQL Server i prawa dostępu do nich;

    powtarzające się czynności administracyjne do wykonania w określonych odstępach czasu;

    działania naprawcze, które należy podjąć, gdy wystąpią określone warunki.

Główne składniki SQL-DMF pokazano na rys. 148.

Narzędzia graficzne

SQL Server 2000 zawiera wiele graficznych narzędzi ułatwiających użytkownikom, programistom i administratorom wykonywanie następujących zadań:

    administrować i konfigurować SQL Server;

    Zdefiniuj informacje o katalogu dla instancji SQL Server

    tworzyć i testować zapytania do selekcji danych.

Oprócz tych narzędzi SQL Server zawiera kilka kreatorów pomagających administratorom i programistom w bardziej złożonych zadaniach administracyjnych.

Zautomatyzowana administracja

SQL Server 2000 udostępnia szereg funkcji, które umożliwiają administratorom zaprogramowanie serwera tak, aby sam administrował podczas wykonywania wielu powtarzalnych czynności lub sytuacji wyjątkowych. Ta funkcja pozwala administratorom poświęcić więcej czasu na inne zadania, takie jak tworzenie baz danych i praca z programistami w celu tworzenia skutecznych technik programowania dostępu do baz danych. Każdy dostawca aplikacji może wybrać SQL Server jako składnik pamięci masowej, a tym samym zminimalizować potrzebę administracyjną swoich klientów, automatyzując zadania administracyjne.
Możliwości automatyzacji nie ograniczają się do zadań administracyjnych baz danych, takich jak planowanie kopii zapasowych. Pozwalają również zautomatyzować transakcje biznesowe obsługiwane przez bazę danych. Możesz zaplanować uruchamianie aplikacji w określonych godzinach lub w określonych odstępach czasu. Niektóre warunki, które pojawiły się w systemie, są w stanie zainicjować uruchomienie tych aplikacji w przypadkach, gdy muszą one zostać wykonane przed określonym czasem.
Narzędzia wspierające automatyzację zadań administracyjnych obejmują agenta SQL Server, zadania, zdarzenia i alerty, operatory i wyzwalacze.

Kopii zapasowych i odzyskiwania

Komponenty tworzenia kopii zapasowych i przywracania danych SQL Server 2000 umożliwiają tworzenie kopii bazy danych. Lokalizacja przechowywania tej kopii jest chroniona przed potencjalnymi awariami serwera, na którym działa wystąpienie programu SQL Server. Jeśli na serwerze, na którym działa instancja SQL Server, wystąpi awaria bazy danych lub jakiś rodzaj uszkodzenia, do odtworzenia lub przywrócenia bazy danych zostanie użyta kopia zapasowa.

Import/eksport danych

SQL Server 2000 zawiera kilka składników obsługujących import i eksport danych: DTS, replikację, kopiowanie zbiorcze i zapytania rozproszone.

DTS

DTS (Data Transformation Services) umożliwia importowanie i eksportowanie danych między heterogenicznymi źródłami OLE DB i ODBC. Pakiet DTS określa źródłowe i docelowe źródła danych OLE DB. Następnie pakiet może być realizowany zarówno na żądanie, jak i zgodnie z harmonogramem w regularnych odstępach czasu. Jeden pakiet DTS jest w stanie obsłużyć wiele tabel. Pakiety DTS nie ograniczają się do bezpośredniego przesyłania danych z jednej tabeli do drugiej, ponieważ pakiet może wykorzystywać zapytanie jako źródło danych. Ta funkcja umożliwia pakietom przekształcanie danych, na przykład poprzez wykonanie zapytania, które zwraca zagregowane sumy zamiast nieprzetworzonych danych.

Replikacja

Replikacja służy do tworzenia kopii informacji w oddzielnych bazach danych i synchronizowania ich poprzez replikowanie zmian dokonanych w jednej z kopii pomiędzy wszystkimi kopiami. Jeśli około minutowe opóźnienie odświeżania danych jest akceptowalne dla wszystkich węzłów, replikacja może dystrybuować dane bez narzutu związanego z transakcjami rozproszonymi, co zapewnia, że ​​wszystkie węzły mają dokładną kopię bieżących danych. Dzięki temu replikacja zapewnia dystrybucję danych przy stosunkowo niskich kosztach sieci i zasobów obliczeniowych.

Kopiowanie zbiorcze

SQL Server Bulk Copy poprawia wydajność przesyłania dużych ilości danych. Funkcja kopiowania zbiorczego przesyła jednocześnie dane z całej tabeli.

Zapytania rozproszone

Instrukcje języka Transact SQL używają zapytań rozproszonych do odwoływania się do danych ze źródła OLE DB. Źródła danych OLE DB mogą pochodzić z innego wystąpienia programu SQL Server lub ze źródeł heterogenicznych, takich jak baza danych Microsoft Access lub Oracle.

Kontrola integralności danych

Transact SQL używa zestawu instrukcji DBCC do sprawdzania integralności bazy danych. Instrukcje DBCC w SQL Server 2000 i SQL Server 7.0 zawierają szereg ulepszeń w stosunku do instrukcji DBCC, które były używane w SQL Server 6.5.

    Konieczność uruchamiania tych operatorów została znacznie zmniejszona. Zmiany w architekturze SQL Server poprawiły odporność baz danych do tego stopnia, że ​​częste sprawdzanie spójności nie jest już wymagane.

    Nie jest konieczne uruchamianie instrukcji sprawdzania poprawności DBCC podczas normalnych procedur tworzenia kopii zapasowych i konserwacji. Powinny być uruchamiane podczas sprawdzania systemu przed wprowadzeniem większych zmian, takich jak aktualizacja sprzętu i oprogramowania, lub po awarii sprzętu. Oświadczenia te powinny być również uruchamiane, gdy podejrzewasz, że w systemie występują błędy.

    SQL Server 2000 wprowadza nowy parametr PHYSICAL_ONLY, który przyspiesza wykonywanie instrukcji DBCC, zmuszając je do sprawdzania tylko tych typów błędów, które mogą być generowane przez awarie sprzętu. Uruchom sprawdzanie DBCC z parametrem PHYSICAL_ONLY, jeśli podejrzewasz błąd sprzętowy na serwerze bazy danych.

    Sami operatorzy DBCC są znacznie szybsi. Walidacja złożonej bazy danych jest zwykle 8-10 razy szybsza, a poszczególne obiekty ponad 300 razy szybsze. W programie SQL Server 6.5 program DBCC CHECKDB przetwarzał tabele sekwencyjnie. Dla każdej tabeli najpierw sprawdzono strukturę danych, a następnie każdy indeks osobno. W wyniku tej procedury operacje odczytu były wykonywane dość chaotycznie. W programie SQL Server 2000 DBCC CHECKDB wykonuje równoległe skanowanie wielu obiektów podczas sekwencyjnego skanowania bazy danych. SQL Server 2000 wykorzystuje również wieloprocesorowość, wykonując równolegle instrukcje DBCC.

    Poziom blokowania wymagany przez instrukcje DBCC z programu SQL Server 2000 jest znacznie niższy niż z programu SQL Server 7.0. Teraz instrukcje DBCC z SQL Server 2000 mogą być wykonywane jednocześnie z instrukcjami modyfikacji danych, co znacznie zmniejsza ich negatywny wpływ na doświadczenie użytkownika z bazą danych.

    Instrukcje DBCC w SQL Server 2000 są w stanie same naprawić małe błędy. Mogą również naprawić pewne błędy w strukturze drzewa indeksów binarnych lub błędy w niektórych strukturach rozproszonych.

Zasady replikacji

Replikacja to zestaw technologii, które umożliwiają przechowywanie wielu kopii tych samych danych w wielu lokalizacjach, których liczba może czasami sięgać kilkuset. Replikacja wykorzystuje model publikowania i subskrybowania do dystrybucji danych.

    Wydawca jest serwerem źródłowym replikowanych danych. Dla każdej tabeli lub innego obiektu bazy danych, który ma być używany jako źródło replikacji, wydawca definiuje artykuł. Jeden lub więcej powiązanych artykułów z tej samej bazy danych jest zorganizowanych w publikację. Publikacje to wygodny sposób grupowania powiązanych danych i obiektów, które wymagają replikacji.

    Subskrybent to serwer, który otrzymuje dane replikowane przez wydawcę. Subskrybent określa prenumeratę określonej publikacji. Subskrypcja określa, kiedy subskrybent otrzymuje publikację i określa korespondencję między artykułami w publikacji a tabelami lub innymi przedmiotami subskrybenta.

    Dystrybutor to serwer, który wykonuje różne zadania, aby przenosić artykuły od wydawców do subskrybentów. Rzeczywiste zadania zależą od typu wykonywanej replikacji.

SQL Server 2000 obsługuje również replikację między heterogenicznymi źródłami danych. Źródła danych OLE DB lub ODBC mogą subskrybować publikacje programu SQL Server. Ten ostatni może również odbierać dane replikowane przez kilka innych źródeł danych, w tym Microsoft Exchange, Microsoft Access, Oracle i DB2.

Hurtownie danych i przetwarzanie analityczne online (OLAP)

SQL Server 2000 zawiera komponenty do budowania hurtowni danych i baz danych. Hurtownie danych i hurtownie danych mogą być używane w zaawansowanych przemysłowych systemach sztucznej inteligencji, które przetwarzają zapytania używane do identyfikowania trendów i analizowania krytycznych czynników. Systemy te nazywane są systemami przetwarzania analitycznego online (OLAP). Dane w hurtowniach i data martach są zorganizowane inaczej niż tradycyjne bazy transakcyjne.
Oprogramowanie do zarządzania relacyjnymi bazami danych klasy przemysłowej, takie jak SQL Server 2000, zostało pierwotnie zaprojektowane do centralnego przechowywania danych generowanych przez codzienne transakcje dużych firm lub organizacji rządowych. Przez dziesięciolecia ewolucji te DBMS przekształciły się w wysoce wydajne systemy rejestrowania danych wymagane do codziennego funkcjonowania przedsiębiorstwa. Takie systemy nazywane są systemami przetwarzania transakcji online (OLTP).

OLTP: systemy

Dane w systemach OLTP są zorganizowane głównie w celu obsługi transakcji takich jak:

    rejestracja zamówienia wprowadzonego z POS lub przez stronę internetową;

    złożenie zamówienia na komponenty, gdy ich ilość w magazynie spadnie poniżej określonego poziomu;

    śledzenie elementów podczas montażu produktu końcowego w produkcji;

    rejestracja informacji o pracownikach;

    rejestrowanie tożsamości posiadaczy licencji, takich jak właściciele restauracji lub kierowcy.

Pojedyncze transakcje, odnoszące się do stosunkowo niewielkiej ilości danych, kończą się szybko. Systemy OLTP są zaprojektowane i zoptymalizowane do jednoczesnego przetwarzania setek i tysięcy transakcji. Systemy OLTP doskonale sprawdzają się w rejestrowaniu danych wymaganych do obsługi codziennych operacji. Jednak organizują dane inaczej niż jest to konieczne, gdy informacje są przeznaczone dla menedżerów do planowania pracy ich organizacji. Menedżerowie często potrzebują informacji podsumowujących, aby przeanalizować trendy mające wpływ na powierzoną im organizację lub grupę.

Systemy OLAP

Systemy przetwarzania zapytań, które identyfikują trendy i krytyczne czynniki, nazywane są systemami OLAP. Zazwyczaj zapytania OLAP pobierają duże ilości danych. Na przykład szef rządowego departamentu prawa jazdy może być zmuszony do składania sprawozdań dotyczących marek i modeli pojazdów, które były rejestrowane corocznie w ciągu ostatnich 20 lat. Uruchamiając tego typu zapytanie w systemie OLTP:

    zebranie (podsumowanie) wszystkich szczegółowych zapisów z ostatnich 20 lat zajmie dużo czasu, więc raport nie zostanie przygotowany na czas;

    zwiększy się obciążenie systemu, co przynajmniej spowolni pracę zwykłych użytkowników i zakłóci rytm rejestracji transakcji.

Innym problemem jest to, że wiele dużych przedsiębiorstw ma wiele systemów OLTP, które rejestrują wszystkie transakcje. Wiele z nich zostało stworzonych w różnym czasie i opartych na różnym oprogramowaniu i sprzęcie. Bardzo często kody i nazwy używane do identyfikacji elementów jednego systemu różnią się od tych w innym systemie. Menedżerowie uruchamiający zapytania OLAP zazwyczaj muszą mieć możliwość pracy z danymi z wielu systemów OLTP. Systemy przetwarzania analitycznego online wykorzystują dane OLAP, które znajdują się w hurtowniach danych lub data martach. Hurtownia danych zawiera dane OLAP na poziomie przedsiębiorstwa, podczas gdy hurtownia danych jest mniejsza i zazwyczaj dane w hurtowni są związane tylko z jedną funkcją organizacji.

Architektura tworzenia aplikacji

Aplikacje uzyskują dostęp do bazy danych za pomocą dwóch komponentów: interfejsu API lub adresu URL (Uniform Resource Locator) oraz języka bazy danych.

API i URL

API definiuje sposób, w jaki aplikacja jest zaprogramowana do łączenia się z bazą danych i wysyłania do niej poleceń. Model obiektów API jest zwykle niezależny od języka i definiuje zestaw obiektów, właściwości i interfejsów. C lub Visual Basic API definiuje zestaw funkcji dla aplikacji napisanych w C, C++ lub Visual Basic.
Adres URL to ciąg lub strumień, którego aplikacja internetowa używa do uzyskiwania dostępu do zasobów Internetu lub intranetu. Microsoft SQL Server 2000 obsługuje bibliotekę ISAPI (Internet Server Application Programming Interface), której aplikacje Microsoft Internet Information Services (IIS) używają do generowania adresów URL wskazujących wystąpienia SQL Server 2000.

Interfejsy API obsługiwane przez SQL Server

SQL Server obsługuje kilka interfejsów API do tworzenia aplikacji bazodanowych ogólnego przeznaczenia. Obejmują one otwarte API z publicznie dostępnymi specyfikacjami, które są obsługiwane przez różnych dostawców baz danych:

    Obiekty danych ActiveX (ADO);

    Zbudowane na jego podstawie ODBC i obiektowe API - Remote Data Objects (RDO) i Data-Access Objects (DAO);

    Wbudowany SQL dla C (ESQL);

    Biblioteka DB dla API C, zaprojektowana specjalnie do użytku z wcześniejszymi wersjami SQL Server, które poprzedzają standard SQL-92.

Aplikacje internetowe mogą również używać adresów URL wskazujących wirtualne katalogi główne usług IIS wskazujące na wystąpienie programu SQL Server. Często adres URL zawiera zapytanie XPath, instrukcję Transact-SQL lub wzorzec. Oprócz używania adresów URL, aplikacje internetowe mogą pracować z danymi w postaci dokumentów XML przy użyciu ADO lub OLE DB.

Język bazy danych

Składnia poleceń wysyłanych do bazy danych jest określona przez język bazy danych. Te polecenia są wysyłane przez interfejs API, umożliwiając aplikacjom dostęp do danych i ich modyfikowanie. Pozwalają również aplikacjom na tworzenie i modyfikowanie obiektów bazy danych. Wykonanie wszystkich poleceń jest uzależnione od praw dostępu nadanych użytkownikowi. SQL Server 2000 obsługuje dwa języki: zapytania Transact SQL i XPath ze schematami mapowania używanymi w aplikacjach internetowych działających w IIS.

Transakcja SQL

Transact SQL jest językiem baz danych obsługiwanym przez SQL Server 2000. Transact SQL jest zgodny z podstawowym standardem SQL 92, a także obsługuje niektóre funkcje poziomu pośredniego i pełnego. Transact SQL zawiera również pewne zaawansowane ulepszenia w stosunku do standardu SQL 92.
Rozszerzenia są zdefiniowane w specyfikacji ODBC i są obsługiwane przez OLE DB. Transact SQL obsługuje rozszerzenia ODBC w aplikacjach korzystających z interfejsów API ADO, OLE DB lub ODBC lub interfejsów API, które znajdują się nad ODBC. Rozszerzenia ODBC SQL nie są obsługiwane w aplikacjach korzystających z interfejsów API DB-Library lub Embedded SQL.

XPath

SQL Server 2000 obsługuje podzbiór języka XPath zdefiniowany przez konsorcjum World Wide Web Consortium (W3C). XPath to język nawigacji grafowej używany do wybierania węzłów z dokumentów XML. Najpierw używasz schematu mapowania, aby zdefiniować reprezentację XML danych z jednej lub więcej tabel lub widoków programu SQL Server, a następnie możesz użyć zapytań XPath, aby pobrać dane z tego schematu mapowania.
Zapytania XPath są powszechnie używane w adresach URL lub interfejsach API ADO. Interfejs API OLE DB obsługuje również zapytania XPath.

Streszczenie

SQL Server 2000 zawiera wiele składników. Jednym z typów komponentów SQL Server są bazy danych, które faktycznie przechowują dane. Baza danych składa się z komponentów logicznych i fizycznych. Kolejnym składnikiem SQL Server jest silnik relacyjnych baz danych. Obsługuje żądania, zarządza pamięcią, wątkami, zadaniami i I/O oraz obsługuje zapytania i transakcje pełnotekstowe. SQL Server 2000 obsługuje administrowanie bazami danych poprzez DDL i DML, procedury składowane, SQL-DMF, narzędzia graficzne, zautomatyzowaną administrację, procesy tworzenia kopii zapasowych i przywracania, import i eksport, sprawdzanie poprawności danych i replikację. Ponadto SQL Server 2000 zawiera komponenty do budowania hurtowni danych i baz danych. SQL Server obsługuje systemy OLAP i OLTP. Aplikacje uzyskują dostęp do bazy danych SQL Server przy użyciu dwóch składników: interfejsu API lub adresu URL oraz języka bazy danych.

Zabezpieczenie materiału

Poniższe pytania pomogą ci lepiej zrozumieć główne tematy tego rozdziału. Jeśli nie możesz odpowiedzieć na pytanie, przejrzyj materiał w odpowiednim ćwiczeniu i spróbuj ponownie. Odpowiedzi do autotestu znajdziesz w załączniku „Pytania i odpowiedzi”.

    Co to jest SQL Server 2000?

    W jakim języku często pracuje się z informacjami w bazach danych?

    Co to jest XML?

    Która edycja zawiera wszystkie funkcje SQL Server 2000?

    Do czego służy aparat relacyjnych baz danych SQL Server 2000?

    Jaka technologia SQL Server 2000 umożliwia tworzenie hurtowni danych i baz danych w SQL Server poprzez importowanie i przesyłanie danych z wielu heterogenicznych źródeł?

    Wymień co najmniej cztery zadania administracyjne, które program SQL Server Enterprise Manager może rozwiązać.

    Jakie narzędzie jest powszechnie używane do tworzenia zapytań i wykonywania ich w bazach danych SQL Server?

    Nazwij co najmniej pięć obiektów, które mogą znajdować się w logicznej bazie danych.

    Wymień główne komponenty biorące udział w przetwarzaniu instrukcji SQL otrzymanej od klienta SQL Server.

    Jakie dwie role odgrywa Microsoft Search we wspieraniu SQL Server?

    Jakie są fazy transakcji.

Czasami naprawdę chcesz uporządkować swoje myśli, połóż je na półkach. A jeszcze lepiej w kolejności alfabetycznej i tematycznej, żeby wreszcie nadeszła jasność myślenia. Teraz wyobraź sobie, jaki chaos miałby miejsce w ” elektroniczne mózgi»Dowolny komputer bez przejrzystej struktury wszystkich danych i Microsoft SQL Server:

Serwer MS SQL

Ten produkt programowy to system zarządzania relacyjnymi bazami danych (DBMS) opracowany przez firmę Microsoft Corporation. Do manipulacji danymi używany jest specjalnie opracowany język Transact-SQL. Polecenia językowe służące do pobierania i modyfikowania bazy danych są oparte na zapytaniach strukturalnych:

Relacyjne bazy danych są budowane na relacji wszystkich elementów konstrukcyjnych, w tym poprzez ich zagnieżdżanie. Relacyjne bazy danych mają wbudowaną obsługę najpopularniejszych typów danych. W rezultacie SQL Server integruje obsługę programistycznej strukturyzowania danych przy użyciu wyzwalaczy i procedur składowanych.

Przegląd funkcji MS SQL Server

DBMS jest częścią długiego łańcucha specjalistycznego oprogramowania, które Microsoft stworzył dla programistów. Oznacza to, że wszystkie ogniwa w tym łańcuchu (aplikacji) są ze sobą głęboko zintegrowane.

Oznacza to, że ich narzędzia łatwo wchodzą ze sobą w interakcje, co znacznie upraszcza proces tworzenia i pisania kodu oprogramowania. Przykładem takiej relacji jest środowisko programistyczne MS Visual Studio. Jego pakiet instalacyjny zawiera już SQL Server Express Edition.

Oczywiście nie jest to jedyny popularny DBMS na rynku światowym. Ale to ona jest bardziej akceptowalna dla komputerów z systemem Windows, ze względu na skupienie się na tym konkretnym systemie operacyjnym. I nie tylko z tego powodu.

Korzyści z MS SQL Server:

  • Ma wysoki stopień wydajności i odporności na uszkodzenia;
  • Jest to system DBMS dla wielu użytkowników i działa na zasadzie „klient-serwer”;

    Część kliencka systemu obsługuje tworzenie niestandardowych żądań i wysyłanie ich do przetworzenia na serwer.

  • Zamknij integrację z system operacyjny Okna;
  • Wsparcie dla połączeń zdalnych;
  • Obsługa popularnych typów danych, a także możliwość tworzenia wyzwalaczy i procedur składowanych;
  • Wbudowana obsługa ról użytkowników;
  • Rozszerzona funkcja tworzenia kopii zapasowych bazy danych;
  • Wysoki stopień bezpieczeństwa;
  • Każdy numer zawiera kilka wydań specjalistycznych.

Ewolucja SQL Server

Osobliwości tego popularnego DBMS najłatwiej prześledzić, biorąc pod uwagę historię ewolucji wszystkich jego wersji. Bardziej szczegółowo skupimy się tylko na tych wydaniach, w których twórcy wprowadzili znaczące i fundamentalne zmiany:

  • Microsoft SQL Server 1.0 — wydany w 1990 roku. Już wtedy eksperci zauważyli dużą szybkość przetwarzania danych, widoczną nawet przy maksymalnym obciążeniu w trybie pracy wieloużytkownikowej;
  • SQL Server 6.0 — wydany w 1995 roku. Ta wersja wprowadza pierwszą na świecie obsługę kursorów i replikacji danych;
  • SQL Server 2000 - W tej wersji serwer otrzymał zupełnie nowy silnik. Większość zmian dotyczyła tylko strony użytkownika aplikacji;
  • SQL Server 2005 - Zwiększono skalowalność DBMS, znacznie uproszczono proces zarządzania i administrowania. Wprowadzono nowy interfejs API do obsługi platformy programistycznej .NET;
  • Kolejne wydania miały na celu rozwijanie interakcji DBMS na poziomie technologii chmurowych i narzędzi business intelligence.

Podstawowy pakiet systemu zawiera kilka narzędzi do konfiguracji SQL Server. Obejmują one:

Manager konfiguracji. Umożliwia zarządzanie wszystkimi ustawieniami sieci i usługami serwera bazy danych. Służy do konfigurowania programu SQL Server w sieci.

  • Raportowanie błędów i użytkowania serwera SQL:

Narzędzie służy do konfigurowania wysyłania raportów o błędach do pomocy technicznej firmy Microsoft.

Służy do optymalizacji wydajności serwera bazy danych. Oznacza to, że możesz dostosować działanie SQL Server do swoich potrzeb, włączając lub wyłączając określone funkcje i składniki DBMS.

Zestaw narzędzi zawartych w Microsoft SQL Server może się różnić w zależności od wersji i wydania pakietu oprogramowania. Na przykład w wersji 2008 nie znajdziesz Konfiguracja obszaru powierzchni serwera SQL.

Uruchamianie Microsoft SQL Server

Jako przykład zostanie użyta wersja 2005 serwera bazy danych. Serwer można uruchomić na kilka sposobów:

  • Poprzez narzędzie Menedżer konfiguracji serwera SQL... W oknie aplikacji po lewej stronie wybieramy "Usługi SQL Server 2005", a po prawej - instancję serwera bazy danych, której potrzebujemy. Zaznaczamy to i wybieramy „Start” w podmenu prawego przycisku myszy.
  • Korzystanie ze środowiska SQL Server Management Studio Express... Nie znajduje się w pakiecie instalacyjnym edycji Express. Dlatego należy go pobrać oddzielnie z oficjalnej strony Microsoft.

Aby uruchomić serwer bazy danych, uruchamiamy aplikację. W oknie dialogowym „ Połączenie z serwerem"W polu" Nazwa serwera "wybierz instancję, której potrzebujemy. W polu " Uwierzytelnianie"Zostaw wartość" Uwierzytelnianie Windows”. I kliknij przycisk „Połącz”:

Podstawy administracji SQL Server

Przed uruchomieniem MS SQL Server należy krótko zapoznać się z podstawowymi funkcjami jego konfiguracji i administracji. Zacznijmy od więcej szczegółowa recenzja kilka narzędzi z DBMS:

  • Konfiguracja obszaru powierzchni serwera SQL- powinieneś skontaktować się tutaj, jeśli chcesz włączyć lub wyłączyć jakąkolwiek funkcję serwera bazy danych. W dolnej części okna znajdują się dwie pozycje: pierwsza odpowiada za parametry sieci, a druga umożliwia aktywację usługi lub funkcji, która jest domyślnie wyłączona. Na przykład włącz integrację z platformą .NET za pomocą zapytań T-SQL:
  • SQL Server Management Studio jest głównym narzędziem administracyjnym. W tym środowisku możliwa jest konfiguracja serwera i baz danych, zarówno poprzez interfejs aplikacji, jak i za pomocą zapytań w języku T-SQL.

Podstawowe ustawienia można wprowadzić za pomocą " Przeglądarka obiektów», która wyświetla wszystkie główne elementy serwera w formie drzewiastej listy po lewej stronie w oknie aplikacji. Najważniejsza jest zakładka Bezpieczeństwo. Za jego pośrednictwem można skonfigurować uprawnienia i role użytkowników i administratorów dla serwera głównego lub osobno dla każdej bazy danych.