Wprowadzenie ,. . . . xiii
Przygotowanie do egzaminu, . . . .xxii
O autorach ,. . . . xxiii
1 Planowanie i wykonywanie instalacji SQL Server 2012 , . . . . 1
Lekcja 1: Planowanie instalacji, . . . . . . . . 2
Szacowanie wymagań instalacji, . . . . . 2
Projektowanie instalacji, , . 8
Planowanie skalowania i rozszerzania – podstawy , , . . . 10
Zmniejszanie i rozszerzanie baz danych , , , . 11
Projektowanie magazynowania dla nowych baz danych , . . . . . 15
Pamiętajmy o ograniczeniach pojemności , , . . . . . . . . . . 17
Identyfikowanie rezerwowych baz danych na potrzeby raportowania . . . . . . . 18
Identyfikowanie zabezpieczeń poziomu Windows i poziomu usługi . . . . . . . . . 18
Wykonywanie instalacji w trybie Server Core , , . . . . . . . 20
Ocena wydajności serwera, . . . . . . . . 22
Podsumowanie lekcji, , ...........27
Pytania do lekcji ,...... 28
Lekcja 2: Instalowanie SQL Server i usług powiązanych , . . . . . . . . 30
Konfigurowanie dysku systemu operacyjnego , , . . . . . . 30
Instalowanie komponentu SQL Server Database Engine, . . . . . . . . . 31
Instalowanie SQL Server 2012 w trybie wiersza polecenia , . . . . . . . 36
Instalowanie komponentu SQL Server Integration Services , . . . . . . 38
Włączanie i wyłączanie funkcji, . . . . . 40
Instalowanie SQL Server 2012 przy użyciu pliku konfiguracyjnego . . . . . . . . . 43
Testowanie łączności, , . . 44
Podsumowanie lekcji, , . . 55
Pytania do lekcji ,..........56
Scenariusze przykładowe, , 57
Zalecane ćwiczenia praktyczne, . . . . . . 58
Odpowiedzi ,. . . . . . 59
2 Konfigurowanie i zarządzanie instancjami SQL Server , . . . . 63
Lekcja 1: Konfigurowanie instancji SQL Server , , . . . . . . . 64
Ustawienia na poziomie instancji, . . 64
Konfiguracja i standaryzacja baz danych , , , 71
Distributed Transaction Coordinator, 74
Konfigurowanie Database Mail, . . . . 75
Podsumowanie lekcji, , ..... . 81
Pytania do lekcji ,..........82
Lekcja 2: Zarządzanie instancjami SQL Server , , . . . . . . . . 84
Instalowanie dodatkowych instancji, 84
Rozpowszechnianie aktualizacji oprogramowania i zarządzanie poprawkami . 88
Konfigurowanie narzędzia Resource Governor , , . . . . . . 90
Wykorzystanie WSRM przy wielu instancjach Database Engine , . . 96
Rotacja dzienników błędów SQL Server , , , . 99
Podsumowanie lekcji, , . 102
Pytania do lekcji, , . . . . . 102
Scenariusze przykładowe, . . . . . . . . . . 104
Zalecane ćwiczenia praktyczne, . . . . . 105
Odpowiedzi ,. . . . . 106
3 Konfigurowanie komponentów SQL Server 2012 , . . . . . . . . 111
Lekcja 1: Konfigurowanie dodatkowych komponentów SQL Server. . . . . . . . . . 112
Instalowanie i konfigurowanie Analysis Services, , . . . . 112
Instalowanie i konfigurowanie Reporting Services , , . . 114
Wdrażanie i konfigurowanie integracji z SharePoint , , 118
Konfigurowanie zabezpieczeń SQL Server Integration Services , . . 121
Zarządzanie indeksowaniem pełnotekstowym , , . . . . . 122
Konfigurowanie FILESTREAM, . . . . . 125
Konfigurowanie mechanizmu FileTable , , , 127
Podsumowanie lekcji, , . 130
Pytania do lekcji, , . . . . . 131
Lekcja 2: Zarządzanie i konfigurowanie baz danych , , . . 132
Projektowanie i zarządzanie grupami plików , , . . . . . . 132
Standaryzowanie baz danych, . . . . . 135
Istota zawartych baz danych, . . . . . 136
Korzystanie z kompresji danych., . . 138
Szyfrowanie baz danych przy użyciu Transparent Data Encryption . . . . . . . . . 143
Partycjonowanie indeksów i tabel, . 145
Zarządzanie plikami dzienników, . . 149
Korzystanie z poleceń DBCC., . . . . . 150
Podsumowanie lekcji, , . 155
Pytania do lekcji, , . . . . . 156
Scenariusze przykładowe, . . . . . . . . . . 157
Zalecane ćwiczenia praktyczne, . . . . . 158
Odpowiedzi ,. . . . . 159
4 Migracja, importowanie i eksportowanie , , . . . . . 163
Lekcja 1: Migracja do wersji SQL Server 2012 , , . . . . . . . 164
Wykonywanie uaktualnienia instancji do SQL Server 2012 , . . . . . 164
Migracja bazy danych do instancji SQL Server 2012 , , 171
Kopiowanie baz danych na inne serwery , , . . . . . . . . . . 175
Migrowanie loginów SQL, . . . . . . . . 181
Podsumowanie lekcji, , . 185
Pytania do lekcji, , . . . . . 185
Lekcja 2: Importowanie i eksportowanie danych , , . . . . 187
Kopiowanie i eksportowanie danych , , , . . 187
Korzystanie z SQL Server Import and Export Wizard , , 188
Wykorzystanie BCP do importowania i eksportowania danych , . . 191
Importowanie danych przy użyciu BULK INSERT , , . . . 192
Importowanie danych przy użyciu OPENROWSET(BULK) , . . . . . . . 192
Korzystanie z plików formatu, . . . . . 193
Przygotowywanie danych do operacji masowych , , . . 194
SELECT INTO ,. . 195
Podsumowanie lekcji, , . 197
Pytania do lekcji, , . . . . . 198
Scenariusze przykładowe, . . . . . . . . . . 199
Zalecane ćwiczenia praktyczne, . . . . . 200
Odpowiedzi ,. . . . . 201
5 Loginy, role i użytkownicy SQL Server , , . . . . . . . . 205
Lekcja 1: Zarządzanie loginami i rolami serwerowymi , , 206
Loginy SQL Server, , . . . 206
Role serwerowe ,214
Role serwerowe zdefiniowane przez użytkownika , , . . 216
Poświadczenia ,. 217
Podsumowanie lekcji, , . 220
Pytania do lekcji, , . . . . . 221
Lekcja 2: Zarządzanie użytkownikami i rolami bazodanowymi , . . . 222
Użytkownicy bazy danych, . . . . . . . . 222
Role bazodanowe, , . . . . 225
Zawarci użytkownicy, , . 230
Najmniejsze przywileje, . . . . . . . . . . 232
Role aplikacji ,. . 233
Podsumowanie lekcji, , . 235
Pytania do lekcji, , . . . . . 236
Scenariusze przykładowe, . . . . . . . . . . 237
Zalecane ćwiczenia praktyczne, . . . . . 238
Odpowiedzi ,. . . . . 239
6 Zabezpieczanie SQL Server 2012 , , , . . . 243
Lekcja 1: Zarządzanie uprawnieniami bazy danych , , . . 244
Istota przedmiotów zabezpieczeń, . 244
Przypisywanie uprawnień do obiektu , , , . . 246
Zarządzanie uprawnieniami za pośrednictwem ról bazodanowych . . . . . . . . . 247
Ochrona obiektów przed modyfikowaniem , , . . . . . . . 250
Korzystanie ze schematów, . . . . . . . 251
Ustalanie uprawnień efektywnych, . 253
Podsumowanie lekcji, , . 254
Pytania do lekcji, , . . . . . 255
Lekcja 2: Rozwiązywanie problemów z zabezpieczeniami , . . . . . . . . 256
Rozwiązywanie problemów z uwierzytelnianiem , , . . . 256
Rozwiązywanie problemów dotyczących certyfikatów i kluczy , . . 259
Rozwiązywanie problemów dotyczących punktów końcowych , . . 260
Korzystanie z widoków katalogowych zabezpieczeń , , 262
Podsumowanie lekcji, , . 264
Pytania do lekcji, , . . . . . 264
Lekcja 3: Inspekcja instancji SQL Server , , , . . 266
Korzystanie z inspekcji SQL Server, 266
Konfigurowanie inspekcji logowania , , , . . 279
Korzystanie z trybu inspekcji C2, . . 280
Zgodność ze standardem Common Criteria , , . . . . . . . 281
Zarządzanie oparte na zasadach, . . 282
Podsumowanie lekcji, , . 287
Pytania do lekcji, , . . . . . 288
Scenariusze przykładowe, . . . . . . . . . . 289
Zalecane ćwiczenia praktyczne, . . . . . 290
Odpowiedzi ,. . . . . 292
7 Dublowanie i replikacja, . . . . . . . . 297
Lekcja 1: Dublowanie baz danych, . . . 298
Dublowanie baz danych, . . . . . . . . . 298
Uwarunkowania wstępne dublowania , , , . 299
Konfigurowanie dublowania z uwierzytelnianiem Windows , . . . . 304
Konfigurowanie dublowania z uwierzytelnianiem przy użyciu certyfikatów . . 307
Zmienianie trybu operacyjnego, . . . 309
Przełączanie ról i praca awaryjna, . 310
Monitorowanie dublowanych baz danych , , . . . . . . . . . 312
Spis treści ix
Aktualizowanie dublowania bazy danych , , . . . . . . . . . 314
Podsumowanie lekcji, , . 318
Pytania do lekcji, , . . . . . 318
Lekcja 2: Replikacja bazy danych, . . . . 320
Architektura replikacji, , 320
Typy replikacji ,. 321
Replikacja migawkowa, . . . . . . . . . . 322
Replikacja transakcyjna, . . . . . . . . . . 326
Replikacja transakcyjna peer-to-peer , , , . . 328
Replikacja scalająca, , . . 330
Replication Monitor, , . . 334
Kontrolowanie replikacji ograniczeń, kolumn i wyzwalaczy , . . . . . 336
Replikacje heterogeniczne, . . . . . . . 337
Podsumowanie lekcji, , . 339
Pytania do lekcji, , . . . . . 340
Scenariusze przykładowe, . . . . . . . . . . 341
Zalecane ćwiczenia praktyczne, . . . . . 342
Odpowiedzi ,. . . . . 343
8 Klastrowanie i AlwaysOn, . . . . . . . 347
Lekcja 1: Klastrowanie SQL Server 2012 , , , . 348
Wymagania dotyczące wydania., . . 348
Tworzenie klastra pracy awaryjnej Windows Server 2008 R2 , . . . . 353
Instalowanie klastra pracy awaryjnej SQL Server , , . . . 355
Wielosieciowe klastry pracy awaryjnej , , , . 359
Wykonywanie ręcznego przełączania awaryjnego , , . . 360
Rozwiązywanie problemów dotyczących klastrów pracy awaryjnej . . . . . . . . . 361
Podsumowanie lekcji, , . 365
Pytania do lekcji, , . . . . . 366
Lekcja 2: Grupy dostępności AlwaysOn , , , . . 367
Czym są grupy dostępności AlwaysOn? , , , 367
Spełnianie warunków wstępnych, . . 368
Konfigurowanie trybów dostępności , , , . . 369
Wybieranie trybu przełączania awaryjnego , , . . . . . . . 370
Konfigurowanie odczytywalnych replik podrzędnych , . . . . . . . . . . 374
Wdrażanie grup dostępności AlwaysOn , , , 375
Korzystanie z grup dostępności w instancjach klastrowych , . . . . . 383
Podsumowanie lekcji, , . 386
Pytania do lekcji, , . . . . . 387
Scenariusze przykładowe, . . . . . . . . . . 388
Zalecane ćwiczenia praktyczne, . . . . . 389
Odpowiedzi ,. . . . . 389
9 Rozwiązywanie problemów w SQL Server 2012 , . . . . . . . . . . 393
Lekcja 1: Korzystanie z Performance Monitor , , . . . . . . . 394
Wprowadzenie do Performance Monitor, , . . . . . . . . . . 394
Przechwytywanie danych wydajności , , , . . 397
Tworzenie zbiorów modułów zbierających dane , , . . . 399
Podsumowanie lekcji, , . 401
Pytania do lekcji, , . . . . . 401
Lekcja 2: Korzystanie z SQL Server Profiler , , . . . . . . . . . . 402
Rejestrowanie aktywności za pomocą SQL Server Profiler , . . . . . . 402
Istota SQL Trace, , . . . . . 407
Przeglądanie wyjścia śledzenia, . . . 408
Przechwytywanie aktywności przy użyciu Extended Events , . . . . . 409
Podsumowanie lekcji, , . 410
Pytania do lekcji, , . . . . . 411
Lekcja 3: Monitorowanie SQL Server, 412
Monitorowanie aktywności, . . . . . . . 412
Korzystanie z narzędzia Activity Monitor , , . . . . . . . . . . 415
Podsumowanie lekcji, , . 416
Pytania do lekcji, , . . . . . 417
Lekcja 4: Korzystanie z modułów zbierających dane , , . 418
Przechwytywanie i zarządzanie danymi wydajności , , . 418
Analizowanie zgromadzonych danych wydajności, , . . 422
Podsumowanie lekcji, , . 425
Pytania do lekcji, , . . . . . 425
Lekcja 5: Identyfikowanie wąskich gardeł , , , 426
Monitorowanie wykorzystania dysku , , , . . 426
Monitorowanie wykorzystania pamięci , , , 428
Monitorowanie wykorzystania procesora , , . . . . . . . . . . 430
Podsumowanie lekcji, , . 431
Pytania do lekcji, , . . . . . 432
Scenariusze przykładowe, . . . . . . . . . . 432
Zalecane ćwiczenia praktyczne, . . . . . 433
Odpowiedzi ,. . . . . 434
10 Indeksy i współbieżność, . . . . . . . . 439
Lekcja 1: Implementacja i utrzymywanie indeksów , , . . 440
Anatomia zrównoważonego drzewa (B-drzewa) , , . . . 440
Typy indeksów i struktury, . . . . . . . . 442
Projektowanie indeksów pod kątem wydajnego odczytywania danych . . . . . . 445
Statystyki ,. . . . . 451
Tworzenie i modyfikowanie indeksów , , , . 454
Śledzenie brakujących indeksów, . . 460
Przeglądanie nieużywanych indeksów , , , . 461
Podsumowanie lekcji, , . 464
Pytania do lekcji, , . . . . . 464
Lekcja 2: Identyfikowanie i rozwiązywanie problemów dotyczących
współbieżności ,. . 466
Definicja transakcji i zakresu transakcyjnego , , . . . . . . . 466
Zarządzanie blokadami w SQL Server , , , . 467
Wykorzystanie replik AlwaysOn do zwiększania współbieżności , . 474
Wykrywanie i korygowanie zakleszczeń , , , 475
Korzystanie z Activity Monitor, . . . . 476
Diagnozowanie wąskich gardeł, . . . 478
Wykorzystanie raportów do analizy wydajności , , . . . . 480
Podsumowanie lekcji, , . 483
Pytania do lekcji, , . . . . . 484
Scenariusze przykładowe, . . . . . . . . . . 485
Zalecane ćwiczenia praktyczne, . . . . . 486
Odpowiedzi ,. . . . . 487
11 SQL Server Agent, kopie zapasowe i przywracanie , . . . . . . 491
Lekcja 1: Zarządzanie SQL Server Agent , , , . 492
Wykonywanie zadań przy użyciu SQL Server Agent , , 492
Zarządzanie alertami, , . 498
Zarządzanie zadaniami, . . . . . . . . . . 500
Monitorowanie środowisk wieloserwerowych , , . . . . . . 508
Podsumowanie lekcji, , . 512
Pytania do lekcji, , . . . . . 512
Lekcja 2: Strategia konfigurowania i utrzymywania kopii zapasowych . . . . . . . 514
Rozróżnianie typów kopii zapasowych , , , . 514
Kopie zapasowe baz systemowych, 519
Kopie zapasowe replikowanych baz danych , , . . . . . . . 520
Kopie zapasowe dublowanych baz danych , , . . . . . . . . 520
Kopie zapasowe replik AlwaysOn, . 521
Korzystanie z punktów kontrolnych baz danych , , . . . 522
Korzystanie z urządzeń kopii zapasowych , , . . . . . . . . . 523
Zestawy nośników kopii zapasowych , , , . . 524
Wykonywanie kopii zapasowych, . . 525
Przeglądanie historii kopii zapasowych , , , 528
Podsumowanie lekcji, , . 530
Pytania do lekcji, , . . . . . 531
Lekcja 3: Przywracanie baz danych SQL Server , , . . . . . . 532
Przywracanie baz danych, . . . . . . . . 532
Wykonywanie przywracania plików , , , . . . 536
Wykonywanie przywracania stron, . 537
Przywracanie bazy danych chronionej przez Transparent Data Encryption . . . 539
Przywracanie systemowych baz danych , , , 540
Przywracanie replikowanych baz danych , , . . . . . . . . . . 541
Sprawdzanie statusu bazy danych, . 541
Podsumowanie lekcji, , . 543
Pytania do lekcji, , . . . . . 544
Scenariusze przykładowe, . . . . . . . . . . 545
Zalecane ćwiczenia praktyczne, . . . . . 547
Odpowiedzi ,. . . . . 548
12 Przykłady kodu: analizy przypadków , , . . . . . . . . . 553
Studium przypadku 1., , . . 553
Studium przypadku 2., , . . 559
Studium przypadku 3., , . . 564
Studium przypadku 4., , . . 570
Odpowiedzi ,. . . . . 576
Indeks ,. . . . . . . . . . 599