Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00137 004225 12775810 na godz. na dobę w sumie
Microsoft SQL Server 2012 Krok po kroku - ebook/pdf
Microsoft SQL Server 2012 Krok po kroku - ebook/pdf
Autor: Liczba stron:
Wydawca: Promise Język publikacji: polski
ISBN: 978-83-7541-278-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych
Porównaj ceny (książka, ebook, audiobook).

Praktyczny przewodnik po projektowaniu i zarządzaniu bazami danych SQL Server 2012
Samodzielnie opanuj posługiwanie się oprogramowaniem SQL Server 2012 – krok po kroku. Idealny dla początkujących administratorów i projektantów baz danych, podręcznik ten przedstawia praktyczne ćwiczenia i techniki, które pozwolą zarządzać bazami danych, tworzyć raporty i wdrażać systemy BI.
Dowiedz się jak:
Instalować, konfigurować i aktualizować SQL Server
Pracować z kluczowymi komponentami i narzędziami
Oszczędzać przestrzeń dyskową i uzyskać lepszą wydajność dzięki kompresji
Korzystać z narzędzi T-SQL do wykonywania zmian w danych
Upraszczać tworzenie kwerend i usprawniać dostęp do danych dzięki kodowi wielokrotnego stosowania
Zarządzać obciążeniem i zużyciem zasobów
Utrzymywać, kopiować, odzyskiwać i zabezpieczać bazy danych
Budować wydajne rozwiązania bazodanowe dla swojej organizacji
O autorze
Patrick LeBlanc zajmuje stanowisko Data Platform Technical Solution Professional w firmie Microsoft, pracując bezpośrednio z klientami biznesowymi wykorzystującymi oprogramowanie SQL Server. Założył witrynę poświęconą nauczaniu technologii SQL Server; jest współautorem kilku książek na temat SharePoint oraz rozwiązań BI (business intelligence).

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Patrick LeBlanc Microsoft® SQL Server® 2012 Krok po kroku Przekład: Natalia Chounlamany APN Promise, Warszawa 2013 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Microsoft® SQL Server® 2012 Krok po kroku © 2013 APN PROMISE SA Authorized Polish translation of the English edition Microsoft® SQL Server® 2012 Step by Step, ISBN 978-0-7356-6386-2 Copyright © 2013 Patrick LeBlanc. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. APN PROMISE SA, biuro: ul. Kryniczna 2, 03-934 Warszawa tel. +48 22 35 51 600, fax +48 22 35 51 699 e-mail: mspress@promise.pl Wszystkie prawa zastrzeżone. Żadna część niniejszej książki nie może być powielana ani rozpowszechniana w jakiejkolwiek formie i w jakikolwiek sposób (elektroniczny, mechaniczny), włącznie z fotokopiowaniem, nagrywaniem na taśmy lub przy użyciu innych systemów bez pisemnej zgody wydawcy. Książka ta przedstawia poglądy i opinie autorów. Przykłady firm, produktów, osób i wydarzeń opisane w niniejszej książce są fikcyjne i nie odnoszą się do żadnych konkretnych firm, produktów, osób i wydarzeń, chyba że zostanie jednoznacznie stwierdzone, że jest inaczej. Ewentualne podobieństwo do jakiejkolwiek rzeczywistej firmy, organizacji, produktu, nazwy domeny, adresu poczty elektronicznej, logo, osoby, miejsca lub zdarzenia jest przypadkowe i niezamierzone. Nazwa Microsoft oraz znaki towarowe wymienione na stronie http://www.microsoft.com/ about/legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx są zastrzeżonymi znakami towarowymi grupy Microsoft. Wszystkie inne znaki towarowe są własnością ich odnośnych właścicieli. APN PROMISE SA dołożyła wszelkich starań, aby zapewnić najwyższą jakość tej publikacji. Jednakże nikomu nie udziela się rękojmi ani gwarancji. APN PROMISE SA nie jest w żadnym wypadku odpowiedzialna za jakiekolwiek szkody będące następstwem korzystania z informacji zawartych w niniejszej publikacji, nawet jeśli APN PROMISE została powiadomiona o możliwości wystąpienia szkód. ISBN: 978-83-7541-106-5 Przekład: Natalia Chounlamany Redakcja: Marek Włodarz Korekta: Ewa Swędrowska Skład i łamanie: MAWart Marek Włodarz ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Książkę dedykuję mojej żonie. Gdy sfrustrowany rozważam kapitulację, ona zawsze znajduje sposób, aby zmotywować mnie do dalszej drogi. W czasie mojej pracy nad tą książką ani razu nie poskarżyła się na długie noce poświęcone pisaniu. Wręcz przeciwnie, cały czas zachęcała mnie i wspierała. Dziękuję Ci Kochanie za wszystko co robisz dla naszej rodziny. Nie mógłbym tego osiągnąć bez Ciebie. Patrick LeBlanc ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Część I: Rozpoczęcie pracy z programem Microsoft SQL Server 2012 1 Wprowadzenie do programu Microsoft SQL Server 2012 . . . . . . . . . . . . . 3 Funkcje analizy biznesowej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Aparat bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Interfejs programowania w języku T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Podrzędny system zabezpieczeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Replikacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Narzędzia do zapewniania wysokiej dostępności oraz odzyskiwania awaryjnego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Usługa SQL Server Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Narzędzia do zarządzania programem SQL Server . . . . . . . . . . . . . . . . . . . . . . . . 10 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Instalacja, konfiguracja oraz uaktualnianie programu Microsoft SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Edycje programu SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Dostosowywanie sprzętu do wymagań programu SQL Server . . . . . . . . . . . . . . . . . 13 Wymagania programowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Przed instalacją . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Instancje programu SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Konta usług . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Sekwencje sortowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Tryby uwierzytelniania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Instalacja programu SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Instalowanie programu SQL Server przy użyciu kreatora . . . . . . . . . . . . . . . . . . . 17 Po instalacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Przypisanie numeru portu TCP/IP usłudze SQL Server Database Engine . . . . . . 20 Otwieranie portu instancji programu SQL Server w ustawieniach zapory sieciowej systemu Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Metody uaktualniania do wersji SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Uaktualnianie w miejscu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Uaktualnianie równoległe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== v vi Spis treści 3 Narzędzia administracyjne i programistyczne w programie SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Korzystanie z dokumentacji SQL Server Books Online . . . . . . . . . . . . . . . . . . . . . . . . 25 Korzystanie z programu SQL Server Management Studio . . . . . . . . . . . . . . . . . . . . . 27 Tworzenie rozwiązań i projektów w programie SQL Server Management Studio . 30 Korzystanie z narzędzi SQL Server Data Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Korzystanie z programu SQL Server Configuration Manager . . . . . . . . . . . . . . . . . . 33 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Część II: Projektowanie baz danych 4 Projektowanie baz danych programu SQL Server . . . . . . . . . . . . . . . . . . . 37 Wprowadzenie do systemowych baz danych programu SQL Server . . . . . . . . . . . . 37 Baza danych master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Baza danych tempdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Baza danych model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Baza danych msdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Baza danych resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Baza danych distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Struktura baz danych programu SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Tworzenie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Wprowadzenie do argumentów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Dodawanie plików i grup plików . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Odłączanie i dołączanie baz danych programu SQL Server. . . . . . . . . . . . . . . . . . . . 46 Modele odzyskiwania baz danych – wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Model odzyskiwania prostego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Model odzyskiwania pełnego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Model odzyskiwania z niepełnym dziennikiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5 Tworzenie pierwszej tabeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Opracowywanie standardu nazewnictwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Wprowadzenie do schematów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Wprowadzenie do typów danych w programie SQL Server. . . . . . . . . . . . . . . . . . . . 56 Liczbowe typy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Ciągowe typy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Typy danych daty i godziny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Inne typy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Wprowadzenie do właściwości kolumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Tworzenie tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Modyfikowanie tabel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Wprowadzenie do kolumn obliczanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Dodawanie ograniczeń do tabeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści vii Ograniczenia klucza głównego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Ograniczenia DEFAULT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Ograniczenia UNIQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Ograniczenia CHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Ograniczenia klucza obcego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Wprowadzenie do typu tabel FileTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Tworzenie diagramów baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6 Budowanie i konserwacja indeksów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Wprowadzenie do struktury indeksu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Struktura indeksu klastrowanego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Struktura indeksu nieklastrowanego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Struktura indeksu magazynu kolumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Dodawanie opcji indeksu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Dodawanie uwzględnionych kolumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Dodawanie filtrów do indeksu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Określanie lokalizacji indeksów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Wyłączanie i usuwanie indeksów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Część III: Zaawansowane aspekty projektowania baz danych 7 Kompresowanie tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Wprowadzenie do kompresji wierszy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Kompresowanie wierszy przy użyciu kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . 102 Wprowadzenie do kompresji stron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Kompresowanie stron przy użyciu kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Szacowanie wyniku kompresji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Wybór typu kompresji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 8 Partycjonowanie tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Stworzenie funkcji partycji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Stosowanie argumentów funkcji partycji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Tworzenie schematu partycji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Definiowanie argumentów schematu partycji . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Partycjonowanie tabel i indeksów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 9 Migawki baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Wprowadzenie do wymagań wstępnych i ograniczeń związanych z migawkami baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== viii Spis treści 10 Tworzenie i wyświetlanie migawek baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Usuwanie migawek baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Przywracanie stanu bazy danych na podstawie migawki . . . . . . . . . . . . . . . . . . . . . 121 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Instrukcja SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Pisanie instrukcji SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Sortowanie wyników . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Filtrowanie danych za pomocą klauzuli WHERE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Stosowanie operatorów porównania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Stosowanie operatora BETWEEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Stosowanie klauzuli WHERE z wieloma warunkami . . . . . . . . . . . . . . . . . . . . . . . 128 Wyszukiwanie listy wartości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Wyszukiwanie z wykorzystaniem symboli wieloznacznych . . . . . . . . . . . . . . . . . 129 Tworzenie aliasów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Stosowanie operatora JOIN do pobierania danych z wielu tabel . . . . . . . . . . . . . . 130 Stosowanie operatora INNER JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Stosowanie operatorów OUTER JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Ograniczanie danych zwróconych w zbiorze wyników . . . . . . . . . . . . . . . . . . . . . . . 134 Stosowanie klauzuli TOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Stosowanie słów kluczowych DISTINCT oraz NULL . . . . . . . . . . . . . . . . . . . . . . . 135 Łączenie zbiorów wyników za pomocą operacji UNION . . . . . . . . . . . . . . . . . . . . . 136 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Część IV: Korzystanie z języka Transact-SQL (T-SQL) 11 Zaawansowane metody pobierania danych . . . . . . . . . . . . . . . . . . . . . . . . 141 Przestawianie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Stosowanie operatora PIVOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Stosowanie operatora UNPIVOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Stronicowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Pisanie wyrażeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Stosowanie zmiennych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12 Modyfikowanie danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Wstawianie danych do tabel programu SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . 151 Wykorzystywanie instrukcji INSERT INTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Wykorzystywanie sekwencji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Stosowanie instrukcji SELECT INTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Aktualizowanie danych w tabelach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Aktualizowanie wierszy w instrukcjach odwołujących się do wielu tabel . . . . . 157 Usuwanie danych z tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści ix Scalanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Zwracanie danych za pomocą klauzuli OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 13 Wbudowane funkcje skalarne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Stosowanie funkcji daty i godziny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Budowanie dat na podstawie części dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Odejmowanie, modyfikowanie i sprawdzanie poprawności dat . . . . . . . . . . . . 166 Stosowanie funkcji konwersji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Nowe funkcje konwersji w programie SQL Server 2012 . . . . . . . . . . . . . . . . . . . 169 Stosowanie funkcji ciągowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Stosowanie funkcji logicznych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Część V: Tworzenie innych obiektów baz danych 14 Zaawansowane funkcje języka T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Agregacje, funkcje okna i grupowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Realizowanie agregacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Realizowanie agregacji z wykorzystaniem grupowania . . . . . . . . . . . . . . . . . . . . 177 Funkcje okna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Nowe funkcje okna w języku T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Stosowanie klauzuli HAVING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Stosowanie obiektów tymczasowych w programie SQL Server . . . . . . . . . . . . . . . . 183 Wspólne wyrażenia tabeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Zmienna tabeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Tabele tymczasowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Obsługa błędów w języku T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Słowa kluczowe kontrolujące przepływ sterowania . . . . . . . . . . . . . . . . . . . . . . . . . . 190 BEGIN…END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 IF…ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 15 Widoki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Czym są widoki? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Tworzenie widoków indeksowanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Wymagania dotyczące tabel bazowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Wymagania dotyczące widoków indeksowanych . . . . . . . . . . . . . . . . . . . . . . . . . 202 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 16 Funkcje definiowane przez użytkownika . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Wprowadzenie do definiowanych przez użytkownika funkcji skalarnych . . . . . . . 206 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== x Spis treści Parametryzowanie funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Wykonywanie funkcji skalarnych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Wprowadzenie do funkcji o wartościach tabelarycznych . . . . . . . . . . . . . . . . . . . . . 213 Stosowanie funkcji zwracających tabelę . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Ograniczenia funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 17 Procedury składowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Korzystanie z procedur składowanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Korzystanie ze słowa kluczowego EXECUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Parametryzowanie procedur składowanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Usuwanie procedur składowanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 18 Wyzwalacze DML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Typy wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Tworzenie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Modyfikowanie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Usuwanie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Włączanie i wyłączanie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Część VI: Replikacja w programie SQL Server 19 Replikacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Typy replikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Replikacja migawkowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Replikacja transakcyjna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Replikacja scalania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Agenci replikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Agent migawki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Agent dystrybucji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Agent odczytywania dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Agent scalania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Konfigurowanie replikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Monitorowanie replikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Część VII: Konserwacja baz danych 20 Kopie zapasowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Wprowadzenie do urządzeń kopii zapasowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Pełne kopie zapasowe baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści xi Różnicowe kopie zapasowe baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Kopie zapasowe dziennika transakcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Przywracanie baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 21 Zarządzanie i konserwacja indeksów oraz statystyk . . . . . . . . . . . . . . . . 273 Sprawdzanie stopnia fragmentacji indeksu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Defragmentowanie indeksów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Reorganizowanie indeksów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Odbudowywanie indeksów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Sprawdzanie statystyk użycia indeksów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Tworzenie i aktualizowanie statystyk baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Wyświetlanie opcji konserwacji statystyk bazy danych . . . . . . . . . . . . . . . . . . . . 281 Aktualizowanie statystyk baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 22 Plany konserwacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Przeprowadzanie testów spójności baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Tworzenie planów konserwacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Korzystanie z kreatora planu konserwacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Część VIII: Zarządzanie bazami danych 23 SQL Server Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Wprowadzenie do narzędzia SQL Server Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Najpopularniejsze zastosowania narzędzia SQL Server Profiler . . . . . . . . . . . . . 296 Tworzenie śledzenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Filtrowanie śledzenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Tworzenie szablonów śledzenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Uruchamianie śledzenia po stronie serwera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 24 Zdarzenia rozszerzone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Wprowadzenie do architektury zdarzeń rozszerzonych . . . . . . . . . . . . . . . . . . . . . . 308 Tworzenie i konfigurowanie sesji zdarzeń rozszerzonych . . . . . . . . . . . . . . . . . . . . . 308 Wykorzystywanie sesji zdarzeń rozszerzonych do monitorowania wydajności systemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 25 Zabezpieczenia w programie SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Wprowadzenie do podmiotów zabezpieczeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Tworzenie kont logowania na serwerze. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xii Spis treści Tworzenie ról serwerowych definiowanych przez użytkownika . . . . . . . . . . . . . . . 324 Tworzenie użytkowników bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Tworzenie wbudowanych ról bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Konfigurowanie zawartych baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Tworzenie zawartego użytkownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Zalety i wady zawartych baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 26 Zarządca zasobów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Włączanie i wyłączanie funkcji Resource Governor . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Tworzenie puli zasobów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Tworzenie grup obciążenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Korzystanie z funkcji klasyfikatora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Testowanie funkcji klasyfikatora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Modyfikowanie konfiguracji Zarządcy zasobów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 27 SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Komponenty usługi SQL Server Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Przeglądanie opcji usługi SQL Server Agent w programie SQL Server Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Konfigurowanie właściwości usługi SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . 355 Tworzenie operatorów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Konfigurowanie alertów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Konfigurowanie zadań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Tworzenie kont proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 28 Poczta bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Komponenty poczty bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Konfigurowanie poczty bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Wysyłanie wiadomości email przy użyciu poczty bazy danych . . . . . . . . . . . . . . . . 381 Monitorowanie poczty bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 29 Wyzwalacze DDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Typy wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Tworzenie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Modyfikowanie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 Wyłączanie i włączanie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 Usuwanie wyzwalaczy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści xiii 30 Dynamiczne obiekty zarządzania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Pobieranie metadanych programu SQL Server z obiektów DMO . . . . . . . . . . . . . . 395 Wykonywanie zapytań na statystykach dotyczących wydajności serwera . . . . . . . 396 Pobieranie informacji o serwerze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 sys.dm_server_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 sys.dm_os_volume_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 sys.dm_os_sys_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 sys.dm_exec_requests oraz sys.dm_exec_sessions . . . . . . . . . . . . . . . . . . . . . . . . . . 400 sys.dm_exec_sql_text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Pobieranie informacji o wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 sys.dm_exec_query_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Wykonywanie zapytań na statystykach dotyczących indeksowania . . . . . . . . . . . . 402 sys.dm_db_index_usage_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 sys.dm_db_index_physical_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Część IX: Rozwiązania zapewniające wysoką dostępność 31 Funkcja AlwaysOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Nowe możliwości instancji klastra pracy awaryjnej . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Klastry obejmujące wiele podsieci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Niezawodny mechanizm wykrywania awarii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Możliwość umieszczania bazy tempdb na lokalnym dysku . . . . . . . . . . . . . . . . 411 Tworzenie zawsze włączonych grup dostępności . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Usługa Windows Server Failover Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Włączanie funkcji AlwaysOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Tworzenie grup dostępności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 Administrowanie grupą dostępności AlwaysOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Odczytywanie pomocniczych kopii baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 32 Wysyłanie dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Komponenty architektury wysyłania dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 Wymagania wstępne funkcji wysyłania dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Konfigurowanie funkcji wysyłania dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Indeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 O autorze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie P rogram SQL Server to podstawowa platforma bazodanowa oferowana przez fi rmę Microsoft. Program Microsoft SQL Server przeszedł długą drogę od rozwiązania ułatwiającego realizowanie prostych zadań do platformy wspierającej jedne z najwięk- szych systemów bazodanowych na świecie. Najnowsze wersje programu SQL Server oferują funkcje i możliwości, które zapewniają mu przewagę nad wieloma konkuren- cyjnymi produktami. Program SQL Server 2012 kontynuuje ten trend, rozszerzając dotychczasowy bogaty zestaw narzędzi o dodatkowe funkcje. Nowe możliwości to m.in. bardziej zaawansowane i łatwiejsze w skalowaniu rozwiązania do zapewniania wysokiej dostęp- ności i odzyskiwania awaryjnego, uproszczone procesy programowania i instalacji, zaawansowane i odporne na błędy funkcje inspekcji oraz kilka nowych funkcji języka Transact-SQL (T-SQL). Niniejsza książka pozwala na zapoznanie się z większością narzędzi i funkcji dostępnych w aparacie bazy danych programu Microsoft SQL Server. Każdy rozdział zawiera omówienie funkcji oraz prezentuje metody implementowania, instalowania lub stosowania tej funkcji w danym środowisku. Kolejne sekcje oraz rozdziały poma- gają w rozszerzaniu wiedzy i doświadczeń zdobytych w trakcie lektury poprzednich rozdziałów. Dla kogo przeznaczona jest ta książka Niniejsza książka służy do nauki podstawowych funkcji aparatu bazy danych progra- mu SQL Server 2012. Została napisana z myślą o specjalistach IT, którzy rozpoczynają pracę z programem SQL Server, rozpoczynają pracę z wersją SQL Server 2012 lub do tej pory pracowali na innej platformie relacyjnych baz danych, ale chcą zacząć korzystać z platformy SQL Server. Specjaliści IT posiadający doświadczenie w pracy z programem SQL Server mogą znaleźć w tej książce przydatne informacje, jednak jest ona poświecona głównie podstawowym koncepcjom. Autor książki przyjął założenie, że czytelnicy posiadają choć podstawową wiedzę o relacyjnych bazach danych. Pomocna może się okazać także pewna znajomość tech- nologii fi rmy Microsoft, takich jak system Windows. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xv xvi Microsoft SQL Server 2012 Krok po kroku Dla kogo nie jest przeznaczona ta książka Ta książka nie jest kierowana do doświadczonych programistów baz danych programu SQL Server, ponieważ służy do nauki podstawowych funkcji programu SQL Server. Układ książki Niniejsza książka została podzielona na dziewięć części. Każda z nich opisuje określo- ny aspekt lub funkcję programu SQL Server 2012. ■ Część I „Rozpoczęcie pracy z programem Microsoft SQL Server 2012” zawiera wprowadzenie do technologii SQL Server, a następnie szczegółowy opis procesu instalacji programu SQL Server 2012 oraz zastosowań narzędzi administracyjnych i programistycznych. ■ Część II „Projektowanie baz danych” koncentruje się na tworzeniu baz danych i tabel, z niewielkim naciskiem na indeksowanie. ■ Część III „Zaawansowane aspekty projektowania baz danych” skupia się na zaawan- sowanych technikach, takich jak kompresja oraz partycjonowanie. Ponadto wpro- wadzona zostaje koncepcja migawek baz danych. ■ Część IV „Korzystanie z języka Transact-SQL (T-SQL)” prezentuje metody wyko- rzystywania języka T-SQL do przetwarzania danych przechowywanych w bazach danych i tabelach programu SQL Server. ■ Część V „Tworzenie innych obiektów baz danych” kontynuuje wprowadzenie do języka T-SQL, koncentrując się na metodach tworzenia innych obiektów, które można wykorzystać do pozyskiwania danych. ■ Część VI „Replikacja w programie SQL Server” zawiera opis wszystkich typów replikacji dostępnych w wersji SQL Server 2012. ■ Część VII „Konserwacja baz danych” obejmuje kilka rozdziałów pomocnych w opracowywaniu kompleksowej strategii konserwacji, która zapewnienia wysoką dostępność oraz wydajność środowiska SQL Server. ■ Część VIII „Zarządzanie bazami danych” zawiera omówienie różnych narzędzi, które ułatwiają administratorom baz danych aktywne monitorowanie i zarządzanie środowiskiem składającym się z jednego lub wielu serwerów SQL Server. ■ Ostatnia część IX „Rozwiązania zapewniające wysoką dostępność” koncentruje się na funkcjach programu SQL Server, które służą do zapewniania dostępu do ser- werów w sytuacjach awaryjnych. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie xvii Konwencje zastosowane w tej książce W niniejszej książce zastosowane zostały następujące konwencje mające na celu zwięk- szenie czytelności prezentowanych informacji i procedur. ■ Każde ćwiczenie składa się z serii zadań prezentowanych w postaci ponumerowa- nych kroków (1, 2 itd.) opisujących akcje, jakie należy wykonać, aby zrealizować ćwiczenie. ■ W ramkach z nagłówkami (np. „Uwaga”) prezentowane są dodatkowe informacje ■ lub alternatywne metody realizowania zadania. Tekst do wpisania przez Czytelnika (za wyjątkiem fragmentów kodu) został wyróżniony pogrubieniem. ■ Nazwy poleceń, opcji i okien dialogowych zostały wyróżnione czcionką bezszeryfową. ■ Nazwy procedur, widoków, a także ważne terminy zostały wyróżnione kursywą. ■ Znak plusa (+) między nazwami dwóch klawiszy oznacza, że należy nacisnąć oba klawisze w tym samym czasie. Na przykład, instrukcja „Naciśnij Alt+Tab” oznacza, że należy przytrzymać klawisz Alt wciśnięty i nacisnąć klawisz Tab. Znak pionowej kreski między opcjami menu (np. Plik | Zamknij) oznacza, że należy wybrać pierwsze menu lub opcję menu, a później wybrać kolejną itd. ■ Wymagania systemowe Do zrealizowania ćwiczeń zaprezentowanych w tej książce potrzebny będzie następu- jący sprzęt i oprogramowanie: ■ ■ System operacyjny Windows 7 SP1 lub nowszy bądź system operacyjny Windows Server 2008 Standard SP2 lub nowszy Edycja Microsoft SQL Server 2012 Evaluation, SQL Server 2012 Developer lub SQL Server 2012 Enterprise UWAGA Można użyć innej edycji programu SQL Server 2012, jednak trzeba mieć świa- domość, że może ona nie oferować wszystkich omawianych funkcji. ■ ■ ■ Procesor 2.0 GHz Pentium III+ (lub szybszy) 1 GB dostępnej pamięci RAM 2 GB dostępnego miejsca na dysku ■ Monitor o rozdzielczości przynajmniej 800 × 600 i wyświetlający minimum 256 kolorów ■ Napęd CD-ROM lub DVD-ROM ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xviii Microsoft SQL Server 2012 Krok po kroku ■ Mysz Microsoft lub inne kompatybilne urządzenie wskazujące Ponadto trzeba posiadać uprawnienia administratora, aby móc dokonywać konfi gura- cji programu SQL Server 2012. Przykłady kodu Większość rozdziałów tej książki zawiera ćwiczenia, które pomagają w przyswojeniu prezentowanych informacji. Wszystkie przykładowe fragmenty kodu można pobrać z następującej strony: http://go.microsoft.com/FWLink/?Linkid=263543 Strona ta zawiera instrukcję pobierania pliku ćwiczeń (z rozszerzeniem .zip) przy uży- ciu łącza Download the Companion Content (Pobierz materiały pomocnicze). UWAGA W niniejszej książce przyjęto założenie, że na komputerze zainstalowane są pro- gramy Microsoft Visual Studio i SQL Server oraz że dostępna jest przykładowa baza da- nych, którą można pobrać ze wspomnianej strony internetowej. Należy pamiętać również o zainstalowaniu najnowszych pakietów poprawek. Instalowanie przykładów kodu Aby móc korzystać z ćwiczeń prezentowanych w tej książce, należy przygotować pliki kodu oraz dołączyć przykładową bazę danych zgodnie z poniższą instrukcją. 1. Pobierz plik 9780735663862_fi les.zip ze strony internetowej książki, określając (i jeśli to konieczne tworząc) katalog docelowy. 2. Pobierz przykładową bazę danych, korzystając z dostępnego na stronie łącza Download the sample database(s) (Pobierz przykładową bazę(-y) danych). 3. Dołącz pobraną bazę danych do wybranej instancji programu SQL Server 2012. W tym celu uruchom program SQL Server Management Studio (SSMS), połącz się z odpowiednią instancją programu SQL Server 2012, w oknie Object Explorer prawym przyciskiem myszy kliknij folder Databases (Bazy danych) i wybierz opcję Attach (Dołącz). Kliknij przycisk Add (Dodaj). W oknie dialogowym Locate Database Files (Odszukaj pliki bazy danych) znajdź plik pobranej bazy danych, a następnie kliknij przycisk OK. Zaznacz plik z rozszerzeniem .ldf i kliknij przycisk Remove (Usuń). Na zakończenie kliknij przycisk OK. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie xix Podziękowania Na początku chciałbym podziękować Bogu za to, że dał mi wiedzę i motywację potrzeb- ną do stworzenia niniejszej książki. Następnie chciałbym podziękować mojej żonie Karlyn i dwojgu dzieciom PJ oraz Kalyn za wspieranie mnie w realizacji tego projektu. Czasami po długich dniach i nocach poświęconych pisaniu brakowało mi już energii, lecz oni zawsze znajdowali sposób na zmotywowanie mnie do działania. Dziękuję im za dodawanie mi sił, co umożliwiło mi ukończenie tej książki. Jestem szczególnie wdzięczy mojej żonie za stałe i niezłomne wspieranie mnie oraz mojej kariery. Jest ona ideałem matki i żony, dlatego chciałbym podziękować jej za wszystko, co robi. Mojemu edytorowi technicznemu Williamowi Assafowi dziękuję za doskonałe komentarze i poprawki. Nie mógłbym zrealizować tego projektu bez Ciebie. Pod- czas długich nocy poświeconych pisaniu popełniałem wiele błędów, które Ty niestety musiałeś odnajdować i korygować, za co jestem Ci bardzo wdzięczny. Dziękuję rów- nież za napisanie rozdziału 24 „Zdarzenia rozszerzone” oraz rozdziału 30 „Dynamiczne obiekty zarządzania”, które stanowią najprawdopodobniej najlepsze części tej książki. Chciałbym również podziękować Chadowi Churchwellowi oraz Mindy Curnutt, którzy pomogli mi w napisaniu rozdziału 31 „Funkcja AlwaysOn” oraz rozdzia- łu 32 „Wysyłanie dziennika”. Dzięki naszym burzliwym dyskusjom na konferencji PASS Summit w 2012 roku po miesiącu miałem dwa ukończone rozdziały. Dziękuję za pomoc w realizacji tego projektu. Na zakończenie dziękuję mojemu zespołowi redaktorskiemu. Nigdy dotąd nie mia- łem okazji pracować z tak cierpliwą grupą redaktorów. Jeffi e Riley, Melanie Yarbrough oraz Nicole Leclerc dziękuję Wam za ciężką pracę nad tą książką. Errata i dodatkowe informacje Dołożyliśmy wszelkich starań, aby zapewnić jak najlepszą jakość tej książki i dołą- czonych do niej materiałów. Lista błędów zauważonych po opublikowaniu tej książki będzie dostępna na stronie Microsoft Press w witrynie oreilly.com: http://go.microsoft.com/FWLink/?Linkid=263544 Strona ta umożliwia również zgłaszanie błędów, które nie zostały jeszcze udokumentowane. Dodatkowe informacje można uzyskać od działu Microsoft Press Book Support dostępnego pod adresem mspinput@microsoft.com. Należy mieć jednak na uwadze, że powyższe adresy nie służą do uzyskiwania pomocy technicznej w zakresie działania oprogramowania fi rmy Microsoft. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xx Microsoft SQL Server 2012 Krok po kroku Państwa opinia jest dla nas cenna Wydawnictwo Microsoft Press na pierwszym miejscu stawia satysfakcję czytelników, dlatego Państwa zdanie jest dla nas bardzo ważne. Prosimy o wyrażenie opinii na temat tej książki na poniższej stronie: http://www.microsoft.com/learning/booksurvey Ankieta jest krótka i zapewniamy, że czytamy każdy komentarz oraz sugestię. Z góry dziękujemy za wszystkie opinie! Chcielibyśmy pozostać w stałym kontakcie Pozostańmy w stałym kontakcie. Można nas znaleźć w serwisie Twitter: http://twitter.com/MicrosoftPress ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== CZĘŚĆ I Rozpoczęcie pracy z programem Microsoft SQL Server 2012 Część I 1. Wprowadzenie do programu Microsoft SQL Server 2012 . . . . . . . . . . . . . . . 3 2. Instalacja, konfiguracja oraz uaktualnianie programu Microsoft SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3. Narzędzia administracyjne i programistyczne w programie SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ROZDZIAŁ 1 Wprowadzenie do programu Microsoft SQL Server 2012 Po zapoznaniu się z tym rozdziałem Czytelnik będzie umiał: ■ Wymienić podstawowe komponenty i funkcje programu SQL Server oraz wyjaśnić ich zastosowanie. ■ Określić funkcje programu SQL Server niezbędne w wybranym środowisku. ■ Zdefi niować ogólną topologię systemu SQL Server. P roces poznawania nowej technologii jest zwykle pracochłonny i wymaga poświę- cenia dużej ilości czasu. Każdy kolejny etap, począwszy od instalacji i konfi guracji oprogramowania na implementacji pierwszego projektu skończywszy, pociąga za sobą nowe wyzwania. Zadanie to jest tym trudniejsze, im więcej komponentów i funkcji oferuje nowa technologia. Dlatego proces poznawania złożonych programów warto rozpocząć od zidentyfi kowania komponentów niezbędnych w danym środowisku i zapoznania się z ich możliwościami. W niniejszym rozdziale przedstawiony zostanie przegląd komponentów i funkcji programu Microsoft SQL Server 2012, które mogą okazać się przydatne w danym środowisku. Jak większość systemów zarządzania relacyjnymi bazami danych (Relational Data- base Management System – RDBMS), program SQL Server 2012 składa się z wielu komponentów. Podstawowe funkcje produktu można podzielić na dwie kategorie: funkcje analizy biznesowej (Business Intelligence – BI) oraz aparat bazy danych (Data- base Engine). Funkcje analizy biznesowej Funkcje analizy biznesowej (BI – Business Intelligence) służą do przetwarzania danych w celu zdobycia wiedzy, która może pomóc w podejmowaniu trafniejszych decy- zji biznesowych. Na przykład, fi rma handlująca rowerami może wykorzystać dane do zidentyfi kowania trendów sprzedaży oraz struktury zakupów dokonywanych przez klientów. Uzyskane w wyniku analizy informacje mogłyby pomóc fi rmie w odpowied- nim ukierunkowaniu działań marketingowych i zdobyciu przewagi nad konkurencją. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 3 4 Część I: Rozpoczęcie pracy z programem Microsoft SQL Server 2012 Funkcje analizy biznesowej dostępne w programie SQL Server 2012 przynoszą ewidentne korzyści, jednak głównym tematem niniejszej książki są możliwości aparatu bazy danych. Aparat bazy danych Aparat bazy danych stanowi jądro programu SQL Server. Aparat jest uruchomiony na maszynie w postaci usługi, zwanej instancją programu SQL Server. Na danym ser- werze może być uruchomionych wiele instancji programu SQL Server. Gdy nawiązuje- my połączenie z serwerem SQL Server, łączymy się z wybraną instancją. Po nawiązaniu połączenia aplikacja przesyła do instancji instrukcje T-SQL (Transact-SQL). Instancja odpowiada, odsyłając do aplikacji klienckiej zbiory danych. Połączenie obejmuje war- stwę zabezpieczeń, która służy do sprawdzania, czy aplikacja kliencka posiada prawo dostępu do określonych danych. Aparat bazy danych umożliwia korzystanie z pozo- stałych komponentów odpowiedzialnych m.in. za dostęp do danych, przechowywanie ich oraz zabezpieczanie. Aparat bazy danych zawiera komponent odpowiedzialny za przechowywanie danych na dysku. Projektując bazy danych, konfi gurujemy różne ustawienia, które decydują o sposobie fi zycznego rozmieszczenia tabel, indeksów oraz niektórych wido- ków w systemie dyskowym. Koncepcja tabel, indeksów oraz widoków zostanie szcze- gółowo omówiona w kolejnych rozdziałach. W programie SQL Server 2012 możemy rozmieszczać dane na różnych dyskach, korzystając z partycjonowania lub dzieląc dane na osobne, niezależne części. Mechanizm partycjonowania nie tylko zwiększa wydajność zapytań, ale także upraszcza proces zarządzania danymi. W wersji SQL Ser- ver 2012 limit wspieranych partycji dla pojedynczej tabeli został zwiększony do 15000. Komponent odpowiedzialny za przechowywanie danych stanowi kluczowy element aparatu bazy danych i jest powiązany z szeregiem innych komponentów, takich jak: ■ ■ ■ ■ ■ ■ ■ interfejs programowania w języku T-SQL (zaimplementowanej przez fi rmę Microsoft wersji standardu SQL ANSI), podsystem zabezpieczeń, replikacja, usługa SQL Server Agent, narzędzia do zapewniania wysokiej dostępności i odzyskiwania awaryjnego, usługi SQL Server Integration Services, narzędzia do zarządzania systemem SQL Server. Kolejne sekcje zawierają ogólne omówienie poszczególnych komponentów. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Rozdział 1: Wprowadzenie do programu Microsoft SQL Server 2012 5 Interfejs programowania w języku T-SQL Jaki sens miałoby przechowywanie danych bez możliwości uzyskiwania do nich dostę- pu? Program SQL Server oferuje zaawansowany język programowania, który służy do tworzenia zapytań wykonywanych na wewnętrznych strukturach przechowywa- nia danych. Za pomocą języka T-SQL możemy tworzyć zapytania typu DML (Data Manipulation Language – język przetwarzania danych), które pozwalają na uzyski- wanie dostępu do danych oraz modyfi kowanie ich. Możemy również tworzyć obiek- ty, takie jak widoki, procedury składowane, wyzwalacze oraz funkcje defi niowane przez użytkownika, które służą do udostępniania danych. Aplikacje zaimplemento- wane w takich językach programowania jak Visual Basic czy C# .NET mogą przesyłać zapytania T-SQL do aparatu bazy danych. Aparat bazy danych analizuje te zapytania, a następnie odsyła zbiór wyników do aplikacji klienckiej. Ponadto możemy tworzyć zapytania typu DDL (Data Defi nition Language – język defi niowania danych), które służą do tworzenia i modyfi kowania obiektów eksponu- jących dane. Za pomocą skryptów T-SQL możemy również zarządzać konfi guracją ser- wera oraz zabezpieczeniami. Język T-SQL jest zoptymalizowany pod kątem przetwa- rzania zbiorów danych, a nie przetwarzania tekstu lub iteracji po wierszach danych. Choć umożliwia realizowanie operacji bazujących na kursorze, są one mniej efektywne niż prawidłowo zaprojektowane metody bazujące na zbiorach. Jeśli istnieje koniecz- ność zrealizowania operacji bazujących na kursorze, warto rozważyć zastosowanie języka CLR (Common Language Runtime – języka wspólnego środowiska uruchamia- nia). W ten sposób możemy rozszerzyć funkcjonalność języka T-SQL, korzystając ze swojego ulubionego kompilatora (np. Visual Studio). W wersji SQL Server 2012 język T-SQL został rozszerzony o kilka nowych możliwo- ści, m.in. uproszczony mechanizm stronicowania, funkcje okna oraz obsługę błędów. Dodana została instrukcja THROW, dzięki której możemy w elegancki sposób obsłu- giwać błędy poprzez wywoływanie wyjątków. Możemy także tworzyć tabele plików (FileTable) bazujące na technologii FileStream wprowadzonej w wersji SQL Server 2008. Korzystając z funkcji FileTable ze wsparciem dla wyszukiwania pełnotekstowe- go, możemy realizować skomplikowane zapytania na danych tekstowych o ogromnym rozmiarze (takich jak np. cała treść niniejszej książki). W wersji SQL Server 2012 wprowadzone zostały także nowe funkcje konwersji i przetwarzania danych teksto- wych, logicznych oraz daty i godziny. Podrzędny system zabezpieczeń W większości organizacji dane mają ogromną wartość i ich bezpieczeństwo jest nie- zmiernie ważne. Luki w zabezpieczeniach mogą pociągać za sobą katastrofalne konse- kwencje dla fi rmy. W związku z tym program SQL Server 2012 oferuje solidny system zabezpieczeń, który pozwala na kontrolowanie dostępu w trybie uwierzytelniania SQL ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 6 Część I: Rozpoczęcie pracy z programem Microsoft SQL Server 2012 lub w trybie uwierzytelniania systemu Windows. Administratorzy mogą konfi gurować zabezpieczenia programu SQL Server na wielu różnych poziomach. Za pomocą języ- ka T-SQL lub narzędzia SQL Server Management Studio mogą kontrolować dostęp do wybranej instancji programu SQL Server, do wybranych baz danych, do wybranych obiektów w tych bazach danych, a nawet do wybranych kolumn tabeli. Program SQL Server oferuje również wbudowaną funkcję szyfrowania. Na przy- kład, gdybyśmy chcieli zabezpieczyć numery NIP pracowników, moglibyśmy zaszy- frować pojedynczą kolumnę w tabeli przy użyciu szyfrowania na poziomie kolumn. Co więcej, program SQL Server oferuje funkcję niewidocznego szyfrowania danych (Transparent Data Encryption – TDE), która pozwala na szyfrowanie całej bazy danych w taki sposób, aby aplikacje klienckie mogły nadal uzyskiwać do niej dostęp. Jednak gdyby ktoś wykorzystał lukę w zabezpieczeniach sieciowych do wykradzenia pliku danych lub pliku kopii zapasowej, nie będzie mógł uzyskać dostępu do danych bez klucza szyfrowania. Program SQL Server oferuje nie tylko zaawansowany system zabezpieczania danych, ale także możliwość stałego monitorowania (inspekcjonowania) serwera i baz danych. Program SQL Server 2012 umożliwia fi ltrowanie zdarzeń przed zapisaniem ich w dzienniku inspekcji. W rozdziale 25 zatytułowanym „Zabezpieczenia w progra- mie SQL Server” zaprezentowane zostaną metody planowania i wdrażania strategii zabezpieczania serwera SQL Server. Omówione zostaną różne aspekty procesu two- rzenia kont logowania oraz użytkowników, a także techniki tworzenia zabezpieczeń i konfi gurowania kont zabezpieczeń. Dodatkowo w wersji SQL Server 2012 wspierane są defi niowane przez użytkowni- ka role serwera, które rozszerzają możliwości przyznawania praw dostępu na poziomie serwera. Dostępna jest także funkcja zwana zawartymi bazami danych, która umoż- liwia tworzenie użytkowników w bazie danych bez konieczności dodawania konta logowania na serwerze. W poprzednich wersjach programu SQL Server administrator musiał stworzyć konto logowania na serwerze, aby móc przyznać użytkownikowi pra- wa dostępu na poziomie bazy danych. W wersji SQL Server 2012 można defi niować autonomiczne konta użytkowników na poziomie bazy danych. Replikacja Funkcja replikacji została udostępniona już w początkowych wersjach produktu SQL Server. Z czasem wprowadzane były nowe typy replikacji, które umożliwia- ły konfi gurowanie złożonych topologii realizujących różne scenariusze replikacji. Technologia replikacji w programie SQL Server pozwala na rozpraszanie danych lokalnie lub między różnymi serwerami, przy użyciu protokołu File Transfer Protocol (FTP), za pośrednictwem Internetu oraz do użytkowników mobilnych. Wspierana jest replikacja wypychana (ang. push), replikacja ściągana (ang. pull) lub scalanie danych ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Rozdział 1: Wprowadzenie do programu Microsoft SQL Server 2012 7 w
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Microsoft SQL Server 2012 Krok po kroku
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: