SlideShare a Scribd company logo
IDZ DO
         PRZYK£ADOWY ROZDZIA£
                                          Microsoft SQL Server
                           SPIS TRE CI
                                          2000. Ksiêga eksperta
           KATALOG KSI¥¯EK                Autorzy: Ray Rankins, Paul Jensen, Paul Bertucci
                                          T³umaczenie: Micha³ Dadan, Leszek Mosingiewicz,
                      KATALOG ONLINE      Rafa³ Szpoton
                                          ISBN: 83-7197-721-2
       ZAMÓW DRUKOWANY KATALOG            Tytu³ orygina³u: Microsoft SQL Server 2000. Unleashed
                                          Format: B5, stron: 1302

              TWÓJ KOSZYK                „Microsoft SQL Server 2000. Ksiêga eksperta” to pozycja przeznaczona dla rednio
                                         zaawansowanego i zaawansowanego u¿ytkownika. Nadaje siê ona zarówno dla
                    DODAJ DO KOSZYKA     administratorów programu SQL Server, jak i programistów chc¹cych w pe³ni zrozumieæ
                                         dzia³anie tego produktu i pisaæ lepsze aplikacje oraz kod Transact-SQL. Je¿eli jeste
                                         odpowiedzialny za analizê, projektowanie, implementacjê, obs³ugê, administrowanie czy
         CENNIK I INFORMACJE             rozwi¹zywanie problemów z SQL Server 2000, ta ksi¹¿ka bêdzie stanowiæ doskona³e ród³o
                                         praktycznych informacji. Autorzy szczegó³owo omówili bardziej z³o¿one aspekty produktu,
                   ZAMÓW INFORMACJE      takie jak wykorzystanie nowych narzêdzi, kodowanie w jêzyku Transact-SQL,
                     O NOWO CIACH        administrowanie serwerem, analizowanie zapytañ, optymalizacjê, hurtownie danych,
                                         zarz¹dzanie bardzo du¿ymi bazami danych i poprawianie wydajno ci.
                       ZAMÓW CENNIK      Omówione zagadnienia to m.in.
                                            • rodowisko Microsoft SQL Server 2000 i zmiany wprowadzone w najnowszej
                                              wersji programu
                 CZYTELNIA                  • Instalowanie i konfigurowanie serwera i programów klienckich
                                            • Narzêdzia administracyjne i administrowanie SQL Serverem
          FRAGMENTY KSI¥¯EK ONLINE          • Praca z SQL Server Enterprise Managerem i narzêdziami uruchamianymi z linii poleceñ
                                            • Tworzenie baz danych, tabel, indeksów, widoków
                                            • Pisanie procedur przechowywanych na serwerze i wyzwalaczy
                                            • Tworzenie w³asnych funkcji
                                            • Kwestie zwi¹zane z bezpieczeñstwem bazy danych, uprawnieniami u¿ytkowników
                                              i odzyskiwaniem danych w przypadku awarii
                                            • Zarz¹dzanie serwerami sprzê¿onymi i zdalnymi, tworzenie klastrów
                                            • Import, eksport i replikacja danych
                                            • U¿ycie jêzyka T-SQL
                                            • Wewnêtrzne mechanizmy serwera
                                            • Kwestie strojenia i optymalizacji zapytañ
Wydawnictwo Helion                          • Blokowanie i jego wp³yw na wydajno æ
ul. Chopina 6                               • Techniki projektowania efektywnych baz danych
44-100 Gliwice                              • XML w programie SQL Server 2000
tel. (32)230-98-63                          • Us³ugi analizy danych w programie SQL Server
e-mail: helion@helion.pl                    • Microsoft Transaction Server i jego zastosowanie
                                         Ksi¹¿ka ta nie jest tylko opisem sk³adni, zastêpuj¹cym dokumentacjê do³¹czan¹ do SQL
                                         Server. Przydaje siê ona tam, gdzie dokumentacja online nie zdaje egzaminu. Autorzy dziel¹
                                         siê z czytelnikami przyk³adami i przemy leniami wynikaj¹cymi z ich wieloletniego
                                         do wiadczenia zawodowego w pracy z MS SQL Server. „Microsoft SQL Server 2000. Ksiêga
                                         eksperta” to niezbêdne ród³o informacji dla wszystkich pracuj¹cych z tym programem.
5RKU VTG EK
  1 #WVQTCEJ 
  9UVúR

%ú è + 9KVCL Y YKGEKG /KETQUQHV 53. 5GTXGT 
  4QFKC  TQFQYKUMQ /KETQUQHV 53. 5GTXGT
      Ogólny opis architektury klient-serwer ....................................................................................... 41
          Model wykorzystujący komputery mainframe ....................................................................... 43
          Model wykorzystujący komputery PC pracujące w sieci LAN................................................. 43
          Warstwy pośredniczące ....................................................................................................... 43
      Silnik baz danych SQL Servera ................................................................................................. 44
          Niezawodne przechowywanie danych................................................................................... 45
          Natychmiastowy dostęp do danych....................................................................................... 45
          Zapewnianie spójnego dostępu do danych............................................................................. 46
          Kontrola dostępu ................................................................................................................ 46
          Narzucanie reguł integralności danych.................................................................................. 46
      SQL Server Enterprise Manager ................................................................................................ 47
      SQL Service Manager............................................................................................................... 48
      SQL Server Agent .................................................................................................................... 49
      SQL Query Analyzer ................................................................................................................ 50
      SQL Profiler ............................................................................................................................ 51
      Usługi przekształcania danych ................................................................................................... 52
      Replikacja................................................................................................................................ 54
          Replikacja migawkowa........................................................................................................ 54
          Replikacja transakcyjna....................................................................................................... 54
          Replikacja scalająca ............................................................................................................ 55
          Uaktualnienia błyskawiczne................................................................................................. 55
      Microsoft Search Server (wyszukiwanie pełnotekstowe) .............................................................. 56
      Usługi analizy danych (OLAP Server)........................................................................................ 57

  4QFKC  TQFQYKUMC RTCE[ K YGTULG 53. 5GTXGTC  
      Środowiska pracy SQL Server 2000........................................................................................... 59
         Windows 98 i Windows ME ................................................................................................ 59
         Windows NT 4.0 ................................................................................................................ 60
         Windows 2000 ................................................................................................................... 60
         Windows CE ...................................................................................................................... 61
         Tabela platform systemowych i wersji SQL Servera 2000 ...................................................... 62
6           Microsoft SQL Server 2000. Księga eksperta

       Wersje SQL Servera 2000......................................................................................................... 63
          SQL Server 2000 Standard Edition ....................................................................................... 63
          SQL Server 2000 Enterprise Edition ..................................................................................... 64
          Inne wersje SQL Servera 2000............................................................................................. 65
       Modele licencjonowania SQL Servera 2000................................................................................ 67
          Licencjonowanie wersji Personal Edition .............................................................................. 69
          Licencjonowanie wersji Database Engine.............................................................................. 69
          Licencjonowanie wersji Windows CE Edition ....................................................................... 69
          Wybór modelu licencjonowania ........................................................................................... 69
          Mieszanie modeli licencjonowania ....................................................................................... 70
          Licencje dla klastrów .......................................................................................................... 70

    4QFKC  0QYQ EK Y 53. 5GTXGTG  
       Nowe właściwości SQL Servera 2000 ........................................................................................ 71
          Funkcje definiowane przez u ytkownika ............................................................................... 72
          Widoki indeksowane ........................................................................................................... 72
          Rozproszone widoki częściowe ............................................................................................ 73
          Wyzwalacze INSTEAD OF i AFTER................................................................................... 73
          Nowe typy danych.............................................................................................................. 73
          Tekst w wierszu danych ...................................................................................................... 74
          Kaskadowe ograniczenia RI................................................................................................. 74
          Mo liwość uruchamiania kilku kopii SQL Servera................................................................. 74
          Obsługa XML .................................................................................................................... 75
          Przenoszenie dziennika........................................................................................................ 75
       Rozszerzenia wprowadzone w SQL Serverze 2000...................................................................... 76
          Rozszerzenia w systemie indeksowania................................................................................. 76
          Rozszerzenia sposobu sortowania......................................................................................... 76
          Rozszerzenia DBCC ........................................................................................................... 77
          Rozszerzenia w wyszukiwaniu pełnotekstowym .................................................................... 77
          Rozszerzone mo liwości tworzenia klastrów ......................................................................... 77
          Rozszerzenia dotyczące tworzenia i przywracania kopii bezpieczeństwa.................................. 78
          Obsługa do 64 GB pamięci .................................................................................................. 78
          Rozszerzenia usług analizy danych....................................................................................... 78

%ú è ++ +PUVCNCELC K WCMVWCNPKGPKG 
    4QFKC  +PUVCNQYCPKG PQYGL MQRKK 53. 5GTXGTC
       Wybór wersji SQL Servera ....................................................................................................... 83
       Wymagania sprzętowe .............................................................................................................. 85
         Procesor ............................................................................................................................ 85
         Pamięć............................................................................................................................... 85
         Przestrzeń dyskowa i rodzaje dysków twardych..................................................................... 86
       Wymagania programowe........................................................................................................... 86
         System operacyjny.............................................................................................................. 87
         System plików.................................................................................................................... 87
         Pozostałe wymagania .......................................................................................................... 88
       Wybór opcji konfiguracyjnych w czasie instalacji........................................................................ 88
         Wybór komponentów SQL Servera i miejsca poło enia plików............................................... 88
         Konta u ytkowników programów SQL Server i SQL Server Agent ......................................... 90
         Wybór trybu uwierzytelniania .............................................................................................. 91
Spis treści                    7

         Wybór domyślnego sposobu sortowania................................................................................ 91
         Biblioteki sieciowe.............................................................................................................. 92
         Metody licencjonowania...................................................................................................... 93
     Sprawdzanie poprawności instalacji ........................................................................................... 94
     Uruchamianie, zatrzymywanie i pauzowanie SQL Servera ........................................................... 94
         Łączenie się z SQL Serverem .............................................................................................. 95
     Konfiguracja SQL Servera po jego zainstalowaniu ...................................................................... 96
         Zmiana hasła u ytkownika sa............................................................................................... 96
         Konfiguracja kont administratora ......................................................................................... 96
         Konfiguracja dziennika błędów ............................................................................................ 97
         Narzędzie Server Network................................................................................................... 97
     Rozwiązywanie problemów z instalacją...................................................................................... 97
     Instalacja zdalna ....................................................................................................................... 98
     Instalacja nienadzorowana......................................................................................................... 98
     Instalowanie kopii SQL Servera o określonej nazwie ................................................................... 99
         Po co instalować wiele kopii SQL Servera ............................................................................ 99
     Uaktualnianie z wcześniejszych wersji ..................................................................................... 100

  4QFKC  +PUVCNQYCPKG K MQPHKIWTCELC MNKGPVC 
     Architektura klienta SQL Servera ............................................................................................ 101
     Instalowanie narzędzi klienckich.............................................................................................. 103
         Wymagania klientów......................................................................................................... 103
         Opcje instalacyjne............................................................................................................. 103
     Konfiguracja klientów............................................................................................................. 105
         Narzędzie konfiguracji sieci SQL Servera ........................................................................... 106
     Obsługa protokołów sieciowych .............................................................................................. 109
         Protokoły sieciowe............................................................................................................ 109
         Rozwiązywanie problemów z połączeniami klienckimi ........................................................ 112
     Instalowanie ODBC................................................................................................................ 115
         Konfiguracja źródeł danych ODBC .................................................................................... 115
         Rozwiązywanie problemów z połączeniami ODBC.............................................................. 116
         OLE DB .......................................................................................................................... 116
     Łączenie się z SQL Serverem za pośrednictwem Internetu ......................................................... 117
         Zabezpieczanie połączeń przychodzących z Internetu .......................................................... 117
         Łączenie się z SQL Serverem za pośrednictwem Microsoft Proxy Server .............................. 118

%ú è +++ 0CTúFKC CFOKPKUVTCE[LPG
K CFOKPKUVTQYCPKG RTQITCOGO 53. 5GTXGT 
  4QFKC  2QFUVCYQYG HWPMELG K PCTúFKC CFOKPKUVTCVQTC
     Obowiązki administratora systemu........................................................................................... 121
     Systemowe bazy danych ......................................................................................................... 122
        master.............................................................................................................................. 122
        msdb ............................................................................................................................... 122
        model .............................................................................................................................. 123
        tempdb ............................................................................................................................ 123
        Baza distribution............................................................................................................... 123
     Tabele systemowe .................................................................................................................. 123
        Katalog systemowy........................................................................................................... 124
        Katalog baz danych........................................................................................................... 125
8           Microsoft SQL Server 2000. Księga eksperta

           Katalog replikacji.............................................................................................................. 125
           Tabele systemowe w msdb ................................................................................................ 126
       Procedury przechowywane w systemie..................................................................................... 127
           Specjalne cechy procedur przechowywanych w systemie ..................................................... 128
       Przydatne procedury systemowe.............................................................................................. 128
       Inne sposoby wykonywania zapytań na tabelach systemowych................................................... 129
           Widoki schematów informacyjnych.................................................................................... 129
           Funkcje systemowe i funkcje operujące na metadanych ....................................................... 130

    4QFKC  53. 5GTXGT 'PVGTRTKUG /CPCIGT 
       Tworzenie grup serwerów i rejestrowanie SQL Servera w Enterprise Managerze ......................... 132
          Grupy serwerów ............................................................................................................... 132
          Rejestrowanie serwerów.................................................................................................... 132
          Łączenie się z i odłączanie się od serwerów ........................................................................ 133
          Uruchamianie i zatrzymywanie serwerów ........................................................................... 134
       Konfiguracja serwera.............................................................................................................. 134
          Opcje serwera .................................................................................................................. 135
          Opcje dotyczące bezpieczeństwa........................................................................................ 135
          Zmiana konfiguracji .......................................................................................................... 135
       Bazy danych .......................................................................................................................... 136
          Tworzenie i modyfikacja baz danych.................................................................................. 136
          Tworzenie i przywracanie kopii bezpieczeństwa .................................................................. 138
          Praca z diagramami baz danych ......................................................................................... 138
       Bezpieczeństwo...................................................................................................................... 139
          Zarządzanie nazwami u ytkowników i rolami ..................................................................... 139
          Zarządzanie serwerami połączonymi i zdalnymi .................................................................. 141
       Zarządzanie serwerem ............................................................................................................ 141
          SQL Server Agent............................................................................................................. 141
          Kopie bezpieczeństwa ....................................................................................................... 142
          Bie ące operacje............................................................................................................... 142
          Plany konserwacji baz danych ........................................................................................... 143
          Dzienniki SQL Servera ..................................................................................................... 143
       Usługi przekształcania danych ................................................................................................. 145
       Usługi pomocnicze ................................................................................................................. 145
          Koordynator transakcji rozproszonych................................................................................ 145
          Wyszukiwanie pełnotekstowe ............................................................................................ 146
          SQL Mail......................................................................................................................... 146
       Narzędzia systemowe ............................................................................................................. 146
          Query Analyzer ................................................................................................................ 146
          SQL Profiler..................................................................................................................... 147
          Zarządzanie komunikatami o błędach ................................................................................. 148
       Replikacja.............................................................................................................................. 149
          Publikacje ........................................................................................................................ 149
          Subskrypcje ..................................................................................................................... 149
       Korzystanie z narzędzia Database Taskpad............................................................................... 150
       Korzystanie z Query Designera................................................................................................ 151
       Obiekty skryptowe ................................................................................................................. 152
       Uzyskiwanie pomocy.............................................................................................................. 154
Spis treści                    9


4QFKC  0CTúFKC Y[YQ [YCPG  YKGTUC RQNGEG 
   BCP...................................................................................................................................... 155
   Narzędzia związane z usługami przekształcania danych ............................................................. 156
   ISQL i OSQL......................................................................................................................... 157
   makepipe i readpipe................................................................................................................ 158
   ODBCcmpt............................................................................................................................ 159
   odbcping................................................................................................................................ 159
   rebuildm ................................................................................................................................ 160
   regrebld ................................................................................................................................. 161
   Narzędzia związane z replikacją danych ................................................................................... 161
   SQLDiag ............................................................................................................................... 163
   SQLMaint.............................................................................................................................. 164
   SQLServer............................................................................................................................. 165
   VSwitch ................................................................................................................................ 165

4QFKC  6YQTGPKG DC FCP[EJ K CTæFCPKG PKOK
   Co składa się na bazę danych SQL Servera............................................................................... 167
   Przechowywanie danych w SQL serwerze................................................................................ 168
   Pliki baz danych..................................................................................................................... 168
       Pliki podstawowe.............................................................................................................. 169
       Pliki dodatkowe................................................................................................................ 169
       Korzystanie z grup plików ................................................................................................. 170
       Plik dziennika transakcji.................................................................................................... 171
   Tworzenie baz danych ............................................................................................................ 171
       Korzystanie z kreatora Create Database (utwórz bazę danych) .............................................. 172
       Korzystanie z Enterprise Managera..................................................................................... 172
       Korzystanie z T-SQL ........................................................................................................ 174
   Zarządzanie bazami danych..................................................................................................... 175
       Zarządzanie rozszerzaniem plików ..................................................................................... 175
       Rozszerzanie baz danych................................................................................................... 175
       Zmniejszanie baz danych................................................................................................... 176
   Ustawianie opcji baz danych ................................................................................................... 179
       Opcje baz danych ............................................................................................................. 179
       Ustawianie opcji baz danych za pomocą Enterprise Managera .............................................. 179
       Ustawianie opcji baz danych w języku T-SQL .................................................................... 180
       Uzyskiwanie informacji o bie ących ustawieniach ............................................................... 181

4QFKC  6YQTGPKG VCDGN K CTæFCPKG PKOK
   Typy danych.......................................................................................................................... 186
      Znakowe i binarne typy danych.......................................................................................... 186
      uniqueidentifier ................................................................................................................ 188
      timestamp ........................................................................................................................ 188
      Typy danych datetime ....................................................................................................... 188
      Logiczny typ danych: bit ................................................................................................... 190
   Numeryczne typy danych........................................................................................................ 190
      Typy danych dla liczb całkowitych..................................................................................... 190
      Przybli one typy numeryczne ............................................................................................ 191
      Precyzyjne typy numeryczne ............................................................................................. 191
      Typy money..................................................................................................................... 191
10           Microsoft SQL Server 2000. Księga eksperta

        Synonimy typów danych......................................................................................................... 192
        Typy danych zdefiniowane przez u ytkownika.......................................................................... 192
        Tworzenie tabel...................................................................................................................... 193
           Nazywanie tabel ............................................................................................................... 194
        Tworzenie tabel w języku T-SQL ............................................................................................ 195
           Definiowanie kolumn ........................................................................................................ 195
           Właściwości kolumn ......................................................................................................... 196
           Wybór lokalizacji dla tabeli ............................................................................................... 197
           Definiowanie stałych......................................................................................................... 198
           Dodawanie, usuwanie i modyfikacja kolumn w języku T-SQL ............................................. 199
        Tworzenie tabel za pomocą Table Designera............................................................................. 202
           Dodawanie, usuwanie i modyfikacja kolumn w Table Designerze ......................................... 202
           Generowanie skryptów tworzących tabele........................................................................... 203
        Przeglądanie właściwości tabel i zawartych w nich danych w Enterprise Managerze .................... 204
        Ograniczenia rozmiarów i wymiarów tabel ............................................................................... 205
        Usuwanie tabel....................................................................................................................... 206
        Tabele tymczasowe ................................................................................................................ 206
           Tworzenie tabel tymczasowych.......................................................................................... 206

     4QFKC  6YQTGPKG KPFGMUÎY K CTæFCPKG PKOK 
        Rodzaje indeksów .................................................................................................................. 208
           Indeksy klastrowe ............................................................................................................. 208
           Indeksy nieklastrowe......................................................................................................... 208
        Tworzenie indeksów w języku T-SQL ..................................................................................... 209
           Składnia polecenia CREATE INDEX................................................................................. 209
           Przykłady u ycia poleceń języka Transact-SQL do tworzenia indeksów ................................ 209
        Tworzenie indeksów w Enterprise Managerze........................................................................... 211
        Zarządzanie indeksami............................................................................................................ 212
        Usuwanie indeksów ................................................................................................................ 212

     4QFKC  5RÎLPQ è FCP[EJ 
        Rodzaje spójności danych ....................................................................................................... 213
           Spójność domenowa ......................................................................................................... 214
           Spójność jednostkowa....................................................................................................... 214
           Spójność odwoławcza ....................................................................................................... 214
        Wymuszanie spójności danych ................................................................................................ 214
           Deklaracje........................................................................................................................ 214
           Metody proceduralne ........................................................................................................ 215
        Ograniczenia.......................................................................................................................... 215
           Ograniczenia PRIMARY KEY .......................................................................................... 215
           Ograniczenia UNIQUE ..................................................................................................... 216
           Ograniczenie zapewniające spójność odwoławczą: FOREIGN KEY...................................... 216
           Ograniczenia CHECK ....................................................................................................... 218
           Nakładanie ograniczeń w Enterprise Managerze .................................................................. 220
           Zarządzanie ograniczeniami............................................................................................... 222
           Zbieranie informacji o istniejących ograniczeniach .............................................................. 222
        Reguły................................................................................................................................... 223
           Stosowanie reguł............................................................................................................... 224
           Tworzenie reguł i zarządzanie nimi .................................................................................... 224
           Ograniczenia reguł ............................................................................................................ 225
Spis treści                 11

    Wartości domyślne ................................................................................................................. 225
       Deklaratywne wartości domyślne ....................................................................................... 226
       Związywane wartości domyślne ......................................................................................... 226
       Zastosowanie wartości domyślnych .................................................................................... 227
       Kiedy nadawane są wartości domyślne ............................................................................... 227
       Pierwszeństwo powiązań z regułami i wartościami domyślnymi............................................ 229

4QFKC  6YQTGPKG YKFQMÎY K CTæFCPKG PKOK 
    Definicja widoku .................................................................................................................... 231
    Widoki ułatwiające dostęp do danych....................................................................................... 232
    Widoki jako mechanizm bezpieczeństwa .................................................................................. 233
    Zmiany w danych a widoki...................................................................................................... 234
    Tworzenie widoków ............................................................................................................... 235
       Wytyczne dotyczące tworzenia widoków ............................................................................ 235
       Ograniczenia związane z tworzeniem widoków ................................................................... 236
       Tworzenie widoków w języku T-SQL ................................................................................ 236
       Tworzenie widoków za pomocą View Designera ................................................................. 238
    Modyfikacja i usuwanie widoków ............................................................................................ 240
       Modyfikacja widoków....................................................................................................... 240
       Usuwanie widoków........................................................................................................... 240
    Widoki partycji ...................................................................................................................... 241
       Tworzenie widoku partycji ................................................................................................ 242
       Uaktualnianie danych za pośrednictwem widoku partycji ..................................................... 242
    Widoki indeksowane............................................................................................................... 243
       Trochę teorii..................................................................................................................... 243
       Zalety widoków indeksowanych......................................................................................... 243
       Wady widoków indeksowanych ......................................................................................... 244

4QFKC  6YQTGPKG RTQEGFWT RTGEJQY[YCP[EJ PC UGTYGTG
K CTæFCPKG PKOK 
    Zalety procedur przechowywanych na serwerze........................................................................ 245
    Tworzenie i wykonywanie procedur......................................................................................... 247
        Grupy procedur ................................................................................................................ 248
    Odroczone odwzorowywanie nazw .......................................................................................... 249
        Identyfikacja obiektów, do których odwołuje się procedura .................................................. 251
    Przeglądanie i modyfikacja treści procedur ............................................................................... 252
    Parametry wejściowe .............................................................................................................. 257
        Ustawianie domyślnych wartości parametrów ..................................................................... 258
        Przekazywanie nazw obiektów w parametrach .................................................................... 260
        Stosowanie masek w parametrach ...................................................................................... 261
    Parametry wyjściowe.............................................................................................................. 262
    Kod wyjścia........................................................................................................................... 263
        Systemowe kody wyjścia................................................................................................... 264
    Stosowanie kursorów w procedurach ....................................................................................... 264
        Zmienne typu cursor ......................................................................................................... 266
    Procedury zagnie d one.......................................................................................................... 269
        Procedury rekurencyjne..................................................................................................... 270
    Stosowanie tabel tymczasowych w procedurach........................................................................ 273
        Tabele tymczasowe a wydajność........................................................................................ 275
12           Microsoft SQL Server 2000. Księga eksperta

        Posługiwanie się typem danych table ....................................................................................... 278
        Zdalne procedury ................................................................................................................... 280
        Usuwanie błędów w procedurach za pomocą Query Analyzera ................................................... 281
        Usuwanie błędów w procedurach w Microsoft Visual Studio i w Visual Basicu ........................... 282
        Procedury systemowe ............................................................................................................. 283
            Tworzenie własnych procedur systemowych ....................................................................... 285
            Ostrze enie przed bezpośrednim odwoływaniem się do tabel systemowych ........................... 287
            Systemowe widoki schematów informacyjnych ................................................................... 287
            Widoki zgodne ze standardem ANSI .................................................................................. 288
        Wydajność procedur............................................................................................................... 288
            Buforowanie informacji o zapytaniach ................................................................................ 289
            Pamięć podręczna procedur ............................................................................................... 290
            Współdzielone plany wykonywania.................................................................................... 291
            Automatyczna rekompilacja planów wykonywania .............................................................. 293
            Wymuszanie rekompilacji planów wykonywania ................................................................. 298
        Stosowanie dynamicznych poleceń języka SQL w procedurach.................................................. 301
            Korzystanie z sp_executesql .............................................................................................. 303
        Procedury wywoływane przy starcie ........................................................................................ 305
        Rozszerzone procedury przechowywane .................................................................................. 308
            Tworzenie procedur rozszerzonych .................................................................................... 309
            Instalacja procedur rozszerzonych na serwerze.................................................................... 310
            Przeglądanie informacji na temat procedur rozszerzonych .................................................... 310
            Procedury rozszerzone dostarczane z SQL Serverem ........................................................... 310
            Posługiwanie się procedurą xp_cmdshell............................................................................. 311
        Ograniczenia procedur i rady dla programistów......................................................................... 314
            Wywoływanie procedur w czasie trwania transakcji ............................................................. 315

     4QFKC  6YQTGPKG Y[YCNCE[ K CTæFCPKG PKOK
        Zalety wyzwalaczy i ich zastosowania...................................................................................... 319
        Tworzenie wyzwalaczy........................................................................................................... 321
        Wyzwalacze AFTER .............................................................................................................. 323
            Wykonywanie .................................................................................................................. 325
            Kolejność wywoływania wyzwalaczy ................................................................................. 326
            Przypadki szczególne ........................................................................................................ 326
            Ograniczenia wyzwalaczy AFTER ..................................................................................... 327
        Tabele inserted i deleted.......................................................................................................... 327
        Sprawdzanie, czy kolumny były uaktualniane ........................................................................... 329
        Wyzwalacze zagnie d one ...................................................................................................... 330
        Wyzwalacze rekurencyjne....................................................................................................... 331
        Narzucanie spójności odwoławczej za pomocą wyzwalaczy ....................................................... 332
            Kaskadowe usuwanie danych............................................................................................. 333
            Kaskadowe uaktualnianie danych ....................................................................................... 335
        Wyzwalacze INSTEAD OF..................................................................................................... 337
            Wykonywanie .................................................................................................................. 338
            Porównanie wyzwalaczy AFTER i INSTEAD OF ............................................................... 339
            Jednoczesne stosowanie wyzwalaczy AFTER i INSTEAD OF.............................................. 340
            Definiowanie wyzwalaczy INSTEAD OF dla widoków........................................................ 341
            Ograniczenia wyzwalaczy INSTEAD OF............................................................................ 344
Spis treści                  13


4QFKC  (WPMELG FGHKPKQYCPG RTG W [VMQYPKMC
   Po co korzystać z funkcji definiowanych przez u ytkownika ...................................................... 345
   Rodzaje funkcji ...................................................................................................................... 347
      Funkcje skalarne............................................................................................................... 347
      Funkcje zwracające wartości tabelowe................................................................................ 349
   Tworzenie funkcji i zarządzanie nimi ....................................................................................... 351
      Tworzenie funkcji............................................................................................................. 351
      Przeglądanie i modyfikowanie funkcji ................................................................................ 357
      Zarządzanie uprawnieniami funkcji definiowanych przez u ytkowników ............................... 363
   Uruchamianie funkcji zdefiniowanych przez u ytkownika ......................................................... 363
   Globalne funkcje o wartościach tabelowych.............................................................................. 363
   Przepisywanie procedur przechowywanych na serwerze do postaci funkcji.................................. 364

4QFKC  CICFPKGPKC DGRKGEG UVYC
K CTæFCPKG W [VMQYPKMCOK 
   Ogólny opis systemu bezpieczeństwa SQL Servera ................................................................... 367
   Metody uwierzytelniania ......................................................................................................... 368
      Tryb uwierzytelniania Windows......................................................................................... 368
      Tryb mieszany.................................................................................................................. 368
      Wybór trybu uwierzytelniania ............................................................................................ 368
      Uprawnienia..................................................................................................................... 369
   Mechanizm bezpieczeństwa: loginy ......................................................................................... 370
   Mechanizm bezpieczeństwa: nazwy u ytkowników ................................................................... 370
      dbo.................................................................................................................................. 371
      guest................................................................................................................................ 371
   Mechanizm bezpieczeństwa: role ............................................................................................. 371
      Zdefiniowane na stałe role odnoszące się do całego serwera ................................................. 372
      Zarządzanie rolami odnoszącymi się do całego serwera........................................................ 372
      Zdefiniowane na stałe role odnoszące się do baz danych ...................................................... 373
      Zarządzanie rolami odnoszącymi się do baz danych............................................................. 373
      Role definiowane przez u ytkownika.................................................................................. 374
      Role przeznaczone dla aplikacji.......................................................................................... 375
   Zarządzanie loginami.............................................................................................................. 376
      Zarządzanie loginami za pomocą Enterprise Managera......................................................... 376
      Zarządzanie loginami za pomocą poleceń języka T-SQL...................................................... 378
   Zarządzanie u ytkownikami .................................................................................................... 379
      Zarządzanie u ytkownikami za pośrednictwem Enterprise Managera..................................... 379
      Zarządzanie u ytkownikami za pośrednictwem poleceń języka T-SQL.................................. 380
   Zarządzanie rolami ................................................................................................................. 380
      Zarządzanie rolami za pośrednictwem Enterprise Managera.................................................. 380
      Zarządzanie rolami za pośrednictwem poleceń języka T-SQL............................................... 381
   Zarządzanie uprawnieniami ..................................................................................................... 382
      Zarządzanie uprawnieniami poleceniowymi ........................................................................ 382
      Zarządzanie uprawnieniami poleceniowymi za pośrednictwem Enterprise Managera .............. 382
      Zarządzanie uprawnieniami poleceniowymi w języku T-SQL............................................... 383
      Zarządzanie uprawnieniami na poziomie obiektów .............................................................. 384
      Zarządzanie uprawnieniami na poziomie obiektów w Enterprise Managerze .......................... 384
      Zarządzanie uprawnieniami na poziomie obiektów w języku T-SQL ..................................... 385
14          Microsoft SQL Server 2000. Księga eksperta

       Ró ne podejścia do zagadnienia uprawnień............................................................................... 386
          Przydzielanie uprawnień do roli public ............................................................................... 386
          Przydzielanie uprawnień do ról zdefiniowanych przez u ytkownika ...................................... 386
          Przydzielanie uprawnień za pośrednictwem widoków .......................................................... 386
          Przydzielanie uprawnień za pośrednictwem procedur przechowywanych na serwerze............. 386
          Przedzielanie uprawnień za pośrednictwem ról przeznaczonych dla aplikacji ......................... 387
       Właściciele obiektów .............................................................................................................. 387
          Zmiana właściciela obiektu................................................................................................ 387
       Szyfrowanie obiektów............................................................................................................. 387

     4QFKC  6YQTGPKG MQRKK DGRKGEG UVYC K QF[UMKYCPKG FCP[EJ
       Opracowanie planu tworzenia kopii bezpieczeństwa .................................................................. 389
       Po co tworzy się kopie bezpieczeństwa..................................................................................... 390
       Typowy proces tworzenia kopii bezpieczeństwa i odzyskiwania danych...................................... 391
       Rodzaje kopii bezpieczeństwa ................................................................................................. 392
           Pełne kopie baz danych ..................................................................................................... 392
           Ró nicowe kopie baz danych ............................................................................................. 393
           Kopie plików i grup plików ............................................................................................... 393
           Kopie dziennika transakcji................................................................................................. 394
           Tryby odzyskiwania danych............................................................................................... 394
           Tryb pełny ....................................................................................................................... 394
           Tryb logowany ................................................................................................................. 395
           Tryb prosty ...................................................................................................................... 395
       Wybór trybu odzyskiwania danych .......................................................................................... 396
       Urządzenia do wykonywania kopii........................................................................................... 396
           Urządzenia taśmowe ......................................................................................................... 396
           Urządzenia dyskowe ......................................................................................................... 397
           Taśma czy dysk................................................................................................................ 397
           Urządzenia dostępne w sieci na określonych kanałach.......................................................... 398
           Wykonywanie kopii na kilku urządzeniach.......................................................................... 398
       Nośniki.................................................................................................................................. 398
       Wprowadzanie informacji o nowych urządzeniach
       do tworzenia kopii za pomocą poleceń języka T-SQL................................................................ 399
       Wprowadzanie informacji o nowych urządzeniach
       do tworzenia kopii za pomocą Enterprise Managera................................................................... 402
       Tworzenie kopii bazy danych .................................................................................................. 402
           Tworzenie kopii baz danych za pomocą poleceń języka T-SQL ............................................ 403
           Tworzenie kopii baz danych za pomocą Enterprise Managera ............................................... 405
       Tworzenie kopii dziennika transakcji........................................................................................ 408
           Tworzenie kopii dziennika transakcji za pomocą poleceń języka T-SQL................................ 408
           NO_LOG oraz TRUNCATE_ONLY.................................................................................. 408
           NO_TRUNCATE............................................................................................................. 409
           NORECOVERY | STANDBY= nazwa_pliku_undo ............................................................. 409
           Przykłady u ycia polecenia BACKUP LOG........................................................................ 410
           Tworzenie kopii dziennika transakcji za pomocą Enterprise Managera................................... 410
           Tworzenie kopii bezpieczeństwa baz systemowych.............................................................. 412
       Odtwarzanie zawartości bazy danych z kopii bezpieczeństwa ..................................................... 412
           Uzyskiwanie informacji na temat posiadanych kopii bezpieczeństwa..................................... 413
           Odtwarzanie zawartości baz danych za pomocą poleceń języka T-SQL ................................. 413
           Odtwarzanie zawartości dziennika transakcji za pomocą poleceń języka T-SQL..................... 415
Spis treści                  15

   Przykłady odzyskiwania danych za pomocą poleceń języka T-SQL ............................................ 416
       Odtwarzanie danych z kopii bezpieczeństwa za pomocą Enterprise Managera ........................ 417
   Umieszczanie danych odzyskanych z kopii bezpieczeństwa w innej bazie danych ........................ 419
   Odzyskiwanie plików i grup plików ......................................................................................... 420
   Odtwarzanie stanu bazy z określonej chwili .............................................................................. 420
   Częściowe odtwarzanie bazy danych z kopii bezpieczeństwa...................................................... 421
   Odtwarzanie systemowych baz danych..................................................................................... 421
   Inne zagadnienia dotyczące kopii bezpieczeństwa ..................................................................... 422
       Częstotliwość wykonywania kopii baz danych .................................................................... 422
       Korzystanie z serwera standby ........................................................................................... 423
       Uwagi dotyczące bardzo du ych baz danych ....................................................................... 424

4QFKC  2KGNúIPCELC DC FCP[EJ
   Co wymaga pielęgnacji ........................................................................................................... 425
   Kreator planu konserwacji bazy danych (DBMPW)................................................................... 425
       Wybór baz danych............................................................................................................ 426
       Aktualizacja informacji optymalizujących dostęp do danych i ich przechowywania ................ 426
       Kontrola integralności bazy danych .................................................................................... 427
       Określenie planu tworzenia kopii zapasowych ..................................................................... 428
       Wybór katalogu dyskowego dla kopii bazy danych .............................................................. 428
       Określenie planu tworzenia kopii transakcji......................................................................... 428
       Wybór katalogu dyskowego dla kopii transakcji .................................................................. 429
       Generowanie raportów ...................................................................................................... 429
       Historia konserwacji bazy danych ...................................................................................... 430
       Zakończenie pracy kreatora ............................................................................................... 430
   Ustalanie własnych zadań pielęgnacyjnych ............................................................................... 431
   Polecenia konsoli bazy danych (DBCC) ................................................................................... 432
       Wykrywanie i rozwiązywanie problemów związanych z uszkodzeniem baz danych................ 433
       U ycie DBCC do włączenia znaczników śledzenia .............................................................. 434
   U ycie SQLMAINT.exe do pielęgnacji bazy danych ................................................................. 434

4QFKC  53. 5GTXGT                            CFCPKC K RQYKCFCOKCPKG 
   SQL Agent ............................................................................................................................ 435
   Konfigurowanie SQL Agenta .................................................................................................. 436
       Konto początkowe ............................................................................................................ 436
       Profil pocztowy ................................................................................................................ 436
       Agent jako u ytkownik...................................................................................................... 437
       Konto proxy SQL Agenta .................................................................................................. 437
   Przeglądanie dzienników błędów agenta ................................................................................... 437
   Operatorzy............................................................................................................................. 438
   Zadania ................................................................................................................................. 439
       Definiowanie właściwości zadań ........................................................................................ 439
       Definiowanie elementów zadań.......................................................................................... 440
       Tworzenie terminarza zadań .............................................................................................. 442
       Określenie sposobów powiadamiania.................................................................................. 442
       Przeglądanie historii zadań ................................................................................................ 443
   Ostrze enia ............................................................................................................................ 443
       Definiowanie właściwości ostrze eń................................................................................... 443
       Definiowanie operatorów i odpowiedzi na ostrze enia.......................................................... 444
16           Microsoft SQL Server 2000. Księga eksperta

        Skrypty zadań i ostrze eń........................................................................................................ 445
        Zarządzanie zadaniami wielu serwerów.................................................................................... 446
           Utworzenie SQL Agenta dla serwera głównego ................................................................... 446
           Lista serwerów docelowych ............................................................................................... 446
           Zadania dla wielu serwerów............................................................................................... 446
        Przesyłanie informacji o zdarzeniach........................................................................................ 446

     4QFKC  CTæFCPKG UGTYGTCOK URTú QP[OK K FCNP[OK 
        Zdalne serwery....................................................................................................................... 449
           Konfigurowanie zdalnego serwera...................................................................................... 450
        Serwery sprzę one ................................................................................................................. 454
           Rzeczywiście sprzę one .................................................................................................... 454
           Zapytania rozproszone ...................................................................................................... 455
           Transakcje rozproszone..................................................................................................... 455
        Dodawanie, usuwanie i konfigurowanie serwerów sprzę onych.................................................. 456
           sp_addlinkedserver ........................................................................................................... 456
           sp_linkedserver................................................................................................................. 458
           sp_dropserver................................................................................................................... 459
           sp_serveroption ................................................................................................................ 459
        Mapowanie lokalnych logowań do logowań na serwerach sprzę onych....................................... 461
           sp_addlinkedserverlogin .................................................................................................... 461
           sp_droplinkedserverlogin................................................................................................... 462
           sp_helplinkedsrvlogin ....................................................................................................... 463
        Uzyskiwanie informacji o serwerach sprzę onych ..................................................................... 464
        Wykonanie procedury przechowywanej na serwerze sprzę onym ............................................... 465
        Konfigurowanie serwerów przyłączonych przez Enterprise Manager........................................... 465

     4QFKC  +ORQTV K GMURQTV FCP[EJ 53. 5GTXGTC
      Y[MQT[UVCPKGO RTQITCOW OCUQYGIQ MQRKQYCPKC 
$%2 
        Program masowego kopiowania (BCP) .................................................................................... 475
            Podstawy eksportu i importu danych .................................................................................. 477
            Typy danych pliku ............................................................................................................ 480
            Plik formatu danych.......................................................................................................... 480
            U ywanie widoków........................................................................................................... 487
            Ładowanie danych binarnych............................................................................................. 488
        Operacje rejestrowane i nierejestrowane ................................................................................... 489
            Pakiety ............................................................................................................................ 489
            Ładowanie współbie ne..................................................................................................... 490
            Wskazówki sposobu kopiowania ........................................................................................ 491
        Instrukcja T-SQL BULK INSERT ........................................................................................... 493
        Zwiększenie wydajności kopiowania........................................................................................ 494
        Dodatki do programu masowego kopiowania ............................................................................ 495

     4QFKC  +ORQTVQYCPKG K GMURQTVQYCPKG FCP[EJ 53. 5GTXGTC
     C RQOQEæ WU WI VTCPUHQTOCELK FCP[EJ 
65
        Koncepcja i architektura usług transformacji danych ................................................................. 502
           Narzędzia DTS................................................................................................................. 504
        Narzędzia wspomagające uruchamianie pakietów...................................................................... 506
        Uruchamianie i wykorzystanie kreatora DTS ............................................................................ 509
Spis treści                 17

   Projektowanie pakietów DTS (DTS Designer) .......................................................................... 513
      Pompa danych.................................................................................................................. 517
      Zapytania zale ne od danych (DDQs)................................................................................. 518
   Nieco więcej o metadanych ..................................................................................................... 518

4QFKC  #FOKPKUVTQYCPKG DCTFQ FW [OK
DCCOK FCP[EJ 53. 5GTXGTC
   Czy moja baza to bardzo du a baza danych (BDBD) ................................................................. 519
   Metody konserwacji BDBD .................................................................................................... 520
       Tworzenie kopii zapasowej i odtwarzanie bazy danych ........................................................ 520
       Prowadzenie kontroli integralności ..................................................................................... 520
       Aktualizacja statystyk ....................................................................................................... 521
       Odbudowywanie indeksów ................................................................................................ 521
       Usuwanie zbędnych danych i archiwizacja .......................................................................... 522
   Partycjonowanie danych ......................................................................................................... 522
       Partycjonowanie pionowe.................................................................................................. 522
       Partycjonowanie poziome.................................................................................................. 523
       U ycie rozproszonych widoków partycjonowanych ............................................................. 523

4QFKC  4GRNKMCELC FCP[EJ
   Czym jest replikacja ............................................................................................................... 525
   Publikator, dystrybutor i subskrybent ....................................................................................... 527
       Publikacje i artykuły ......................................................................................................... 528
       Filtrowanie artykułów ....................................................................................................... 528
   Scenariusze replikacji ............................................................................................................. 531
       Centralny publikator.......................................................................................................... 531
       Centralny publikator ze zdalnym dystrybutorem .................................................................. 532
       Publikujący subskrybent.................................................................................................... 533
       Centralny subskrybent....................................................................................................... 534
       Wiele publikatorów lub wiele subskrybentów...................................................................... 534
       Modyfikujący subskrybent................................................................................................. 535
       Subskrypcje ..................................................................................................................... 536
       Subskrypcja anonimowa ( ądana) ...................................................................................... 537
       Dystrybucyjna baza danych ............................................................................................... 537
   Agenci replikacji .................................................................................................................... 538
       Agent migawki ................................................................................................................. 539
       Agent odczytu dziennika transakcji (Log Reader Agent)....................................................... 541
       Agent dystrybucji (Distribution Agent) ............................................................................... 542
       Agent scalający (Merge Agent) .......................................................................................... 542
       Pozostałe agenty replikacji (Miscellaneous Agents) ............................................................. 543
   Planowanie replikacji danych SQL Servera............................................................................... 544
       Autonomia, synchronizowanie i opóźnienie danych ............................................................. 544
       Metody dystrybucji danych................................................................................................ 545
   Typy replikacji w SQL Serverze .............................................................................................. 546
       Replikacja migawkowa...................................................................................................... 546
       Replikacja transakcyjna..................................................................................................... 547
       Replikacja scalająca .......................................................................................................... 548
   Wymagania u ytkowników a projektowanie replikacji............................................................... 549
       Charakterystyki danych ..................................................................................................... 550
18           Microsoft SQL Server 2000. Księga eksperta

        Konfigurowanie replikacji ....................................................................................................... 551
           Włączenie publikowania.................................................................................................... 552
           Tworzenie publikacji......................................................................................................... 554
           Tworzenie subskrypcji ...................................................................................................... 555
        Skrypty replikacji ................................................................................................................... 558
        Monitorowanie replikacji ........................................................................................................ 560
           Polecenia SQL.................................................................................................................. 560
           SQL Enterprise Manager ................................................................................................... 562
           Rozwiązywanie problemów związanych z błędami replikacji................................................ 563
           Monitor wydajności .......................................................................................................... 566
           Replikacja w środowiskach heterogenicznych...................................................................... 566
           Replikacja do subskrybentów internetowych ....................................................................... 567
           Konfiguracja publikatora lub dystrybutora do nasłuchu na TCP/IP ........................................ 567
           Konfiguracja publikacji do u ycia FTP............................................................................... 567
           Konfiguracja subskrypcji do wykorzystania FTP ................................................................. 567
           Tworzenie kopii zapasowej i odzyskiwanie konfiguracji replikacyjnej ................................... 568
           Kilka uwag o wydajności................................................................................................... 569
           Przesyłanie dziennika transakcji jako alternatywa replikacji danych ...................................... 569

     4QFKC  GHKPKQYCPKG TQFQYKUMC 53. 5GTXGTC K MQPYGPELK PCY
        Określenie środowisk SQL Servera .......................................................................................... 573
           Środowisko tworzenia oprogramowania.............................................................................. 574
           Środowisko testowania aplikacji......................................................................................... 578
           Środowisko eksploatacyjne................................................................................................ 580
           Wykorzystanie kontroli kodu źródłowego ........................................................................... 581
        Konwencje u ywania nazw w SQL Serverze ............................................................................ 581
           Nazwy SQL Servera ......................................................................................................... 582
           Przykład konwencji nazwania ............................................................................................ 591
           Standardy nazw systemu operacyjnego ............................................................................... 591

%ú è +8 ,ú[M 653.  
     4QFKC  9[MQT[UVCPKG Lú[MC 653. 
        T-SQL i ANSI i ISO SQL ....................................................................................................... 597
        Co nowego w T-SQL.............................................................................................................. 598
           Nowe typy danych............................................................................................................ 599
           Funkcje definiowane przez u ytkowników .......................................................................... 603
           Widoki indeksowane ......................................................................................................... 604
           Nowości wprowadzone w SQL Server 7.0 .......................................................................... 604
        SELECT, INSERT, UPDATE i DELETE................................................................................. 605
           Instrukcja SELECT........................................................................................................... 606
           GRUP BY i HAVING....................................................................................................... 609
           CUBE, ROLLUP, GROUPING ......................................................................................... 610
           Łączenie tabel................................................................................................................... 614
           Podzapytania.................................................................................................................... 617
           Dodawanie wierszy za pomocą INSERT............................................................................. 620
           Modyfikacja wierszy tabeli — UPDATE ............................................................................ 621
           Usuwanie wierszy za pomocą DELETE.............................................................................. 622
Spis treści                  19

  Funkcje SQL Servera ............................................................................................................. 622
     Funkcje łańcuchowe (String Functions)............................................................................... 623
     Funkcje matematyczne...................................................................................................... 623
     Funkcje daty .................................................................................................................... 624
     Funkcje metadanych ......................................................................................................... 626
     Funkcje systemowe........................................................................................................... 626
     Funkcje dostępu ............................................................................................................... 629
     Funkcje Text i Image......................................................................................................... 629
     Funkcje zestawu rekordów ................................................................................................ 630
     Funkcje bez argumentów................................................................................................... 632
     Funkcje agregujące ........................................................................................................... 633
  Konstrukcje programowe ........................................................................................................ 639
     Instrukcja IF..................................................................................................................... 639
     WHILE, BREAK i CONTINUE ........................................................................................ 639
     Wyra enie CASE.............................................................................................................. 640
     RETURN......................................................................................................................... 641
     GOTO ............................................................................................................................. 642
     WAITFOR....................................................................................................................... 642
     EXECUTE....................................................................................................................... 642
     Wsady (Batches) .............................................................................................................. 643
     Komentarze...................................................................................................................... 644
     Zmienne lokalne ............................................................................................................... 645
     Funkcje nazywane zmiennymi globalnymi .......................................................................... 646
     Zwracanie wiadomości z T-SQL ........................................................................................ 650
     Zarządzanie komunikatami o błędach SQL Servera.............................................................. 653
     Opcje SET ....................................................................................................................... 654
  Kursory ................................................................................................................................. 664
     Przykłady kursorów i nieco składni .................................................................................... 665
     U ywanie zmiennych CURSOR......................................................................................... 672
     Uzyskiwanie informacji o kursorach................................................................................... 674
     Interfejs programowania kursora ........................................................................................ 678
     Kiedy nale y u ywać kursorów.......................................................................................... 680

4QFKC  CTæFCPKG VTCPUCMELCOK K FKGPPKM VTCPUCMELK
  Czym jest transakcja............................................................................................................... 683
  Jak SQL Server obsługuje transakcje........................................................................................ 684
  Definiowanie transakcji........................................................................................................... 685
      Transakcje zatwierdzane automatycznie (AutoCommit)........................................................ 685
      Transakcje definiowane jawnie przez u ytkownika .............................................................. 686
      Transakcje niejawne (Implicit Transactions)........................................................................ 690
      Transakcje niejawne czy jawne .......................................................................................... 692
  Dziennik transakcji i proces odzyskiwania ................................................................................ 692
      Proces punktu kontrolnego (Checkpoint)............................................................................. 693
      Proces odzyskiwania ......................................................................................................... 696
  Transakcje i wsady ................................................................................................................. 698
  Transakcje i procedury zapamiętane......................................................................................... 700
  Transakcje i wyzwalacze......................................................................................................... 704
      U ywanie punktów kontrolnych w wyzwalaczach................................................................ 706
  Transakcje i blokady............................................................................................................... 708
  Kodowanie efektywnych transakcji .......................................................................................... 709
20           Microsoft SQL Server 2000. Księga eksperta

        Transakcje o długim czasie wykonywania................................................................................. 710
        Połączenia związane ............................................................................................................... 712
            Tworzenie połączeń związanych ........................................................................................ 712
            Wiązanie wielu aplikacji.................................................................................................... 713
        Transakcje rozproszone .......................................................................................................... 714

     4QFKC  2TGVYCTCPKG VTCPUCMELK TQRTQUQP[EJ
        Przetwarzanie transakcji rozproszonych ................................................................................... 715
        Zapytania rozproszone ............................................................................................................ 717
        Serwery sprzę one ................................................................................................................. 719
           Konfiguracja serwera sprzę onego do zdalnego źródła danych.............................................. 719
           Polecenia T-SQL dla serwerów sprzę onych....................................................................... 723
        Transakcje rozproszone .......................................................................................................... 724
        Architektura MS DTC ............................................................................................................ 724
           Dwufazowy protokół zatwierdzania zmian .......................................................................... 725

%ú è 8 9PúVTG 53. 5GTXGTC K YKúMUCPKG Y[FCLPQ EK  
     4QFKC  9PúVTG 53. 5GTXGTC 
        Zarządzanie pamięcią w SQL Serverze..................................................................................... 735
            Zarządzanie buforem i pule pamięci ................................................................................... 736
            Kontroler bufora ............................................................................................................... 736
            Dostęp do buforów pamięci ............................................................................................... 736
            Proces punktu kontrolnego................................................................................................. 737
            Proces lazywritera............................................................................................................. 738
            Ciągłe utrzymywanie stron w pamięci................................................................................. 739
            Wsparcie dla du ych pamięci ............................................................................................. 740
            Kontroler dziennika........................................................................................................... 741
        Zarządzanie procesami w SQL Serverze................................................................................... 742
            Wątki SQL Servera........................................................................................................... 742
        Dyskowe operacje wejścia-wyjścia w SQL Serverze ................................................................. 743
            Asynchroniczne operacje wejścia-wyjścia ........................................................................... 743
            Operacje wejścia-wyjścia typu rozrzuć i zbieraj ................................................................... 744
            Czytanie z wyprzedzeniem ................................................................................................ 744
            Skanowanie karuzeli ......................................................................................................... 745
        Struktury danych w SQL Serverze ........................................................................................... 745
        Pliki baz danych i grupy plików ............................................................................................... 746
            Podstawowe pliki danych .................................................................................................. 747
            Dodatkowe pliki danych .................................................................................................... 748
            Plik dziennika transakcji.................................................................................................... 749
            Wykorzystanie grup plików ............................................................................................... 755
            Zarządzanie dyskami......................................................................................................... 757
        Strony bazy danych ................................................................................................................ 758
            Typy stron ....................................................................................................................... 758
            Kontrola zawartości strony ................................................................................................ 758
            Strony danych .................................................................................................................. 762
            Strony indeksowe ............................................................................................................. 775
            Alokacja przestrzeni.......................................................................................................... 778
            Strony ró nicowego mapowania zmian ............................................................................... 783
            Strony masowego mapowania zmian .................................................................................. 783
Spis treści                  21

   Tabele ................................................................................................................................... 784
       Ograniczenie rozmiarów wierszy i kolumn.......................................................................... 784
       Tabele o strukturze stosu (nieuporządkowane)..................................................................... 784
       Tabele zgrupowane ........................................................................................................... 785
   Indeksy ................................................................................................................................. 786
       Indeksy zgrupowane ......................................................................................................... 787
       Indeksy niezgrupowane ..................................................................................................... 798
       Pielęgnacja indeksów w SQL Serverze ............................................................................... 809
   Modyfikacje danych a wydajność ............................................................................................ 815
       Wprowadzanie danych ...................................................................................................... 815
       Usuwanie wierszy ............................................................................................................. 818
       Modyfikacje wierszy ......................................................................................................... 821

4QFKC  +PFGMU[ K Y[FCLPQ è
   Kryteria wykorzystania indeksów ............................................................................................ 826
   Wybór indeksów .................................................................................................................... 827
   Określanie u yteczności indeksu.............................................................................................. 828
   Statystyki indeksów................................................................................................................ 830
       Histogram statystyk .......................................................................................................... 832
       Gęstość indeksu................................................................................................................ 834
       Wykorzystanie statystyk indeksów do określania liczby wierszy ........................................... 835
       Tworzenie i utrzymywanie statystyk indeksów .................................................................... 836
   Zasady projektowania indeksów .............................................................................................. 842
       U ywanie indeksu zgrupowanego....................................................................................... 843
       U ywanie indeksu niezgrupowanego .................................................................................. 845
       Indeksy zawierający odpowiedź ......................................................................................... 847
       Indeksy zło one czy wiele indeksów................................................................................... 849
   Widoki indeksowane............................................................................................................... 849
       Zasady tworzenia widoków indeksowanych ........................................................................ 850
   Indeksy na kolumnach obliczanych .......................................................................................... 850
   Kreator dostrajania indeksów................................................................................................... 851
       Wykorzystanie programu itwiz........................................................................................... 858
   Wybór indeksów: zapytania czy zwiększenie wydajności ........................................................... 858

4QFKC  CUCF[ QRV[OCNKCELK CR[VC 
   Czym jest optymalizator zapytań ............................................................................................. 864
   Kompilacja i optymalizacja zapytania....................................................................................... 864
      Kompilacja poleceń DML.................................................................................................. 865
      Kroki optymalizacji........................................................................................................... 865
   Krok 1. Analiza zapytania ....................................................................................................... 866
      Identyfikacja argumentów poszukiwania............................................................................. 866
      Identyfikacja klauzul OR ................................................................................................... 868
      Identyfikowanie klauzul JOIN............................................................................................ 869
      Przetwarzanie podzapytań ................................................................................................. 870
   Krok 2. Wybór indeksów ........................................................................................................ 871
      Obliczanie selektywności SARG i złączeń .......................................................................... 871
      Szacowanie kosztu indeksu................................................................................................ 872
      Wykorzystanie wielu indeksów .......................................................................................... 878
      Optymalizacja za pomocą widoków indeksowanych ............................................................ 885
22           Microsoft SQL Server 2000. Księga eksperta

        Krok 3. Wybór złączeń ........................................................................................................... 885
            Strategie przetwarzania złączeń.......................................................................................... 887
        Krok 4. Wybór planu wykonania ............................................................................................. 891
        Wielokrotne wykorzystanie planów wykonania zapytań............................................................. 893
            Wiele planów w buforze pamięci........................................................................................ 893
        Inne strategie przetwarzania zapytań ........................................................................................ 896
            Predykat przechodniości .................................................................................................... 896
            Optymalizacja GROUP BY ............................................................................................... 897
            Zapytania z DISTINCT..................................................................................................... 897
            Zapytania z UNION.......................................................................................................... 898
        Równoległe przetwarzanie zapytań .......................................................................................... 898
        Hurtownie danych i strategie zapytań w du ych bazach danych.................................................. 902
            Iloczyn kartezjański tabel wymiarowych ............................................................................. 903
            Redukcja niepełnego złączenia........................................................................................... 903
        Najczęstsze problemy optymalizowania zapytań ....................................................................... 903
            Nieaktualne lub niedostępne statystyki................................................................................ 904
            Źle zaprojektowane indeksy............................................................................................... 904
            Problemy z argumentem poszukiwania ............................................................................... 905
            Wyzwalacze ..................................................................................................................... 907
        Zarządzanie optymalizatorem .................................................................................................. 907
            Wskazówki optymalizatora ................................................................................................ 908
            Ograniczanie wykonywania planu zapytania za pomocą zarządcy zapytań ............................. 912

     4QFKC  #PCNKC CR[VC 
        Wyświetlanie planów wykonania przy u yciu analizatora zapytań .............................................. 916
            Wskazówki analizatora...................................................................................................... 918
            Ikony operatorów logicznych i fizycznych .......................................................................... 920
            Analizowanie procedur składowanych ................................................................................ 926
        Ślady serwera w analizatorze zapytań....................................................................................... 928
        Statystyki klienta w analizatorze zapytań .................................................................................. 929
        SHOWPLAN_ALL oraz SHOWPLAN_TEXT......................................................................... 929
        Statystyki............................................................................................................................... 932
            statistics profile................................................................................................................. 932
            statistics io ....................................................................................................................... 933
            statistics time.................................................................................................................... 936
            Wykorzystywanie datediff() do pomiaru czasu wykonania.................................................... 938
        Analiza zapytań za pomocą SQL Profilera ................................................................................ 938

     4QFKC  53. 5GTXGT 2TQHKNGT
        Architektura SQL Profilera...................................................................................................... 941
        Tworzenie śladów .................................................................................................................. 943
           Właściwości — zakładka General....................................................................................... 944
           Właściwości — zakładka Events ........................................................................................ 945
           Właściwości — zakładka Data Columns ............................................................................. 950
           Właściwości — zakładka Filters......................................................................................... 952
        Zapisywanie i eksportowanie śladów........................................................................................ 953
           Analizowanie śladów przy u yciu kreatora dostrajania indeksów .......................................... 954
        Odtwarzanie danych śladu....................................................................................................... 955
        Tworzenie śladów po stronie serwera ....................................................................................... 956
Spis treści                  23

   Scenariusze SQL Profilera....................................................................................................... 957
      Powolne procedury składowane ......................................................................................... 957
      Kontrola zmian fizycznych ................................................................................................ 958
      Określanie zapytań utworzonych ad hoc ............................................................................. 958
      Określanie wąskiego gardła wydajności .............................................................................. 959
      Statystyki uaktualniane w sposób automatyczny .................................................................. 959
      Śledzenie postępu wykonywania programu ......................................................................... 960

4QFKC  9[MQT[UV[YCPKG FGDWIIGTC 53.
Y CPCNKCVQTG CR[VC 
   Pierwszy debugger T-SQL ...................................................................................................... 964
   Wykorzystywanie debuggera T-SQL w analizatorze zapytań...................................................... 965
       Powszechne problemy podczas testowania .......................................................................... 965
       Konfiguracja DCOM......................................................................................................... 967
   Ograniczenia debuggera .......................................................................................................... 968
   Krokowe wykonywanie procedury składowanej ........................................................................ 968
       Testowanie wyzwalaczy i funkcji u ytkownika.................................................................... 968

4QFKC  /QPKVQTQYCPKG Y[FCLPQ EK 53. 5GTXGTC
   Podejście do monitorowania wydajności................................................................................... 970
   Monitor wydajności ................................................................................................................ 971
       Widoki monitora wydajności ............................................................................................. 972
       Monitorowanie wartości .................................................................................................... 972
   Liczniki wydajności w systemie Windows ................................................................................ 974
       Monitorowanie interfejsu sieciowego.................................................................................. 974
       Monitorowanie procesorów ............................................................................................... 977
       Monitorowanie pamięci ..................................................................................................... 978
       Monitorowanie systemu dyskowego ................................................................................... 980
   Liczniki wydajności SQL Servera ............................................................................................ 983
       Obiekt MSSQL: Cache Manager ........................................................................................ 984
       Monitorowanie obcią enia dysku przez SQL Server ............................................................ 984
       Blokady ........................................................................................................................... 985
       U ytkownicy .................................................................................................................... 985
       Pamięć podręczna procedur ............................................................................................... 985
       Liczniki definiowane przez u ytkownika............................................................................. 986
   Obsługa SNMP ...................................................................................................................... 986
   Badanie wydajności za pomocą DBCC..................................................................................... 987
       SQLPERF........................................................................................................................ 988
       PERFMON ...................................................................................................................... 989
       SHOWCONTIG............................................................................................................... 989
       PROCCACHE.................................................................................................................. 989
       INPUTBUFFER i OUTPUTBUFFER ................................................................................ 990
   Inne czynniki wpływające na wydajność SQL Servera............................................................... 990

4QFKC  $NQMQYCPKG K Y[FCLPQ è 
   Konieczność u ywania blokad ................................................................................................. 991
   Poziomy izolowania transakcji w SQL Serverze........................................................................ 992
      Read Uncommitted ........................................................................................................... 993
      Read Committed............................................................................................................... 994
      Repeatable Read ............................................................................................................... 994
      Serializable ...................................................................................................................... 995
24           Microsoft SQL Server 2000. Księga eksperta

        Zarządca blokad ..................................................................................................................... 996
        Badanie stanu blokad w SQL Serverze ..................................................................................... 997
            Korzystanie z procedury składowanej sp_lock ..................................................................... 997
            Przeglądanie tabeli syslockinfo .......................................................................................... 999
            Oglądanie stanu blokad w Enterprise Managerze ................................................................1000
            Oglądanie stanu blokad w SQL Profilerze ..........................................................................1002
            Oglądanie aktualnych blokad w monitorze wydajności ........................................................1005
        Rodzaje blokad w SQL Serverze ............................................................................................1006
            Blokady dzielone .............................................................................................................1007
            Blokady do aktualizacji ....................................................................................................1007
            Blokady na wyłączność ....................................................................................................1008
            Blokady intencyjne ..........................................................................................................1009
            Blokady struktury ............................................................................................................1010
            Blokady hurtowej aktualizacji ...........................................................................................1010
            Rodzaje blokad i tabela syslockinfo ...................................................................................1011
        Ziarnistość blokad SQL Servera..............................................................................................1014
            Serializacja i blokowanie zakresu kluczy............................................................................1016
            Wykorzystywanie blokad aplikacji ....................................................................................1018
            Blokowanie indeksów ......................................................................................................1020
            Blokowanie na poziomie wierszy a blokowanie na poziomie stron .......................................1021
            Zmiana rodzaju blokady ...................................................................................................1022
            Ustawienie konfiguracji blokad — opcja locks ...................................................................1023
        Zgodność blokad ...................................................................................................................1024
        Rywalizacja o blokadę i zakleszczenia.....................................................................................1024
            Wykrywanie rywalizacji o blokady....................................................................................1025
            Ustawianie czasu oczekiwania na blokadę..........................................................................1028
            Ograniczanie rywalizacji o blokadę ...................................................................................1029
            Zakleszczenia ..................................................................................................................1030
            Obsługa i kontrolowanie zakleszczeń.................................................................................1033
        Wskazówki dotyczące blokad na poziomie tabel ......................................................................1038
            Wskazówki dotyczące transakcyjnego poziomu izolowania tabel .........................................1039
            Wskazówki dotyczące ziarnistości blokad ..........................................................................1040
            Wskazówki dotyczące rodzaju blokady..............................................................................1041
        Blokowanie optymistyczne.....................................................................................................1041
            Blokowanie optymistyczne z u yciem danych typu Timestamp............................................1042

     4QFKC  2TQLGMV DC[ FCP[EJ C Y[FCLPQ è
        Podstawowe zasady projektowania .........................................................................................1045
        Logiczne projektowanie bazy danych ......................................................................................1046
            Warunki normalizacji .......................................................................................................1047
            Postaci normalne .............................................................................................................1047
        Denormalizacja bazy danych ..................................................................................................1049
            Wskazówki denormalizacji ...............................................................................................1049
            Podstawowe techniki denormalizacji .................................................................................1050
        Indeksy a wydajność .............................................................................................................1054
            Badanie przydatności indeksów.........................................................................................1055
            Rozkład danych ...............................................................................................................1057
        Wskazówki projektowania indeksów.......................................................................................1062
            Wskazania u ywania indeksów klastrowych.......................................................................1063
            Wskazówki projektowania indeksów zwykłych (nieklastrowych) .........................................1063
Spis treści                 25

       Pokrycie indeksem...........................................................................................................1064
       Indeksy zło one a wiele indeksów .....................................................................................1064
   Pielęgnacja indeksów w SQL Serverze....................................................................................1065
       U ywanie DBCC SHOWCONTIG....................................................................................1066
       Fragmentacja obszarów ....................................................................................................1068
       Naprawianie tabel z du ą fragmentacją ..............................................................................1069
       Ustawianie współczynnika wypełnienia .............................................................................1071
       Aktualizacja współczynnika wypełnienia ...........................................................................1072
   Aktualizacja a wydajność.......................................................................................................1072
       Aktualizacja odło ona ......................................................................................................1072
       Aktualizacja w miejscu.....................................................................................................1072
   Grupy plików bazy danych a wydajność..................................................................................1073
   Technologia RAID ................................................................................................................1074
       RAID poziom 0 ...............................................................................................................1074
       RAID poziom 1 ...............................................................................................................1075
       RAID poziom 10 .............................................................................................................1076
       RAID poziom 5 ...............................................................................................................1076

4QFKC  -QPHKIWTQYCPKG UVTQLGPKG
K QRV[OCNKQYCPKG WUVCYKG 53. 5GTXGTC
   Architektura instancji SQL Servera .........................................................................................1079
   Zmienne konfiguracyjne.........................................................................................................1080
   Zmiana błędnego ustawienia zmiennej.....................................................................................1086
   Ustawianie zmiennych konfiguracyjnych przy u yciu SQL Enterprise Manager ..........................1087
   Przestarzałe zmienne konfiguracyjne.......................................................................................1087
   Opcje konfiguracyjne a wydajność..........................................................................................1088
      Affinity Mask..................................................................................................................1088
      Allow Update ..................................................................................................................1089
      AWE Enabled..................................................................................................................1091
      Cost Threshold for Parallelism ..........................................................................................1091
      Cursor Threshold .............................................................................................................1092
      Default language..............................................................................................................1093
      Fill Factor .......................................................................................................................1093
      Index Create Memory (kB)...............................................................................................1094
      Lightweight Pooling.........................................................................................................1094
      Locks .............................................................................................................................1095
      Max Degree of Parallelism................................................................................................1095
      Max Server Memory oraz Min Server Memory ..................................................................1096
      Max Text Repl Size..........................................................................................................1097
      Max Worker Threads .......................................................................................................1098
      Min Memory Per Query ...................................................................................................1099
      Nested Triggers ...............................................................................................................1100
      Network Packet Size ........................................................................................................1100
      Open Objects ..................................................................................................................1101
      Priority Boost ..................................................................................................................1101
      Query Governor Cost Limit ..............................................................................................1101
      Query Wait .....................................................................................................................1102
      Recovery Interval ............................................................................................................1103
      Remote Proc Trans ..........................................................................................................1103
      Scan for Startup Procs......................................................................................................1104
26            Microsoft SQL Server 2000. Księga eksperta

              Set Working Set Size........................................................................................................1105
              Show Advanced Options ..................................................................................................1106
              User Connections.............................................................................................................1106
              User Options ...................................................................................................................1106

%ú è 8+ +PVGITCELC 53. 5GTXGTC  CTEJKVGMVWTæ /KETQUQHVW  
     4QFKC  53. /CKN 
         Konfiguracja klienta poczty oraz profilu pocztowego................................................................1111
            Jak skonfigurować SQL Mail do współpracy z serwerem Exchange .....................................1113
            Jak skonfigurować SQL Mail do współpracy z internetowym serwerem poczty .....................1114
            Jak skonfigurować SQL Mail do współpracy z serwerem poczty Lotus Notes .......................1115
            Co dalej?.........................................................................................................................1117
         Konfiguracja programu SQL Mail...........................................................................................1117
            Automatyczne uruchamianie programu SQL Mail...............................................................1118
         Konfiguracja programu SQL Agent Mail .................................................................................1119
            Konfiguracja powiadomień operatorów w programie SQL Server Agent...............................1119
            Konfiguracja powiadomień dla zdarzeń programu SQL Server Agent ...................................1122
            Konfiguracja powiadomień dla zadań programu SQL Server Agent......................................1124
         Procedury składowane programu SQL Mail .............................................................................1125
            xp_startmail ....................................................................................................................1125
            xp_stopmail.....................................................................................................................1126
            xp_sendmail ....................................................................................................................1126
            xp_findnextmsg ...............................................................................................................1129
            xp_readmail ....................................................................................................................1129
            xp_deletemail ..................................................................................................................1132
            sp_processmail ................................................................................................................1132

     4QFKC  7 [YCPKG Lú[MC :/. Y 53. 5GTXGTG 
         Tworzenie katalogu wirtualnego na potrzeby SQL Server 2000 .................................................1135
         Poznawanie rozszerzalnego języka znaczników (Extensible Markup Language — XML) ............1137
         Pobieranie danych za pomocą klauzuli FOR XML ...................................................................1140
         Wykorzystanie klauzuli FOR XML RAW................................................................................1140
         Wykorzystanie klauzuli FOR XML AUTO..............................................................................1142
         Wykorzystanie klauzuli FOR XML AUTO, ELEMENTS .........................................................1143
         Wykorzystanie klauzuli FOR XML EXPLICIT........................................................................1143
         Odczytywanie schematów danych XML..................................................................................1147
         Pobieranie danych binarnych w postaci dokumentu XML .........................................................1149
         Podstawy języka XPath .........................................................................................................1150
         Wykorzystywanie XML w procedurach składowanych .............................................................1151
         Wykorzystanie OPENXML do odczytu dokumentu XML.........................................................1153
         U ywanie zapytań w URL .....................................................................................................1156
         Stosowanie szablonów XML ..................................................................................................1158
         Szablony uaktualniające .........................................................................................................1160

     4QFKC  7U WIK CPCNK[ FCP[EJ Y 53. 5GTXGTG 
         Co oznaczają usługi analizy danych i OLAP ............................................................................1163
         Podstawy środowiska usług analizy danych .............................................................................1165
            OLAP a OLTP ................................................................................................................1169
            MOLAP..........................................................................................................................1170
Spis treści                  27

       ROLAP ..........................................................................................................................1170
       HOLAP ..........................................................................................................................1170
   Metodologia projektowania analitycznego ...............................................................................1171
       Uproszczona metodologia analityczna ...............................................................................1172
   Przykład wymagań OLAP......................................................................................................1174
   Tworzenie kostki OLAP ........................................................................................................1175
       Program Analysis Manager...............................................................................................1175
   Tworzenie bazy danych OLAP ...............................................................................................1176
       Dodawanie źródła danych.................................................................................................1177
       Dodawanie wymiarów......................................................................................................1177
       Tworzenie kostki .............................................................................................................1184
       Miary..............................................................................................................................1185
       Elementy obliczeniowe.....................................................................................................1188
       Projektowanie sposobu przechowywania danych ................................................................1189
       Przetwarzanie kostki ........................................................................................................1191
       Przeglądanie kostki danych za pomocą aplikacji Analysis Manager ......................................1192
       Analiza zapytań i optymalizacja ........................................................................................1194
       Podział kostki ..................................................................................................................1195
       Tworzenie kostki wirtualnej..............................................................................................1195
   Praca z relacyjną bazą danych ................................................................................................1196
       Ograniczenia relacyjnych baz danych ................................................................................1196
       Dostarczanie danych do u ytkowników .............................................................................1197
       Wyra enia wielowymiarowe .............................................................................................1197
       Wielowymiarowe obiekty danych ActiveX.........................................................................1199
   Pliki na poziomie systemu operacyjnego..................................................................................1199
       Bezpieczeństwo podczas analizy danych............................................................................1199
       Modele pobierania danych ................................................................................................1200
       Usługi przekształcania danych ..........................................................................................1204
       Repozytorium metadanych ...............................................................................................1205

4QFKC  /KETQUQHV 6TCPUCEVKQP 5GTXGT 
   MTS w skrócie......................................................................................................................1207
       Dlaczego nale y u ywać serwera transakcji........................................................................1208
       Podstawy przetwarzania za pomocą MTS ..........................................................................1210
       Konfiguracja serwera transakcji ........................................................................................1211
       Eksplorator MTS .............................................................................................................1211
       Poznawanie hierarchii MTS..............................................................................................1211
   Tworzenie komponentu MTS .................................................................................................1212
       ObjectContext .................................................................................................................1213
       Metody realizujące zadania bazy danych............................................................................1214
   Instalowanie komponentu MTS ..............................................................................................1216
       Tworzenie pakietu ...........................................................................................................1216
       Ustawianie właściwości komponentu.................................................................................1218
   Konfiguracja zabezpieczeń .....................................................................................................1219
       Opcje bezpieczeństwa pakietu...........................................................................................1220
       Tworzenie ról ..................................................................................................................1220
       Ustawianie członkostwa roli dla komponentu .....................................................................1221
       Jakie jest powiązanie zabezpieczeń MTS i MS-SQL Servera ...............................................1221
       Scenariusz 1. Dostęp według u ytkowników ......................................................................1222
28            Microsoft SQL Server 2000. Księga eksperta

            Scenariusz 2. Dostęp według pakietów...............................................................................1222
            Inne zagadnienia związane z bezpieczeństwem...................................................................1222
         Uruchamianie aplikacji MTS..................................................................................................1222
            Uruchamianie przykładowej aplikacji ................................................................................1224
            Rozwiązywanie problemów ..............................................................................................1225
         U ycie puli połączeń..............................................................................................................1226
            Zmiana czasu działania sterownika ....................................................................................1227

     4QFKC  CUVQUQYCPKG 53. 5GTXGTC Y MNCUVTCEJ
         Od Windows NT Enterprise Edition do Windows 2000 Advanced Server...................................1230
            Serwer transakcji .............................................................................................................1231
            Serwer kolejkujący — Message Queue Server....................................................................1231
         Klastry .................................................................................................................................1232
         Obsługa klastrów w SQL Serverze..........................................................................................1234
            Unikanie niebezpiecznych sytuacji ....................................................................................1236
            Przykład procedury odtwarzania .......................................................................................1237
         Równowa enie obcią enia sieci ..............................................................................................1237

     4QFKC  2TGUWMKYCPKG VGMUVW 
         W jaki sposób działa serwer przeszukiwania ............................................................................1239
         Konfiguracja indeksu .............................................................................................................1240
         Utrzymywanie aktualnej zawartości indeksów..........................................................................1242
             Wybór najlepszego harmonogramu uaktualniania indeksu ...................................................1242
             Odtwarzanie poprzedniej zawartości indeksu......................................................................1243
             Skutki posiadania niespójnych danych ...............................................................................1244
         Przeszukiwanie całego tekstu..................................................................................................1245
             CONTAINS()..................................................................................................................1245
             FREETEXT()..................................................................................................................1246
             CONTAINSTABLE() oraz FREETEXTTABLE() ..............................................................1247
         Stosowanie filtrów dokumentów .............................................................................................1248
         Index Server oraz pełne przeszukiwanie plików danych ............................................................1248

QFCVMK  
     5MQTQYKF
4QFKC 
2QFUVCYQYG HWPMELG
K PCTúFKC CFOKPKUVTCVQTC
                                                                           2CWN ,GPUGP

    W tym rozdziale omówiona zostanie rola administratora SQL Servera, a tak e syste-
    mowe bazy danych i tabele. Ponadto powiemy, w jaki sposób administrator mo e zdo-
    bywać informacje o systemie. Zrozumienie tych podstawowych struktur ma kluczowe
    znaczenie przy administrowaniu bazami danych SQL Servera. Podobnie jak mechanik
    naprawiający samochody, administrator musi wiedzieć, gdzie nale y zajrzeć, gdy poja-
    wią się problemy.



1DQYKæMK CFOKPKUVTCVQTC U[UVGOW
    Administrator odpowiada za spójność i dostępność danych. Jest to proste w zało eniu,
    ale to wielka odpowiedzialność. Niektóre du e firmy szacują wartość swych danych na
    milion dolarów za ka de 100 MB. Nie chodzi tu jednak tylko o pieniądze. Wiele firm,
    które utraciły dane o krytycznym dla siebie znaczeniu, po prostu nigdy ju nie podnio-
    sło się po tej stracie.

    To, co w praktyce wchodzi w zakres obowiązków administratora systemu, określane jest
    dość ogólnie. W małych firmach zadaniem administratora mo e być wykonanie i wdro-
     enie projektu sieci lokalnej, zainstalowanie SQL Servera, implementacja struktury lo-
    gicznej, wyregulowanie zainstalowanej kopii serwera oraz zajmowanie się codziennymi
    czynnościami, takimi jak tworzenie kopii bezpieczeństwa. W większych zakładach zada-
    nia te mogą być rozbite na kilka stanowisk. Najczęściej zarządzaniem u ytkownikami
    i tworzeniem kopii bezpieczeństwa zajmuje się niezale na osoba. Jednak wcią powinno
    istnieć stanowisko głównego administratora, który będzie określał politykę postępowania
    z systemem i koordynował prowadzone działania. Niezale nie od tego, czy zadania te
    wykonywane są przez parę osób czy w pojedynkę, administrator:
        Instaluje i konfiguruje SQL Server.
        Rozplanowuje i tworzy bazy danych.
        Zarządza przechowywaniem danych.
122    Część III   Narzędzia administracyjne i administrowanie programem...

           Kontroluje bezpieczeństwo.
           Ulepsza konfigurację baz danych.
           Wykonuje kopie bezpieczeństwa i przywraca z nich system w razie awarii.

       Inną czynnością wykonywaną niekiedy przez administratorów jest zarządzanie procedu-
       rami przechowywanymi na serwerze. Poniewa procedury przechowywane na serwerze,
       przeznaczone dla aplikacji u ytkowników, często zapisane są w postaci skomplikowanego
       kodu T-SQL, w zasadzie zajmowanie się nimi wchodzi w zakres obowiązków programi-
       stów. Jednak procedury przechowywane na serwerze są tak e obiektami w bazie danych,
       więc równie administrator jest za nie odpowiedzialny. Je eli aplikacje stosowane w fir-
       mie czytelnika wywołują niestandardowe procedury przechowywane na serwerze, czytel-
       nik musi być tego świadomy i koordynować swoje działania z twórcami aplikacji.

       Praca administratora systemu potrafi być źródłem stresów i frustracji. Jest tak e wyma-
       gająca, ale i ciekawa, a stanowisko administratora jest wysoce powa ane. Od admini-
       stratora wymaga się, aby wszystko wiedział, wszystko widział i wszystko przewidywał,
       ale jest on za to adekwatnie wynagradzany.



5[UVGOQYG DC[ FCP[EJ
       Systemowe bazy danych zostały stworzone, by wspomagać pracę SQL Servera. Pro-
       gram instalacyjny tworzy cztery systemowe bazy danych — OCUVGT, OQFGN, OUFD oraz
       VGORFD. Mówi się, e systemowe bazy danych zawierają „metadane” lub inaczej dane
       o danych. Nie mo na wykonywać zrzutów tych baz danych.


OCUVGT
       Jak sama nazwa wskazuje, w bazie danych OCUVGT zawarte są wszystkie informacje
       systemowe dotyczące SQL Servera. Je eli jakikolwiek obiekt zdefiniowany jest na po-
       ziomie całego serwera, jest on przechowywany w bazie OCUVGT. Konta logowania, usta-
       wienia konfiguracyjne, systemowe procedury przechowywane na serwerze oraz infor-
       macje o istnieniu innych baz danych zapisane są w bazie OCUVGT. Je eli baza danych
       OCUVGT ulegnie uszkodzeniu, SQL Server nie uruchomi się, tak więc regularne tworzenie
       kopii bezpieczeństwa tej bazy jest sprawą priorytetową. Dalsze informacje mo na zna-
       leźć w rozdziale 18.


OUFD
       Baza danych OUFD przechowuje informacje dla SQL Server Agenta. Gdy administrator
       określa zadania, alarmy i wyznacza operatorów, informacje o nich są trzymane w bazie
       OUFD. W bazie tej znajdują się te informacje o operacjach tworzenia kopii bezpieczeń-
       stwa, tak więc nawet je eli nie korzysta się z SQL Agenta, nale y pamiętać o tworzeniu
       kopii zapasowych bazy OUFD. W wersji Enterprise Edition w bazie tej występuje dodat-
       kowa tabela obsługująca przenoszenie dziennika.
Rozdział 6.     Podstawowe funkcje i narzędzia administratora                  123


OQFGN
      Baza danych OQFGN jest szablonem, na którego podstawie tworzone są wszystkie bazy
      danych u ytkowników. Wszystkie bazy danych muszą zawierać podstawowy zbiór
      obiektów, znany jako katalog bazy danych. Gdy tworzona jest nowa baza danych, tak
      naprawdę kopiowana jest baza OQFGN, dzięki czemu w nowej bazie znajdują się ju
      wszystkie wymagane obiekty. Oczywiście do bazy OQFGN mo na w wygodny sposób
      dodawać nowe obiekty. Je eli chcemy na przykład, aby we wszystkich naszych bazach
      danych występowała określona tabela, wówczas wystarczy utworzyć ją w bazie danych
      OQFGN. Modyfikując bazę OQFGN, nale y pamiętać o zapisaniu jej na dysku, gdy w prze-
      ciwnym razie wprowadzone zmiany zostaną utracone.


VGORFD
      Baza VGORFD przechowuje obiekty tymczasowe. Bezpośrednio utworzone tabele tymcza-
      sowe, a tak e tymczasowe procedury przechowywane na serwerze i obiekty tworzone
      przez system trafiają do bazy VGORFD. O VGORFD nale y myśleć jak o przestrzeni robo-
      czej, swego rodzaju podręcznym notesie, w którym SQL Server przechowuje przej-
      ściowe dane. Na przykład, zanim wynik zło onej operacji sortowania zostanie zwrócony
      do u ytkownika, jest ona przeprowadzana w bazie VGORFD. Mo na równie tak skonfigu-
      rować system, aby baza VGORFD była wykorzystywana podczas tworzenia indeksów.
      Przechowywanie bazy VGORFD na osobnym dysku mo e wyraźnie skrócić czas tworzenia
      indeksów. Po ka dym uruchomieniu SQL Servera baza danych VGORFD tworzona jest na
      nowo, więc nie ma potrzeby tworzenia jej kopii bezpieczeństwa.


$CC FKUVTKDWVKQP
      Baza FKUVTKDWVKQP nie jest domyślnie tworzona, choć z technicznego punktu widzenia
      jest to systemowa baza danych. Zostanie ona zainstalowana z chwilą, gdy u ytkownik
      zdecyduje się korzystać z replikacji danych. Więcej informacji na ten temat znajduje się
      w rozdziale 25.



6CDGNG U[UVGOQYG
      SQL Server wykorzystuje tabele systemowe do przechowywania informacji o obiektach
      i ustawieniach konfiguracyjnych. Generalnie nazwy tabel systemowych zaczynają się
      przedrostkiem sys, od systemowetabele. Z tego powodu tabele te są często nazywane
      tabelami U[U. Niektóre z nich, takie jak U[UNQIKPU, zostały zaimplementowane jako wi-
      doki. Tabele systemowe dzielą się na dwie główne kategorie. Tabele katalogu systemo-
      wego znajdują się w bazie danych OCUVGT i przechowują informacje wspólne dla całej
      kopii SQL Servera. Tabele katalogu baz danych znajdują się w ka dej bazie danych,
      w tym w bazie OCUVGT, i zawierają informacje specyficzne dla danej bazy. Baza danych
      OUFD ma — oprócz swego katalogu baz danych — dodatkowe tabele systemowe, zwią-
      zane z SQL Agentem, narzędziem Backup and Recovery oraz z przenoszeniem dziennika
124       Część III   Narzędzia administracyjne i administrowanie programem...


          (tylko w wersji Enterprise). Gdy uaktywniona jest replikacja danych, w bazie OCUVGT,
          FKUVTKDWVKQP i w bazach danych u ytkowników, które biorą udział w procesie replika-
          cji, tworzone są dodatkowe tabele systemowe.


-CVCNQI U[UVGOQY[
          W tabeli 6.1 wymieniono tabele i widoki z katalogu systemowego.

6CDGNC  Tabele i widoki z katalogu systemowego

 0CYC                  6[R       1RKU
 5[UCNVHKNGU            Tabela    Zawiera informacje o plikach bazy danych VGORFD. Poniewa baza
                                  VGORFD tworzona jest na nowo przy ka dym uruchomieniu SQL
                                  Servera, informacje te muszą być przechowywane w bazie OCUVGT.
 5[UECEJGQDLGEVU        Tabela    Zawiera informacje o wykorzystaniu skompilowanych obiektów
                                  w pamięci podręcznej. Jest to tabela wirtualna, która materializuje się
                                  za ka dym razem, gdy jest na niej wykonywane jakieś zapytanie.
 U[UEJCTUGVU            Tabela    Zawiera zainstalowane zestawy znaków i porządki sortowania.
 U[UEQPHKIWTGU          Tabela    Przechowuje informacje o konfiguracji systemu, które mają zostać
                                  wykorzystane przy najbli szym uruchomieniu SQL Servera.
 U[UEWTEQPHKIU          Tabela    Przechowuje informacje o bie ącej konfiguracji systemu. Jest to
                                  tabela wirtualna, która materializuje się za ka dym razem, gdy jest
                                  na niej wykonywane jakieś zapytanie.
 U[UFCVCDCUGU           Tabela    Zawiera informacje o wszystkich bazach danych.
 U[UFGXKEGU             Tabela    Zawiera osobny wpis dla ka dego pliku bazy danych, a tak e plików
                                  przechowywanych na dyskach i taśmowych kopiach bezpieczeństwa.
 U[UNCPIWCIGU           Tabela    Zawiera osobny wpis dla ka dego języka zainstalowanego na
                                  serwerze. Nie ma jedynie wpisu dla amerykańskiej odmiany języka
                                  angielskiego, choć jest on zawsze dostępny.
 U[UNQEMKPHQ            Tabela    Przechowuje informacje o wszystkich aktywnych blokadach
                                  w systemie.
 U[UNQIKPU              Widok     Przechowuje wszystkie nazwy u ytkowników w oparciu
                                  o informacje zawarte w tabeli U[UZNQIKPU.
 U[UOGUUCIGU            Tabela    Przechowuje systemowe komunikaty o błędach i ostrze enia.
 U[UQNGFDWUGTU          Widok     Przechowuje informacje o mapowanych nazwach u ytkowników
                                  i hasłach na złączonych serwerach w oparciu o dane dostępne
                                  w tabeli U[UZNQIKPU.
 U[URGTKPHQ             Tabela    Zawiera mierniki wydajności, które mogą być wyświetlane przez
                                  Performance Monitor.
 U[URTQEGUUGU           Tabela    Przechowuje informacje o wszystkich procesach klienckich
                                  i systemowych pracujących pod SQL Serverem.
 U[UTGOQVGNQIKPU        Widok     Zawiera osobny wpis dla ka dego zdalnego u ytkownika mogącego
                                  wywoływać zdalne procedury przechowywane na serwerze.
 U[UZNQIKPU             Tabela    Zawiera informacje o wszystkich nazwach u ytkowników.
Rozdział 6.       Podstawowe funkcje i narzędzia administratora                        125


-CVCNQI DC FCP[EJ
            W tabeli 6.2 wymieniono tabele i widoki z katalogu baz danych.

6CDGNC  Tabele i widoki z katalogu baz danych
 0CYC                    6[R         1RKU
 U[UEQNWOPU               Tabela      Zawiera osobny wpis dla ka dej kolumny ze wszystkich tabel
                                      i widoków, a tak e osobny wiersz dla ka dego parametru procedury
                                      przechowywanej na serwerze.
 U[UEQOOGPVU              Tabela      Zawiera wpisy dla wszystkich widoków, reguł, wartości domyślnych,
                                      wyzwalaczy, ograniczeń CHECK, ograniczeń DEFAULT i procedur
                                      przechowywanych na serwerze.
 U[UEQPUVTCKPVU           Widok       Przyporządkowuje ograniczenia do obiektów, które są ich właścicielami.
                                      Informacje tu zawarte opierają się na danych z tabeli U[UQDLGEV.
 U[UFGRGPFU               Tabela      Zawiera informacje na temat zale nych od siebie obiektów, takie
                                      jak relacje między widokami a tabelami.
 U[UHKNGITQWRU            Tabela      Zawiera informacje o grupach plików.
 U[UHKNGU                 Tabela      Zawiera informacje o plikach baz danych, w tym nazwy logiczne
                                      i fizyczne, a tak e rozmiary plików.
 U[UHQTGKIPMG[U           Tabela      Zawiera informacje o występujących w bazie danych zale nościach
                                      między obcojęzycznymi kluczami.
 U[UHWNNVGZVCEVCNQIU      Tabela      Zawiera osobny wpis dla ka dego katalogu pełnotekstowego.
 U[UKPFGZGU               Tabela      Zawiera informacje o indeksach w bazie danych.
 U[UKPFGZMG[U             Widok       Zawiera informacje o kluczach indeksów.
 U[UOGODGTU               Tabela      Zawiera informacje o rolach nadanych poszczególnym u ytkownikom.
 U[UQDLGEVU               Widok       Zawiera osobny wpis dla ka dego obiektu występującego w bazie danych.
 U[URGTOKUUKQPU           Tabela      Przechowuje informacje o pozwoleniach związanych z określonymi
                                      rolami, pozwoleniach przyznanych i odmówionych u ytkownikom
                                      oraz grupom u ytkowników.
 U[URTQVGEVU              Tabela      Zawiera informacje o pozwoleniach przyznanych kontom
                                      bezpieczeństwa za pomocą deklaracji )4#06 i '0;.
 U[UTGHGTGPEGU            Tabela      Zawiera informacje o mapowaniu kolumn dla dopuszczalnych
                                      zakresów danych, określonych dla obcojęzycznych kluczy.
 U[UV[RGU                 Tabela      Zawiera informacje o wszystkich typach danych zdefiniowanych
                                      przez system i przez u ytkowników.
 U[UWUGTU                 Tabela      Zawiera osobny wpis dla ka dego u ytkownika Windows, grupy
                                      u ytkowników Windows, u ytkownika SQL Servera oraz roli SQL
                                      Servera, mających dostęp do bazy danych.


-CVCNQI TGRNKMCELK
            Tabele katalogu replikacji tworzone są dopiero wówczas, gdy zostanie skonfigurowana re-
            plikacja danych. Po jej skonfigurowaniu odpowiednie tabele tworzone są w bazie OCUVGT,
            OUFD, FKUVTKDWVKQP oraz w bazach danych u ytkowników, biorących udział w procesie re-
            plikacji. Konfiguracja tabel mo e być ró na w zale ności od przyjętego modelu replikacji.
126        Część III     Narzędzia administracyjne i administrowanie programem...


6CDGNG U[UVGOQYG Y OUFD
           Poza standardowymi tabelami katalogu baz danych baza OUFD zawiera tabele charakte-
           rystyczne dla SQL Server Agenta, tworzonych kopii bezpieczeństwa, przenoszenia
           dziennika oraz narzędzia Database Maintenance Plan (plan zarządzania bazą danych).

           W tabeli 6.3 pokazano tabele SQL Server Agenta.

6CDGNC  Tabele SQL Server Agenta
 0CYC                           1RKU
 5[UCNGTVU                       Nazwa, numer błędu itd. dla wszystkich określonych komunikatów o błędach.
 U[UECVGIQTKGU                   Kategorie u ywane do segregowania zadań, alarmów i operatorów.
 U[UFQYPNQCFNKUV                 Kolejka zadań mająca być rozesłana do innych serwerów.
 U[ULQDJKUVQT[                   Tabela z historią zadań zaplanowanych w czasie.
 5[ULQDU                         Informacja o zadaniach SQL Server Agenta.
 U[ULQDUEJGFWNGU                 Informacje o tym, kiedy mają być wykonane poszczególne, zaplanowane
                                 zadania.
 U[ULQDUGTXGTU                   Zale ności między danym zadaniem a jednym lub kilkoma serwerami,
                                 na których ma ono zostać wykonane.
 U[ULQDUVGRU                     Poszczególne kroki składające się na wszystkie zaplanowane zadania.
 U[UPQVKHKECVKQPU                Informacje dla ka dego operatora uszeregowane według zadań.
 U[UQRGTCVQTU                    Informacje o operatorach, takie jak nazwisko, adres e-mail itd.
 U[UVCTIGVUGTXGTITQWROGODGTU     Serwery docelowe wchodzące w skład grupy wieloserwerowej.
 U[UVCTIGVUGTXGTITQWRU           Grupy serwerów docelowych zdefiniowane na serwerze.
 U[UVCTIGVUGTXGTU                Lista serwerów docelowych.
 U[UVCUMKFU                      Odwzorowanie zadań z wcześniejszej wersji na zadania realizowane
                                 w bie ącej wersji systemu.

           W tabeli 6.4 znalazły się informacje na temat tabel odnoszących się do kopii bezpieczeństwa.

6CDGNC  Tabele odnoszące się do kopii bezpieczeństwa

 0CYC                           1RKU
 DCEMWRHKNG                      Zawiera informacje o ka dym pliku dziennika i pliku z danymi, które
                                 zostały uwzględnione przy tworzeniu kopii bezpieczeństwa.
 DCEMWROGFKCHCOKN[               Zawiera informacje o rodzinach mediów, na których tworzone są kopie
                                 bezpieczeństwa, takie jak nazwa, zbiór mediów, fizyczne i logiczne
                                 nazwy plików itd.
 DCEMWROGFKCUGV                  Zawiera nazwę, opis itd. ka dego zestawu mediów.
 DCEMWRUGV                       Zawiera osobny wiersz dla ka dego zestawu kopii bezpieczeństwa.
 NQIOCTMJKUVQT[                  Zawiera informacje o ka dej przeprowadzonej, oznaczonej transakcji.
 TGUVQTGHKNG                     Zawiera osobny wpis dla ka dego pliku przywróconego z kopii
                                 bezpieczeństwa.
 TGUVQTGHKNGITQWR                Zawiera osobny wpis dla ka dej przywróconej grupy plików.
 TGUVQTGJKUVQT[                  Zawiera osobny wiersz dla ka dej przeprowadzonej operacji
                                 przywracania danych.
Rozdział 6.      Podstawowe funkcje i narzędzia administratora                        127


          W tabeli 6.5 wymieniono tabele związane z planem konserwacji systemu.

6CDGNC  Tabele związane z planem konserwacji systemu

 0CYC                         1RKU
 U[UFDOCKPVRNCPAFCVCDCUGU      Zawiera po jednym wierszu dla ka dej bazy danych uwzględnionej
                               w planie.
 U[UFDOCKPVRNCPAJKUVQT[        Historia zadań przeprowadzonych w ramach planu konserwacji systemu.
 U[UFDOCKPVRNCPALQDU           Zawiera osobny wiersz dla ka dego zadania stanowiącego część planu.
 U[UFDOCKPVRNCPU               Zawiera osobny wiersz dla ka dego planu. Znajduje się w nim nazwa,
                               identyfikator oraz data utworzenia planu.

          W tabeli 6.6 wymieniono tabele związane z przenoszeniem dziennika.

6CDGNC  Tabele związane z przenoszeniem dziennika

 0CYC                         1RKU
 NQIAUJKRRKPIAFCVCDCUGU        Nazwa i identyfikator przenoszonej bazy danych.
 NQIAUJKRRKPIAOQPKVQT          Nazwa serwera monitorującego przenoszenie dziennika.
 NQIAUJKRRKPIARNCPAFCVCDCUGU   Nazwy baz danych i uaktywnionych opcji występujących w planie
                               przenoszenia dziennika.
 NQIAUJKRRKPIARNCPAJKUVQT[     Historia planu przenoszenia dziennika.
 NQIAUJKRRKPI RNCPU            Informacje konfiguracyjne planu przenoszenia dziennika.
 NQIAUJKRRKPIARTKOCTKGU        Serwer podstawowy, informacje konfiguracyjne, historia oraz wartości
                               graniczne.
 NQIAUJKRRKPIAUGEQPFCTKGU      Serwer zapasowy, informacje konfiguracyjne, historia oraz wartości
                               graniczne.




2TQEGFWT[ RTGEJQY[YCPG Y U[UVGOKG
          Procedury przechowywane w systemie, tworzone przy instalacji SQL Servera, mają
          bardzo istotne znaczenie dla administrowania nim. Zadaniem procedur przechowywa-
          nych w systemie jest uwolnienie administratora od konieczności bezpośredniej edycji
          i wykonywania zapytań na tabelach systemowych i tabelach katalogu baz danych.
          Obecnie du a część czynności administracyjnych mo e być przeprowadzona z poziomu
          Enterprise Managera, ale warto znać te procedury przechowywane na serwerze. Na
          przykład, aby dodać nowy identyfikator u ytkownika w Enterprise Managerze, wystar-
          czy kliknąć prawym przyciskiem myszy Logins, wybrać w pojawiającym się oknie New
          Login, a następnie wpisać ądane informacje. Jest to dobry sposób, je eli chcemy dodać
          jeden nowy identyfikator, ale co zrobić, jeśli chcielibyśmy dodać ich dwieście? W tym
          przypadku pisze się skrypt wywołujący procedurę przechowywaną w systemie o nazwie
          URACFFNQIKP i dostarcza się wszystkie dane niezbędne do utworzenia nowych identyfi-
          katorów (nazwy u ytkowników, hasła itd.).
128   Część III   Narzędzia administracyjne i administrowanie programem...


      Wymienienie wszystkich procedur przechowywanych w systemie byłoby niepraktyczne.
      Nawet przy pobie nym spojrzeniu na bazę danych OCUVGT widać prawie tysiąc takich
      procedur. Dokumentacja SQL Servera w postaci elektronicznej oraz biblioteka MSDN są
      doskonałymi źródłami informacji na temat procedur przechowywanych w systemie. In-
      ną metodą na zapoznanie się z tymi procedurami jest przejrzenie listy obiektów w Query
      Analyzerze. Doświadczenia autora wskazują na to, e w ten sposób mo na sobie szybko
      przypomnieć, której procedury nale y u yć do wykonania określonego zadania. Je eli
      chcemy wyświetlić więcej informacji, nale y przeciągnąć procedurę do okna zapytań
      i nacisnąć Shift+F1. Spowoduje to wyświetlenie informacji na temat danej procedury
      pochodzących z dokumentacji elektronicznej.


5RGELCNPG EGEJ[ RTQEGFWT RTGEJQY[YCP[EJ Y U[UVGOKG
      Ogólnie rzecz biorąc, procedury przechowywane w systemie mają następujące wła-
      ściwości:
          Są przechowywane w bazie danych OCUVGT.
          Ich nazwy rozpoczynają się od przedrostka sp_.
          Właścicielem procedury jest dbo (ang. database owner — właściciel bazy
          danych).
          Mają one zasięg globalny. Oznacza to, e mogą zostać wywołane z dowolnej
          bazy danych i będą się wykonywały w kontekście tej bazy.

      Podobnie jak nigdy nie powinno się bezpośrednio modyfikować tabel systemowych, tak
      samo nie powinno się zmieniać procedur przechowywanych w systemie. Je eli trzeba
      zmienić procedurę przechowywaną w systemie, nale y skopiować definicję procedury
      z kolumny VGZV tabeli U[UEQOOGPVU lub z okna właściwości procedury w Enterprise Ma-
      nagerze, a następnie wkleić ją do nowej, utworzonej w tym celu procedury, którą będzie
      mo na modyfikować do woli. Nawet je eli zrobimy w definicji procedury jakiś błąd,
      zawsze będzie dostępna oryginalna wersja.

          Należy uważać, aby nie modyfikować procedur przechowywanych na serwerze
          operujących na tabelach systemowych. Procedury te są bardzo złożone i zależą
          od siebie nawzajem. Jeżeli przydarzy się awaria i administrator zadzwoni do Microsoftu
          z prośbą o pomoc, zapewne usłyszy w odpowiedzi: „Nie odpowiadamy na pytania
          dotyczące bezpośredniej modyfikacji obiektów systemowych. Miłego dnia”.



2T[FCVPG RTQEGFWT[ U[UVGOQYG
      Choć istnieją setki procedur systemowych, najczęściej u ywa się około 10 czy 20 z nich.
      Wiele procedur o nazwach zaczynających się od URAJGNR jest naprawdę pomocnych. Na
      przykład URAJGNRFD zwraca informacje o wszystkich bazach danych, a je eli podana jest
      konkretna nazwa bazy, tylko o tej jednej bazie danych. Na przykład URAJGNRFD RWDU .

      W tabeli 6.7 wymieniono kilka popularnych procedur przechowywanych w systemie.
Rozdział 6.    Podstawowe funkcje i narzędzia administratora                   129


6CDGNC  Popularne procedury przechowywane w systemie

 0CYC RTQEGFWT[           1RKU
 URAJGNR                   Wyświetla listę obiektów występujących w danej bazie danych lub zwraca
                           informację na temat określonego obiektu. Mo e być u ywana do zdobywania
                           informacji o dowolnych obiektach z bazy danych.
 URAJGNRFD                 Wyświetla listę baz danych lub informacje o konkretnej bazie.
 URAJGNRTQVGEV             Wyświetla informacje o obiektach i pozwoleniach.
 URAYJQ                    Zwraca informacje o połączeniach SQL Servera.
 URANQEM                   Informacje o blokadach wszystkich, jednego bądź dwóch procesów.
                           Pomocna przy diagnozowaniu problemów z blokowaniem.
 URAEQPHKIWTG              Wyświetla lub zmienia globalne ustawienia konfiguracyjne.
 URAFDQRVKQP               Wyświetla lub zmienia ustawienia konfiguracyjne bazy danych.




+PPG URQUQD[ Y[MQP[YCPKC CR[VC
PC VCDGNCEJ U[UVGOQY[EJ
           Jak dotąd w rozdziale tym skupiliśmy się na procedurach przechowywanych w syste-
           mie, za pomocą których mo na uzyskać informacje z baz danych i z katalogu systemo-
           wego. Istnieją dwie inne metody pozwalające na odczytywanie metadanych. Są to wi-
           doki schematów informacyjnych i funkcje systemowe.


9KFQMK UEJGOCVÎY KPHQTOCE[LP[EJ
           Widoki schematów informacyjnych określone są w standardzie ANSI-92 jako zbiór
           widoków prezentujących dane systemowe. Dzięki zastosowaniu widoków rzeczywiste
           tabele systemowe są ukryte przed aplikacjami. Zmiany wprowadzane w tabelach sys-
           temowych nie mają wpływu na aplikacje, poniewa te ostatnie nie korzystają bezpo-
           średnio z tabel systemowych. W ten sposób aplikacje mogą pobierać dane z dowolnego
           systemu zgodnego ze schematami informacyjnymi ANSI-92, niezale nie od dostawcy
           i wersji baz danych.

           SQL Server, odwołując się do obiektów umieszczonych na lokalnym serwerze, posłu-
           guje się trójczłonowym schematem nazewnictwa określonym w standardzie ANSI-92.
           W terminologii ANSI-92 jest to katalog.schemat.obiekt, zaś wg słownictwa Microsoftu
           baza_danych.właściciel.obiekt. Je eli baza danych nie została określona, domyślnie
           przyjmowane jest, e chodzi o bie ącą bazę. Je eli nie został podany właściciel, przyj-
           muje się, e chodzi o aktualnie stosowaną nazwę u ytkownika. Ma to istotne znaczenie,
           jeśli chodzi o widoki schematów informacyjnych, poniewa są one „posiadane” przez
           +0(14/#6+10A5%*'/#. Tak więc odwołując się do widoku schematów informacyjnych
           w bie ącej bazie danych, trzeba podać część schematu nazewnictwa obejmującą właści-
           ciela.obiekt. Na przykład chcąc uzyskać informacje o tabelach, nale ałoby wpisać:
             5'.'%6
(41/ +0(14/#6+10A5%*'/#6#$.'5

More Related Content

PDF
Transact-SQL. Czarna księga
PDF
SQL Server 2005. Programowanie. Od podstaw
PDF
SQL Server 2005. Wyciśnij wszystko
PDF
Delphi 7 i bazy danych
PDF
MySQL. Opis języka
PDF
Maintenance_Plans_Zupełnie_Znienacka
PDF
SQL. Leksykon kieszonkowy
PPTX
PLSSUG Meeting - SQL Server 2008 Licensing
Transact-SQL. Czarna księga
SQL Server 2005. Programowanie. Od podstaw
SQL Server 2005. Wyciśnij wszystko
Delphi 7 i bazy danych
MySQL. Opis języka
Maintenance_Plans_Zupełnie_Znienacka
SQL. Leksykon kieszonkowy
PLSSUG Meeting - SQL Server 2008 Licensing

What's hot (12)

PDF
Bazy danych i MySQL. Od podstaw
PPTX
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
PDF
Oracle Database 10g. Kompendium administratora
PDF
SQL. Od podstaw
PDF
MySQL. Almanach
PDF
Bazy danych SQL. Teoria i praktyka
PDF
Wysoka Dostępność SQL Server 2008 w kontekscie umów SLA
PPTX
Microsoft Business Intelligence w 2017 roku
PPTX
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
PPTX
Using Red Gate SQL Doc for database documentation
PPTX
Podstawy ETL z SSIS
Bazy danych i MySQL. Od podstaw
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Oracle Database 10g. Kompendium administratora
SQL. Od podstaw
MySQL. Almanach
Bazy danych SQL. Teoria i praktyka
Wysoka Dostępność SQL Server 2008 w kontekscie umów SLA
Microsoft Business Intelligence w 2017 roku
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
Using Red Gate SQL Doc for database documentation
Podstawy ETL z SSIS
Ad

Viewers also liked (17)

PDF
C# 3.0 i .NET 3.5. Technologia LINQ
PDF
Windows XP PL. Biblia
PDF
Mathcad. Ćwiczenia. Wydanie II
PDF
VB .NET. Almanach
PDF
Joomla! System zarządzania treścią
PDF
.NET CLR. Księga eksperta
PDF
ABC Delphi 6
PDF
JavaScript. Projekty
PDF
Po prostu PHP. Techniki zaawansowane
PDF
Oracle. Optymalizacja wydajności
PDF
Projektowanie baz danych XML. Vademecum profesjonalisty
PDF
ASP.NET. Vademecum profesjonalisty
PDF
TCP/IP. Księga eksperta
PDF
sendmail. Receptury
PDF
JavaScript. Ćwiczenia praktyczne. Wydanie II
PDF
ABC Photoshop 7
PDF
Mandriva. Ćwiczenia
C# 3.0 i .NET 3.5. Technologia LINQ
Windows XP PL. Biblia
Mathcad. Ćwiczenia. Wydanie II
VB .NET. Almanach
Joomla! System zarządzania treścią
.NET CLR. Księga eksperta
ABC Delphi 6
JavaScript. Projekty
Po prostu PHP. Techniki zaawansowane
Oracle. Optymalizacja wydajności
Projektowanie baz danych XML. Vademecum profesjonalisty
ASP.NET. Vademecum profesjonalisty
TCP/IP. Księga eksperta
sendmail. Receptury
JavaScript. Ćwiczenia praktyczne. Wydanie II
ABC Photoshop 7
Mandriva. Ćwiczenia
Ad

Similar to Microsoft SQL Server 2000. Księga eksperta (20)

PDF
SQL Server 2005
PDF
Microsoft SQL Server 2005. Podręcznik programisty
PDF
100 sposobów na serwery Windows
PDF
Windows Server 2003. Wysoko wydajne rozwiązania
PDF
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PDF
Visual Basic .NET. Bazy danych. Księga eksperta
PDF
Windows Server 2003. Podręcznik administratora
PDF
SQL. Optymalizacja
PDF
Oracle9i. Programowanie w języku PL/SQL
PDF
Access 2007 PL. Kurs
PDF
Rozbudowa i naprawa serwerów
PDF
JavaServer Faces. Wydanie II
PDF
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
PDF
Oracle. Projektowanie rozproszonych baz danych
PDF
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
PDF
MySQL. Szybki start
PDF
Cisco. Receptury
PDF
Excel 2003. Programowanie. Zapiski programisty
PDF
JBuilder i bazy danych
PDF
PHP, MySQL i Apache dla każdego. Wydanie II
SQL Server 2005
Microsoft SQL Server 2005. Podręcznik programisty
100 sposobów na serwery Windows
Windows Server 2003. Wysoko wydajne rozwiązania
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
Visual Basic .NET. Bazy danych. Księga eksperta
Windows Server 2003. Podręcznik administratora
SQL. Optymalizacja
Oracle9i. Programowanie w języku PL/SQL
Access 2007 PL. Kurs
Rozbudowa i naprawa serwerów
JavaServer Faces. Wydanie II
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
Oracle. Projektowanie rozproszonych baz danych
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
MySQL. Szybki start
Cisco. Receptury
Excel 2003. Programowanie. Zapiski programisty
JBuilder i bazy danych
PHP, MySQL i Apache dla każdego. Wydanie II

More from Wydawnictwo Helion (20)

PDF
Tworzenie filmów w Windows XP. Projekty
PDF
Blog, więcej niż internetowy pamiętnik
PDF
Access w biurze i nie tylko
PDF
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
PDF
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
PDF
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
PDF
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
PDF
Makrofotografia. Magia szczegółu
PDF
Windows PowerShell. Podstawy
PDF
Java. Efektywne programowanie. Wydanie II
PDF
JavaScript. Pierwsze starcie
PDF
Ajax, JavaScript i PHP. Intensywny trening
PDF
PowerPoint 2007 PL. Seria praktyk
PDF
Excel 2007 PL. Seria praktyk
PDF
Access 2007 PL. Seria praktyk
PDF
Word 2007 PL. Seria praktyk
PDF
Serwisy społecznościowe. Budowa, administracja i moderacja
PDF
AutoCAD 2008 i 2008 PL
PDF
Bazy danych. Pierwsze starcie
PDF
Inventor. Pierwsze kroki
Tworzenie filmów w Windows XP. Projekty
Blog, więcej niż internetowy pamiętnik
Access w biurze i nie tylko
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Makrofotografia. Magia szczegółu
Windows PowerShell. Podstawy
Java. Efektywne programowanie. Wydanie II
JavaScript. Pierwsze starcie
Ajax, JavaScript i PHP. Intensywny trening
PowerPoint 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
Serwisy społecznościowe. Budowa, administracja i moderacja
AutoCAD 2008 i 2008 PL
Bazy danych. Pierwsze starcie
Inventor. Pierwsze kroki

Microsoft SQL Server 2000. Księga eksperta

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ Microsoft SQL Server SPIS TRE CI 2000. Ksiêga eksperta KATALOG KSI¥¯EK Autorzy: Ray Rankins, Paul Jensen, Paul Bertucci T³umaczenie: Micha³ Dadan, Leszek Mosingiewicz, KATALOG ONLINE Rafa³ Szpoton ISBN: 83-7197-721-2 ZAMÓW DRUKOWANY KATALOG Tytu³ orygina³u: Microsoft SQL Server 2000. Unleashed Format: B5, stron: 1302 TWÓJ KOSZYK „Microsoft SQL Server 2000. Ksiêga eksperta” to pozycja przeznaczona dla rednio zaawansowanego i zaawansowanego u¿ytkownika. Nadaje siê ona zarówno dla DODAJ DO KOSZYKA administratorów programu SQL Server, jak i programistów chc¹cych w pe³ni zrozumieæ dzia³anie tego produktu i pisaæ lepsze aplikacje oraz kod Transact-SQL. Je¿eli jeste odpowiedzialny za analizê, projektowanie, implementacjê, obs³ugê, administrowanie czy CENNIK I INFORMACJE rozwi¹zywanie problemów z SQL Server 2000, ta ksi¹¿ka bêdzie stanowiæ doskona³e ród³o praktycznych informacji. Autorzy szczegó³owo omówili bardziej z³o¿one aspekty produktu, ZAMÓW INFORMACJE takie jak wykorzystanie nowych narzêdzi, kodowanie w jêzyku Transact-SQL, O NOWO CIACH administrowanie serwerem, analizowanie zapytañ, optymalizacjê, hurtownie danych, zarz¹dzanie bardzo du¿ymi bazami danych i poprawianie wydajno ci. ZAMÓW CENNIK Omówione zagadnienia to m.in. • rodowisko Microsoft SQL Server 2000 i zmiany wprowadzone w najnowszej wersji programu CZYTELNIA • Instalowanie i konfigurowanie serwera i programów klienckich • Narzêdzia administracyjne i administrowanie SQL Serverem FRAGMENTY KSI¥¯EK ONLINE • Praca z SQL Server Enterprise Managerem i narzêdziami uruchamianymi z linii poleceñ • Tworzenie baz danych, tabel, indeksów, widoków • Pisanie procedur przechowywanych na serwerze i wyzwalaczy • Tworzenie w³asnych funkcji • Kwestie zwi¹zane z bezpieczeñstwem bazy danych, uprawnieniami u¿ytkowników i odzyskiwaniem danych w przypadku awarii • Zarz¹dzanie serwerami sprzê¿onymi i zdalnymi, tworzenie klastrów • Import, eksport i replikacja danych • U¿ycie jêzyka T-SQL • Wewnêtrzne mechanizmy serwera • Kwestie strojenia i optymalizacji zapytañ Wydawnictwo Helion • Blokowanie i jego wp³yw na wydajno æ ul. Chopina 6 • Techniki projektowania efektywnych baz danych 44-100 Gliwice • XML w programie SQL Server 2000 tel. (32)230-98-63 • Us³ugi analizy danych w programie SQL Server e-mail: helion@helion.pl • Microsoft Transaction Server i jego zastosowanie Ksi¹¿ka ta nie jest tylko opisem sk³adni, zastêpuj¹cym dokumentacjê do³¹czan¹ do SQL Server. Przydaje siê ona tam, gdzie dokumentacja online nie zdaje egzaminu. Autorzy dziel¹ siê z czytelnikami przyk³adami i przemy leniami wynikaj¹cymi z ich wieloletniego do wiadczenia zawodowego w pracy z MS SQL Server. „Microsoft SQL Server 2000. Ksiêga eksperta” to niezbêdne ród³o informacji dla wszystkich pracuj¹cych z tym programem.
  • 2. 5RKU VTG EK 1 #WVQTCEJ 9UVúR %ú è + 9KVCL Y YKGEKG /KETQUQHV 53. 5GTXGT 4QFKC TQFQYKUMQ /KETQUQHV 53. 5GTXGT Ogólny opis architektury klient-serwer ....................................................................................... 41 Model wykorzystujący komputery mainframe ....................................................................... 43 Model wykorzystujący komputery PC pracujące w sieci LAN................................................. 43 Warstwy pośredniczące ....................................................................................................... 43 Silnik baz danych SQL Servera ................................................................................................. 44 Niezawodne przechowywanie danych................................................................................... 45 Natychmiastowy dostęp do danych....................................................................................... 45 Zapewnianie spójnego dostępu do danych............................................................................. 46 Kontrola dostępu ................................................................................................................ 46 Narzucanie reguł integralności danych.................................................................................. 46 SQL Server Enterprise Manager ................................................................................................ 47 SQL Service Manager............................................................................................................... 48 SQL Server Agent .................................................................................................................... 49 SQL Query Analyzer ................................................................................................................ 50 SQL Profiler ............................................................................................................................ 51 Usługi przekształcania danych ................................................................................................... 52 Replikacja................................................................................................................................ 54 Replikacja migawkowa........................................................................................................ 54 Replikacja transakcyjna....................................................................................................... 54 Replikacja scalająca ............................................................................................................ 55 Uaktualnienia błyskawiczne................................................................................................. 55 Microsoft Search Server (wyszukiwanie pełnotekstowe) .............................................................. 56 Usługi analizy danych (OLAP Server)........................................................................................ 57 4QFKC TQFQYKUMC RTCE[ K YGTULG 53. 5GTXGTC Środowiska pracy SQL Server 2000........................................................................................... 59 Windows 98 i Windows ME ................................................................................................ 59 Windows NT 4.0 ................................................................................................................ 60 Windows 2000 ................................................................................................................... 60 Windows CE ...................................................................................................................... 61 Tabela platform systemowych i wersji SQL Servera 2000 ...................................................... 62
  • 3. 6 Microsoft SQL Server 2000. Księga eksperta Wersje SQL Servera 2000......................................................................................................... 63 SQL Server 2000 Standard Edition ....................................................................................... 63 SQL Server 2000 Enterprise Edition ..................................................................................... 64 Inne wersje SQL Servera 2000............................................................................................. 65 Modele licencjonowania SQL Servera 2000................................................................................ 67 Licencjonowanie wersji Personal Edition .............................................................................. 69 Licencjonowanie wersji Database Engine.............................................................................. 69 Licencjonowanie wersji Windows CE Edition ....................................................................... 69 Wybór modelu licencjonowania ........................................................................................... 69 Mieszanie modeli licencjonowania ....................................................................................... 70 Licencje dla klastrów .......................................................................................................... 70 4QFKC 0QYQ EK Y 53. 5GTXGTG Nowe właściwości SQL Servera 2000 ........................................................................................ 71 Funkcje definiowane przez u ytkownika ............................................................................... 72 Widoki indeksowane ........................................................................................................... 72 Rozproszone widoki częściowe ............................................................................................ 73 Wyzwalacze INSTEAD OF i AFTER................................................................................... 73 Nowe typy danych.............................................................................................................. 73 Tekst w wierszu danych ...................................................................................................... 74 Kaskadowe ograniczenia RI................................................................................................. 74 Mo liwość uruchamiania kilku kopii SQL Servera................................................................. 74 Obsługa XML .................................................................................................................... 75 Przenoszenie dziennika........................................................................................................ 75 Rozszerzenia wprowadzone w SQL Serverze 2000...................................................................... 76 Rozszerzenia w systemie indeksowania................................................................................. 76 Rozszerzenia sposobu sortowania......................................................................................... 76 Rozszerzenia DBCC ........................................................................................................... 77 Rozszerzenia w wyszukiwaniu pełnotekstowym .................................................................... 77 Rozszerzone mo liwości tworzenia klastrów ......................................................................... 77 Rozszerzenia dotyczące tworzenia i przywracania kopii bezpieczeństwa.................................. 78 Obsługa do 64 GB pamięci .................................................................................................. 78 Rozszerzenia usług analizy danych....................................................................................... 78 %ú è ++ +PUVCNCELC K WCMVWCNPKGPKG 4QFKC +PUVCNQYCPKG PQYGL MQRKK 53. 5GTXGTC Wybór wersji SQL Servera ....................................................................................................... 83 Wymagania sprzętowe .............................................................................................................. 85 Procesor ............................................................................................................................ 85 Pamięć............................................................................................................................... 85 Przestrzeń dyskowa i rodzaje dysków twardych..................................................................... 86 Wymagania programowe........................................................................................................... 86 System operacyjny.............................................................................................................. 87 System plików.................................................................................................................... 87 Pozostałe wymagania .......................................................................................................... 88 Wybór opcji konfiguracyjnych w czasie instalacji........................................................................ 88 Wybór komponentów SQL Servera i miejsca poło enia plików............................................... 88 Konta u ytkowników programów SQL Server i SQL Server Agent ......................................... 90 Wybór trybu uwierzytelniania .............................................................................................. 91
  • 4. Spis treści 7 Wybór domyślnego sposobu sortowania................................................................................ 91 Biblioteki sieciowe.............................................................................................................. 92 Metody licencjonowania...................................................................................................... 93 Sprawdzanie poprawności instalacji ........................................................................................... 94 Uruchamianie, zatrzymywanie i pauzowanie SQL Servera ........................................................... 94 Łączenie się z SQL Serverem .............................................................................................. 95 Konfiguracja SQL Servera po jego zainstalowaniu ...................................................................... 96 Zmiana hasła u ytkownika sa............................................................................................... 96 Konfiguracja kont administratora ......................................................................................... 96 Konfiguracja dziennika błędów ............................................................................................ 97 Narzędzie Server Network................................................................................................... 97 Rozwiązywanie problemów z instalacją...................................................................................... 97 Instalacja zdalna ....................................................................................................................... 98 Instalacja nienadzorowana......................................................................................................... 98 Instalowanie kopii SQL Servera o określonej nazwie ................................................................... 99 Po co instalować wiele kopii SQL Servera ............................................................................ 99 Uaktualnianie z wcześniejszych wersji ..................................................................................... 100 4QFKC +PUVCNQYCPKG K MQPHKIWTCELC MNKGPVC Architektura klienta SQL Servera ............................................................................................ 101 Instalowanie narzędzi klienckich.............................................................................................. 103 Wymagania klientów......................................................................................................... 103 Opcje instalacyjne............................................................................................................. 103 Konfiguracja klientów............................................................................................................. 105 Narzędzie konfiguracji sieci SQL Servera ........................................................................... 106 Obsługa protokołów sieciowych .............................................................................................. 109 Protokoły sieciowe............................................................................................................ 109 Rozwiązywanie problemów z połączeniami klienckimi ........................................................ 112 Instalowanie ODBC................................................................................................................ 115 Konfiguracja źródeł danych ODBC .................................................................................... 115 Rozwiązywanie problemów z połączeniami ODBC.............................................................. 116 OLE DB .......................................................................................................................... 116 Łączenie się z SQL Serverem za pośrednictwem Internetu ......................................................... 117 Zabezpieczanie połączeń przychodzących z Internetu .......................................................... 117 Łączenie się z SQL Serverem za pośrednictwem Microsoft Proxy Server .............................. 118 %ú è +++ 0CTúFKC CFOKPKUVTCE[LPG K CFOKPKUVTQYCPKG RTQITCOGO 53. 5GTXGT 4QFKC 2QFUVCYQYG HWPMELG K PCTúFKC CFOKPKUVTCVQTC Obowiązki administratora systemu........................................................................................... 121 Systemowe bazy danych ......................................................................................................... 122 master.............................................................................................................................. 122 msdb ............................................................................................................................... 122 model .............................................................................................................................. 123 tempdb ............................................................................................................................ 123 Baza distribution............................................................................................................... 123 Tabele systemowe .................................................................................................................. 123 Katalog systemowy........................................................................................................... 124 Katalog baz danych........................................................................................................... 125
  • 5. 8 Microsoft SQL Server 2000. Księga eksperta Katalog replikacji.............................................................................................................. 125 Tabele systemowe w msdb ................................................................................................ 126 Procedury przechowywane w systemie..................................................................................... 127 Specjalne cechy procedur przechowywanych w systemie ..................................................... 128 Przydatne procedury systemowe.............................................................................................. 128 Inne sposoby wykonywania zapytań na tabelach systemowych................................................... 129 Widoki schematów informacyjnych.................................................................................... 129 Funkcje systemowe i funkcje operujące na metadanych ....................................................... 130 4QFKC 53. 5GTXGT 'PVGTRTKUG /CPCIGT Tworzenie grup serwerów i rejestrowanie SQL Servera w Enterprise Managerze ......................... 132 Grupy serwerów ............................................................................................................... 132 Rejestrowanie serwerów.................................................................................................... 132 Łączenie się z i odłączanie się od serwerów ........................................................................ 133 Uruchamianie i zatrzymywanie serwerów ........................................................................... 134 Konfiguracja serwera.............................................................................................................. 134 Opcje serwera .................................................................................................................. 135 Opcje dotyczące bezpieczeństwa........................................................................................ 135 Zmiana konfiguracji .......................................................................................................... 135 Bazy danych .......................................................................................................................... 136 Tworzenie i modyfikacja baz danych.................................................................................. 136 Tworzenie i przywracanie kopii bezpieczeństwa .................................................................. 138 Praca z diagramami baz danych ......................................................................................... 138 Bezpieczeństwo...................................................................................................................... 139 Zarządzanie nazwami u ytkowników i rolami ..................................................................... 139 Zarządzanie serwerami połączonymi i zdalnymi .................................................................. 141 Zarządzanie serwerem ............................................................................................................ 141 SQL Server Agent............................................................................................................. 141 Kopie bezpieczeństwa ....................................................................................................... 142 Bie ące operacje............................................................................................................... 142 Plany konserwacji baz danych ........................................................................................... 143 Dzienniki SQL Servera ..................................................................................................... 143 Usługi przekształcania danych ................................................................................................. 145 Usługi pomocnicze ................................................................................................................. 145 Koordynator transakcji rozproszonych................................................................................ 145 Wyszukiwanie pełnotekstowe ............................................................................................ 146 SQL Mail......................................................................................................................... 146 Narzędzia systemowe ............................................................................................................. 146 Query Analyzer ................................................................................................................ 146 SQL Profiler..................................................................................................................... 147 Zarządzanie komunikatami o błędach ................................................................................. 148 Replikacja.............................................................................................................................. 149 Publikacje ........................................................................................................................ 149 Subskrypcje ..................................................................................................................... 149 Korzystanie z narzędzia Database Taskpad............................................................................... 150 Korzystanie z Query Designera................................................................................................ 151 Obiekty skryptowe ................................................................................................................. 152 Uzyskiwanie pomocy.............................................................................................................. 154
  • 6. Spis treści 9 4QFKC 0CTúFKC Y[YQ [YCPG YKGTUC RQNGEG BCP...................................................................................................................................... 155 Narzędzia związane z usługami przekształcania danych ............................................................. 156 ISQL i OSQL......................................................................................................................... 157 makepipe i readpipe................................................................................................................ 158 ODBCcmpt............................................................................................................................ 159 odbcping................................................................................................................................ 159 rebuildm ................................................................................................................................ 160 regrebld ................................................................................................................................. 161 Narzędzia związane z replikacją danych ................................................................................... 161 SQLDiag ............................................................................................................................... 163 SQLMaint.............................................................................................................................. 164 SQLServer............................................................................................................................. 165 VSwitch ................................................................................................................................ 165 4QFKC 6YQTGPKG DC FCP[EJ K CTæFCPKG PKOK Co składa się na bazę danych SQL Servera............................................................................... 167 Przechowywanie danych w SQL serwerze................................................................................ 168 Pliki baz danych..................................................................................................................... 168 Pliki podstawowe.............................................................................................................. 169 Pliki dodatkowe................................................................................................................ 169 Korzystanie z grup plików ................................................................................................. 170 Plik dziennika transakcji.................................................................................................... 171 Tworzenie baz danych ............................................................................................................ 171 Korzystanie z kreatora Create Database (utwórz bazę danych) .............................................. 172 Korzystanie z Enterprise Managera..................................................................................... 172 Korzystanie z T-SQL ........................................................................................................ 174 Zarządzanie bazami danych..................................................................................................... 175 Zarządzanie rozszerzaniem plików ..................................................................................... 175 Rozszerzanie baz danych................................................................................................... 175 Zmniejszanie baz danych................................................................................................... 176 Ustawianie opcji baz danych ................................................................................................... 179 Opcje baz danych ............................................................................................................. 179 Ustawianie opcji baz danych za pomocą Enterprise Managera .............................................. 179 Ustawianie opcji baz danych w języku T-SQL .................................................................... 180 Uzyskiwanie informacji o bie ących ustawieniach ............................................................... 181 4QFKC 6YQTGPKG VCDGN K CTæFCPKG PKOK Typy danych.......................................................................................................................... 186 Znakowe i binarne typy danych.......................................................................................... 186 uniqueidentifier ................................................................................................................ 188 timestamp ........................................................................................................................ 188 Typy danych datetime ....................................................................................................... 188 Logiczny typ danych: bit ................................................................................................... 190 Numeryczne typy danych........................................................................................................ 190 Typy danych dla liczb całkowitych..................................................................................... 190 Przybli one typy numeryczne ............................................................................................ 191 Precyzyjne typy numeryczne ............................................................................................. 191 Typy money..................................................................................................................... 191
  • 7. 10 Microsoft SQL Server 2000. Księga eksperta Synonimy typów danych......................................................................................................... 192 Typy danych zdefiniowane przez u ytkownika.......................................................................... 192 Tworzenie tabel...................................................................................................................... 193 Nazywanie tabel ............................................................................................................... 194 Tworzenie tabel w języku T-SQL ............................................................................................ 195 Definiowanie kolumn ........................................................................................................ 195 Właściwości kolumn ......................................................................................................... 196 Wybór lokalizacji dla tabeli ............................................................................................... 197 Definiowanie stałych......................................................................................................... 198 Dodawanie, usuwanie i modyfikacja kolumn w języku T-SQL ............................................. 199 Tworzenie tabel za pomocą Table Designera............................................................................. 202 Dodawanie, usuwanie i modyfikacja kolumn w Table Designerze ......................................... 202 Generowanie skryptów tworzących tabele........................................................................... 203 Przeglądanie właściwości tabel i zawartych w nich danych w Enterprise Managerze .................... 204 Ograniczenia rozmiarów i wymiarów tabel ............................................................................... 205 Usuwanie tabel....................................................................................................................... 206 Tabele tymczasowe ................................................................................................................ 206 Tworzenie tabel tymczasowych.......................................................................................... 206 4QFKC 6YQTGPKG KPFGMUÎY K CTæFCPKG PKOK Rodzaje indeksów .................................................................................................................. 208 Indeksy klastrowe ............................................................................................................. 208 Indeksy nieklastrowe......................................................................................................... 208 Tworzenie indeksów w języku T-SQL ..................................................................................... 209 Składnia polecenia CREATE INDEX................................................................................. 209 Przykłady u ycia poleceń języka Transact-SQL do tworzenia indeksów ................................ 209 Tworzenie indeksów w Enterprise Managerze........................................................................... 211 Zarządzanie indeksami............................................................................................................ 212 Usuwanie indeksów ................................................................................................................ 212 4QFKC 5RÎLPQ è FCP[EJ Rodzaje spójności danych ....................................................................................................... 213 Spójność domenowa ......................................................................................................... 214 Spójność jednostkowa....................................................................................................... 214 Spójność odwoławcza ....................................................................................................... 214 Wymuszanie spójności danych ................................................................................................ 214 Deklaracje........................................................................................................................ 214 Metody proceduralne ........................................................................................................ 215 Ograniczenia.......................................................................................................................... 215 Ograniczenia PRIMARY KEY .......................................................................................... 215 Ograniczenia UNIQUE ..................................................................................................... 216 Ograniczenie zapewniające spójność odwoławczą: FOREIGN KEY...................................... 216 Ograniczenia CHECK ....................................................................................................... 218 Nakładanie ograniczeń w Enterprise Managerze .................................................................. 220 Zarządzanie ograniczeniami............................................................................................... 222 Zbieranie informacji o istniejących ograniczeniach .............................................................. 222 Reguły................................................................................................................................... 223 Stosowanie reguł............................................................................................................... 224 Tworzenie reguł i zarządzanie nimi .................................................................................... 224 Ograniczenia reguł ............................................................................................................ 225
  • 8. Spis treści 11 Wartości domyślne ................................................................................................................. 225 Deklaratywne wartości domyślne ....................................................................................... 226 Związywane wartości domyślne ......................................................................................... 226 Zastosowanie wartości domyślnych .................................................................................... 227 Kiedy nadawane są wartości domyślne ............................................................................... 227 Pierwszeństwo powiązań z regułami i wartościami domyślnymi............................................ 229 4QFKC 6YQTGPKG YKFQMÎY K CTæFCPKG PKOK Definicja widoku .................................................................................................................... 231 Widoki ułatwiające dostęp do danych....................................................................................... 232 Widoki jako mechanizm bezpieczeństwa .................................................................................. 233 Zmiany w danych a widoki...................................................................................................... 234 Tworzenie widoków ............................................................................................................... 235 Wytyczne dotyczące tworzenia widoków ............................................................................ 235 Ograniczenia związane z tworzeniem widoków ................................................................... 236 Tworzenie widoków w języku T-SQL ................................................................................ 236 Tworzenie widoków za pomocą View Designera ................................................................. 238 Modyfikacja i usuwanie widoków ............................................................................................ 240 Modyfikacja widoków....................................................................................................... 240 Usuwanie widoków........................................................................................................... 240 Widoki partycji ...................................................................................................................... 241 Tworzenie widoku partycji ................................................................................................ 242 Uaktualnianie danych za pośrednictwem widoku partycji ..................................................... 242 Widoki indeksowane............................................................................................................... 243 Trochę teorii..................................................................................................................... 243 Zalety widoków indeksowanych......................................................................................... 243 Wady widoków indeksowanych ......................................................................................... 244 4QFKC 6YQTGPKG RTQEGFWT RTGEJQY[YCP[EJ PC UGTYGTG K CTæFCPKG PKOK Zalety procedur przechowywanych na serwerze........................................................................ 245 Tworzenie i wykonywanie procedur......................................................................................... 247 Grupy procedur ................................................................................................................ 248 Odroczone odwzorowywanie nazw .......................................................................................... 249 Identyfikacja obiektów, do których odwołuje się procedura .................................................. 251 Przeglądanie i modyfikacja treści procedur ............................................................................... 252 Parametry wejściowe .............................................................................................................. 257 Ustawianie domyślnych wartości parametrów ..................................................................... 258 Przekazywanie nazw obiektów w parametrach .................................................................... 260 Stosowanie masek w parametrach ...................................................................................... 261 Parametry wyjściowe.............................................................................................................. 262 Kod wyjścia........................................................................................................................... 263 Systemowe kody wyjścia................................................................................................... 264 Stosowanie kursorów w procedurach ....................................................................................... 264 Zmienne typu cursor ......................................................................................................... 266 Procedury zagnie d one.......................................................................................................... 269 Procedury rekurencyjne..................................................................................................... 270 Stosowanie tabel tymczasowych w procedurach........................................................................ 273 Tabele tymczasowe a wydajność........................................................................................ 275
  • 9. 12 Microsoft SQL Server 2000. Księga eksperta Posługiwanie się typem danych table ....................................................................................... 278 Zdalne procedury ................................................................................................................... 280 Usuwanie błędów w procedurach za pomocą Query Analyzera ................................................... 281 Usuwanie błędów w procedurach w Microsoft Visual Studio i w Visual Basicu ........................... 282 Procedury systemowe ............................................................................................................. 283 Tworzenie własnych procedur systemowych ....................................................................... 285 Ostrze enie przed bezpośrednim odwoływaniem się do tabel systemowych ........................... 287 Systemowe widoki schematów informacyjnych ................................................................... 287 Widoki zgodne ze standardem ANSI .................................................................................. 288 Wydajność procedur............................................................................................................... 288 Buforowanie informacji o zapytaniach ................................................................................ 289 Pamięć podręczna procedur ............................................................................................... 290 Współdzielone plany wykonywania.................................................................................... 291 Automatyczna rekompilacja planów wykonywania .............................................................. 293 Wymuszanie rekompilacji planów wykonywania ................................................................. 298 Stosowanie dynamicznych poleceń języka SQL w procedurach.................................................. 301 Korzystanie z sp_executesql .............................................................................................. 303 Procedury wywoływane przy starcie ........................................................................................ 305 Rozszerzone procedury przechowywane .................................................................................. 308 Tworzenie procedur rozszerzonych .................................................................................... 309 Instalacja procedur rozszerzonych na serwerze.................................................................... 310 Przeglądanie informacji na temat procedur rozszerzonych .................................................... 310 Procedury rozszerzone dostarczane z SQL Serverem ........................................................... 310 Posługiwanie się procedurą xp_cmdshell............................................................................. 311 Ograniczenia procedur i rady dla programistów......................................................................... 314 Wywoływanie procedur w czasie trwania transakcji ............................................................. 315 4QFKC 6YQTGPKG Y[YCNCE[ K CTæFCPKG PKOK Zalety wyzwalaczy i ich zastosowania...................................................................................... 319 Tworzenie wyzwalaczy........................................................................................................... 321 Wyzwalacze AFTER .............................................................................................................. 323 Wykonywanie .................................................................................................................. 325 Kolejność wywoływania wyzwalaczy ................................................................................. 326 Przypadki szczególne ........................................................................................................ 326 Ograniczenia wyzwalaczy AFTER ..................................................................................... 327 Tabele inserted i deleted.......................................................................................................... 327 Sprawdzanie, czy kolumny były uaktualniane ........................................................................... 329 Wyzwalacze zagnie d one ...................................................................................................... 330 Wyzwalacze rekurencyjne....................................................................................................... 331 Narzucanie spójności odwoławczej za pomocą wyzwalaczy ....................................................... 332 Kaskadowe usuwanie danych............................................................................................. 333 Kaskadowe uaktualnianie danych ....................................................................................... 335 Wyzwalacze INSTEAD OF..................................................................................................... 337 Wykonywanie .................................................................................................................. 338 Porównanie wyzwalaczy AFTER i INSTEAD OF ............................................................... 339 Jednoczesne stosowanie wyzwalaczy AFTER i INSTEAD OF.............................................. 340 Definiowanie wyzwalaczy INSTEAD OF dla widoków........................................................ 341 Ograniczenia wyzwalaczy INSTEAD OF............................................................................ 344
  • 10. Spis treści 13 4QFKC (WPMELG FGHKPKQYCPG RTG W [VMQYPKMC Po co korzystać z funkcji definiowanych przez u ytkownika ...................................................... 345 Rodzaje funkcji ...................................................................................................................... 347 Funkcje skalarne............................................................................................................... 347 Funkcje zwracające wartości tabelowe................................................................................ 349 Tworzenie funkcji i zarządzanie nimi ....................................................................................... 351 Tworzenie funkcji............................................................................................................. 351 Przeglądanie i modyfikowanie funkcji ................................................................................ 357 Zarządzanie uprawnieniami funkcji definiowanych przez u ytkowników ............................... 363 Uruchamianie funkcji zdefiniowanych przez u ytkownika ......................................................... 363 Globalne funkcje o wartościach tabelowych.............................................................................. 363 Przepisywanie procedur przechowywanych na serwerze do postaci funkcji.................................. 364 4QFKC CICFPKGPKC DGRKGEG UVYC K CTæFCPKG W [VMQYPKMCOK Ogólny opis systemu bezpieczeństwa SQL Servera ................................................................... 367 Metody uwierzytelniania ......................................................................................................... 368 Tryb uwierzytelniania Windows......................................................................................... 368 Tryb mieszany.................................................................................................................. 368 Wybór trybu uwierzytelniania ............................................................................................ 368 Uprawnienia..................................................................................................................... 369 Mechanizm bezpieczeństwa: loginy ......................................................................................... 370 Mechanizm bezpieczeństwa: nazwy u ytkowników ................................................................... 370 dbo.................................................................................................................................. 371 guest................................................................................................................................ 371 Mechanizm bezpieczeństwa: role ............................................................................................. 371 Zdefiniowane na stałe role odnoszące się do całego serwera ................................................. 372 Zarządzanie rolami odnoszącymi się do całego serwera........................................................ 372 Zdefiniowane na stałe role odnoszące się do baz danych ...................................................... 373 Zarządzanie rolami odnoszącymi się do baz danych............................................................. 373 Role definiowane przez u ytkownika.................................................................................. 374 Role przeznaczone dla aplikacji.......................................................................................... 375 Zarządzanie loginami.............................................................................................................. 376 Zarządzanie loginami za pomocą Enterprise Managera......................................................... 376 Zarządzanie loginami za pomocą poleceń języka T-SQL...................................................... 378 Zarządzanie u ytkownikami .................................................................................................... 379 Zarządzanie u ytkownikami za pośrednictwem Enterprise Managera..................................... 379 Zarządzanie u ytkownikami za pośrednictwem poleceń języka T-SQL.................................. 380 Zarządzanie rolami ................................................................................................................. 380 Zarządzanie rolami za pośrednictwem Enterprise Managera.................................................. 380 Zarządzanie rolami za pośrednictwem poleceń języka T-SQL............................................... 381 Zarządzanie uprawnieniami ..................................................................................................... 382 Zarządzanie uprawnieniami poleceniowymi ........................................................................ 382 Zarządzanie uprawnieniami poleceniowymi za pośrednictwem Enterprise Managera .............. 382 Zarządzanie uprawnieniami poleceniowymi w języku T-SQL............................................... 383 Zarządzanie uprawnieniami na poziomie obiektów .............................................................. 384 Zarządzanie uprawnieniami na poziomie obiektów w Enterprise Managerze .......................... 384 Zarządzanie uprawnieniami na poziomie obiektów w języku T-SQL ..................................... 385
  • 11. 14 Microsoft SQL Server 2000. Księga eksperta Ró ne podejścia do zagadnienia uprawnień............................................................................... 386 Przydzielanie uprawnień do roli public ............................................................................... 386 Przydzielanie uprawnień do ról zdefiniowanych przez u ytkownika ...................................... 386 Przydzielanie uprawnień za pośrednictwem widoków .......................................................... 386 Przydzielanie uprawnień za pośrednictwem procedur przechowywanych na serwerze............. 386 Przedzielanie uprawnień za pośrednictwem ról przeznaczonych dla aplikacji ......................... 387 Właściciele obiektów .............................................................................................................. 387 Zmiana właściciela obiektu................................................................................................ 387 Szyfrowanie obiektów............................................................................................................. 387 4QFKC 6YQTGPKG MQRKK DGRKGEG UVYC K QF[UMKYCPKG FCP[EJ Opracowanie planu tworzenia kopii bezpieczeństwa .................................................................. 389 Po co tworzy się kopie bezpieczeństwa..................................................................................... 390 Typowy proces tworzenia kopii bezpieczeństwa i odzyskiwania danych...................................... 391 Rodzaje kopii bezpieczeństwa ................................................................................................. 392 Pełne kopie baz danych ..................................................................................................... 392 Ró nicowe kopie baz danych ............................................................................................. 393 Kopie plików i grup plików ............................................................................................... 393 Kopie dziennika transakcji................................................................................................. 394 Tryby odzyskiwania danych............................................................................................... 394 Tryb pełny ....................................................................................................................... 394 Tryb logowany ................................................................................................................. 395 Tryb prosty ...................................................................................................................... 395 Wybór trybu odzyskiwania danych .......................................................................................... 396 Urządzenia do wykonywania kopii........................................................................................... 396 Urządzenia taśmowe ......................................................................................................... 396 Urządzenia dyskowe ......................................................................................................... 397 Taśma czy dysk................................................................................................................ 397 Urządzenia dostępne w sieci na określonych kanałach.......................................................... 398 Wykonywanie kopii na kilku urządzeniach.......................................................................... 398 Nośniki.................................................................................................................................. 398 Wprowadzanie informacji o nowych urządzeniach do tworzenia kopii za pomocą poleceń języka T-SQL................................................................ 399 Wprowadzanie informacji o nowych urządzeniach do tworzenia kopii za pomocą Enterprise Managera................................................................... 402 Tworzenie kopii bazy danych .................................................................................................. 402 Tworzenie kopii baz danych za pomocą poleceń języka T-SQL ............................................ 403 Tworzenie kopii baz danych za pomocą Enterprise Managera ............................................... 405 Tworzenie kopii dziennika transakcji........................................................................................ 408 Tworzenie kopii dziennika transakcji za pomocą poleceń języka T-SQL................................ 408 NO_LOG oraz TRUNCATE_ONLY.................................................................................. 408 NO_TRUNCATE............................................................................................................. 409 NORECOVERY | STANDBY= nazwa_pliku_undo ............................................................. 409 Przykłady u ycia polecenia BACKUP LOG........................................................................ 410 Tworzenie kopii dziennika transakcji za pomocą Enterprise Managera................................... 410 Tworzenie kopii bezpieczeństwa baz systemowych.............................................................. 412 Odtwarzanie zawartości bazy danych z kopii bezpieczeństwa ..................................................... 412 Uzyskiwanie informacji na temat posiadanych kopii bezpieczeństwa..................................... 413 Odtwarzanie zawartości baz danych za pomocą poleceń języka T-SQL ................................. 413 Odtwarzanie zawartości dziennika transakcji za pomocą poleceń języka T-SQL..................... 415
  • 12. Spis treści 15 Przykłady odzyskiwania danych za pomocą poleceń języka T-SQL ............................................ 416 Odtwarzanie danych z kopii bezpieczeństwa za pomocą Enterprise Managera ........................ 417 Umieszczanie danych odzyskanych z kopii bezpieczeństwa w innej bazie danych ........................ 419 Odzyskiwanie plików i grup plików ......................................................................................... 420 Odtwarzanie stanu bazy z określonej chwili .............................................................................. 420 Częściowe odtwarzanie bazy danych z kopii bezpieczeństwa...................................................... 421 Odtwarzanie systemowych baz danych..................................................................................... 421 Inne zagadnienia dotyczące kopii bezpieczeństwa ..................................................................... 422 Częstotliwość wykonywania kopii baz danych .................................................................... 422 Korzystanie z serwera standby ........................................................................................... 423 Uwagi dotyczące bardzo du ych baz danych ....................................................................... 424 4QFKC 2KGNúIPCELC DC FCP[EJ Co wymaga pielęgnacji ........................................................................................................... 425 Kreator planu konserwacji bazy danych (DBMPW)................................................................... 425 Wybór baz danych............................................................................................................ 426 Aktualizacja informacji optymalizujących dostęp do danych i ich przechowywania ................ 426 Kontrola integralności bazy danych .................................................................................... 427 Określenie planu tworzenia kopii zapasowych ..................................................................... 428 Wybór katalogu dyskowego dla kopii bazy danych .............................................................. 428 Określenie planu tworzenia kopii transakcji......................................................................... 428 Wybór katalogu dyskowego dla kopii transakcji .................................................................. 429 Generowanie raportów ...................................................................................................... 429 Historia konserwacji bazy danych ...................................................................................... 430 Zakończenie pracy kreatora ............................................................................................... 430 Ustalanie własnych zadań pielęgnacyjnych ............................................................................... 431 Polecenia konsoli bazy danych (DBCC) ................................................................................... 432 Wykrywanie i rozwiązywanie problemów związanych z uszkodzeniem baz danych................ 433 U ycie DBCC do włączenia znaczników śledzenia .............................................................. 434 U ycie SQLMAINT.exe do pielęgnacji bazy danych ................................................................. 434 4QFKC 53. 5GTXGT CFCPKC K RQYKCFCOKCPKG SQL Agent ............................................................................................................................ 435 Konfigurowanie SQL Agenta .................................................................................................. 436 Konto początkowe ............................................................................................................ 436 Profil pocztowy ................................................................................................................ 436 Agent jako u ytkownik...................................................................................................... 437 Konto proxy SQL Agenta .................................................................................................. 437 Przeglądanie dzienników błędów agenta ................................................................................... 437 Operatorzy............................................................................................................................. 438 Zadania ................................................................................................................................. 439 Definiowanie właściwości zadań ........................................................................................ 439 Definiowanie elementów zadań.......................................................................................... 440 Tworzenie terminarza zadań .............................................................................................. 442 Określenie sposobów powiadamiania.................................................................................. 442 Przeglądanie historii zadań ................................................................................................ 443 Ostrze enia ............................................................................................................................ 443 Definiowanie właściwości ostrze eń................................................................................... 443 Definiowanie operatorów i odpowiedzi na ostrze enia.......................................................... 444
  • 13. 16 Microsoft SQL Server 2000. Księga eksperta Skrypty zadań i ostrze eń........................................................................................................ 445 Zarządzanie zadaniami wielu serwerów.................................................................................... 446 Utworzenie SQL Agenta dla serwera głównego ................................................................... 446 Lista serwerów docelowych ............................................................................................... 446 Zadania dla wielu serwerów............................................................................................... 446 Przesyłanie informacji o zdarzeniach........................................................................................ 446 4QFKC CTæFCPKG UGTYGTCOK URTú QP[OK K FCNP[OK Zdalne serwery....................................................................................................................... 449 Konfigurowanie zdalnego serwera...................................................................................... 450 Serwery sprzę one ................................................................................................................. 454 Rzeczywiście sprzę one .................................................................................................... 454 Zapytania rozproszone ...................................................................................................... 455 Transakcje rozproszone..................................................................................................... 455 Dodawanie, usuwanie i konfigurowanie serwerów sprzę onych.................................................. 456 sp_addlinkedserver ........................................................................................................... 456 sp_linkedserver................................................................................................................. 458 sp_dropserver................................................................................................................... 459 sp_serveroption ................................................................................................................ 459 Mapowanie lokalnych logowań do logowań na serwerach sprzę onych....................................... 461 sp_addlinkedserverlogin .................................................................................................... 461 sp_droplinkedserverlogin................................................................................................... 462 sp_helplinkedsrvlogin ....................................................................................................... 463 Uzyskiwanie informacji o serwerach sprzę onych ..................................................................... 464 Wykonanie procedury przechowywanej na serwerze sprzę onym ............................................... 465 Konfigurowanie serwerów przyłączonych przez Enterprise Manager........................................... 465 4QFKC +ORQTV K GMURQTV FCP[EJ 53. 5GTXGTC Y[MQT[UVCPKGO RTQITCOW OCUQYGIQ MQRKQYCPKC $%2 Program masowego kopiowania (BCP) .................................................................................... 475 Podstawy eksportu i importu danych .................................................................................. 477 Typy danych pliku ............................................................................................................ 480 Plik formatu danych.......................................................................................................... 480 U ywanie widoków........................................................................................................... 487 Ładowanie danych binarnych............................................................................................. 488 Operacje rejestrowane i nierejestrowane ................................................................................... 489 Pakiety ............................................................................................................................ 489 Ładowanie współbie ne..................................................................................................... 490 Wskazówki sposobu kopiowania ........................................................................................ 491 Instrukcja T-SQL BULK INSERT ........................................................................................... 493 Zwiększenie wydajności kopiowania........................................................................................ 494 Dodatki do programu masowego kopiowania ............................................................................ 495 4QFKC +ORQTVQYCPKG K GMURQTVQYCPKG FCP[EJ 53. 5GTXGTC C RQOQEæ WU WI VTCPUHQTOCELK FCP[EJ 65 Koncepcja i architektura usług transformacji danych ................................................................. 502 Narzędzia DTS................................................................................................................. 504 Narzędzia wspomagające uruchamianie pakietów...................................................................... 506 Uruchamianie i wykorzystanie kreatora DTS ............................................................................ 509
  • 14. Spis treści 17 Projektowanie pakietów DTS (DTS Designer) .......................................................................... 513 Pompa danych.................................................................................................................. 517 Zapytania zale ne od danych (DDQs)................................................................................. 518 Nieco więcej o metadanych ..................................................................................................... 518 4QFKC #FOKPKUVTQYCPKG DCTFQ FW [OK DCCOK FCP[EJ 53. 5GTXGTC Czy moja baza to bardzo du a baza danych (BDBD) ................................................................. 519 Metody konserwacji BDBD .................................................................................................... 520 Tworzenie kopii zapasowej i odtwarzanie bazy danych ........................................................ 520 Prowadzenie kontroli integralności ..................................................................................... 520 Aktualizacja statystyk ....................................................................................................... 521 Odbudowywanie indeksów ................................................................................................ 521 Usuwanie zbędnych danych i archiwizacja .......................................................................... 522 Partycjonowanie danych ......................................................................................................... 522 Partycjonowanie pionowe.................................................................................................. 522 Partycjonowanie poziome.................................................................................................. 523 U ycie rozproszonych widoków partycjonowanych ............................................................. 523 4QFKC 4GRNKMCELC FCP[EJ Czym jest replikacja ............................................................................................................... 525 Publikator, dystrybutor i subskrybent ....................................................................................... 527 Publikacje i artykuły ......................................................................................................... 528 Filtrowanie artykułów ....................................................................................................... 528 Scenariusze replikacji ............................................................................................................. 531 Centralny publikator.......................................................................................................... 531 Centralny publikator ze zdalnym dystrybutorem .................................................................. 532 Publikujący subskrybent.................................................................................................... 533 Centralny subskrybent....................................................................................................... 534 Wiele publikatorów lub wiele subskrybentów...................................................................... 534 Modyfikujący subskrybent................................................................................................. 535 Subskrypcje ..................................................................................................................... 536 Subskrypcja anonimowa ( ądana) ...................................................................................... 537 Dystrybucyjna baza danych ............................................................................................... 537 Agenci replikacji .................................................................................................................... 538 Agent migawki ................................................................................................................. 539 Agent odczytu dziennika transakcji (Log Reader Agent)....................................................... 541 Agent dystrybucji (Distribution Agent) ............................................................................... 542 Agent scalający (Merge Agent) .......................................................................................... 542 Pozostałe agenty replikacji (Miscellaneous Agents) ............................................................. 543 Planowanie replikacji danych SQL Servera............................................................................... 544 Autonomia, synchronizowanie i opóźnienie danych ............................................................. 544 Metody dystrybucji danych................................................................................................ 545 Typy replikacji w SQL Serverze .............................................................................................. 546 Replikacja migawkowa...................................................................................................... 546 Replikacja transakcyjna..................................................................................................... 547 Replikacja scalająca .......................................................................................................... 548 Wymagania u ytkowników a projektowanie replikacji............................................................... 549 Charakterystyki danych ..................................................................................................... 550
  • 15. 18 Microsoft SQL Server 2000. Księga eksperta Konfigurowanie replikacji ....................................................................................................... 551 Włączenie publikowania.................................................................................................... 552 Tworzenie publikacji......................................................................................................... 554 Tworzenie subskrypcji ...................................................................................................... 555 Skrypty replikacji ................................................................................................................... 558 Monitorowanie replikacji ........................................................................................................ 560 Polecenia SQL.................................................................................................................. 560 SQL Enterprise Manager ................................................................................................... 562 Rozwiązywanie problemów związanych z błędami replikacji................................................ 563 Monitor wydajności .......................................................................................................... 566 Replikacja w środowiskach heterogenicznych...................................................................... 566 Replikacja do subskrybentów internetowych ....................................................................... 567 Konfiguracja publikatora lub dystrybutora do nasłuchu na TCP/IP ........................................ 567 Konfiguracja publikacji do u ycia FTP............................................................................... 567 Konfiguracja subskrypcji do wykorzystania FTP ................................................................. 567 Tworzenie kopii zapasowej i odzyskiwanie konfiguracji replikacyjnej ................................... 568 Kilka uwag o wydajności................................................................................................... 569 Przesyłanie dziennika transakcji jako alternatywa replikacji danych ...................................... 569 4QFKC GHKPKQYCPKG TQFQYKUMC 53. 5GTXGTC K MQPYGPELK PCY Określenie środowisk SQL Servera .......................................................................................... 573 Środowisko tworzenia oprogramowania.............................................................................. 574 Środowisko testowania aplikacji......................................................................................... 578 Środowisko eksploatacyjne................................................................................................ 580 Wykorzystanie kontroli kodu źródłowego ........................................................................... 581 Konwencje u ywania nazw w SQL Serverze ............................................................................ 581 Nazwy SQL Servera ......................................................................................................... 582 Przykład konwencji nazwania ............................................................................................ 591 Standardy nazw systemu operacyjnego ............................................................................... 591 %ú è +8 ,ú[M 653. 4QFKC 9[MQT[UVCPKG Lú[MC 653. T-SQL i ANSI i ISO SQL ....................................................................................................... 597 Co nowego w T-SQL.............................................................................................................. 598 Nowe typy danych............................................................................................................ 599 Funkcje definiowane przez u ytkowników .......................................................................... 603 Widoki indeksowane ......................................................................................................... 604 Nowości wprowadzone w SQL Server 7.0 .......................................................................... 604 SELECT, INSERT, UPDATE i DELETE................................................................................. 605 Instrukcja SELECT........................................................................................................... 606 GRUP BY i HAVING....................................................................................................... 609 CUBE, ROLLUP, GROUPING ......................................................................................... 610 Łączenie tabel................................................................................................................... 614 Podzapytania.................................................................................................................... 617 Dodawanie wierszy za pomocą INSERT............................................................................. 620 Modyfikacja wierszy tabeli — UPDATE ............................................................................ 621 Usuwanie wierszy za pomocą DELETE.............................................................................. 622
  • 16. Spis treści 19 Funkcje SQL Servera ............................................................................................................. 622 Funkcje łańcuchowe (String Functions)............................................................................... 623 Funkcje matematyczne...................................................................................................... 623 Funkcje daty .................................................................................................................... 624 Funkcje metadanych ......................................................................................................... 626 Funkcje systemowe........................................................................................................... 626 Funkcje dostępu ............................................................................................................... 629 Funkcje Text i Image......................................................................................................... 629 Funkcje zestawu rekordów ................................................................................................ 630 Funkcje bez argumentów................................................................................................... 632 Funkcje agregujące ........................................................................................................... 633 Konstrukcje programowe ........................................................................................................ 639 Instrukcja IF..................................................................................................................... 639 WHILE, BREAK i CONTINUE ........................................................................................ 639 Wyra enie CASE.............................................................................................................. 640 RETURN......................................................................................................................... 641 GOTO ............................................................................................................................. 642 WAITFOR....................................................................................................................... 642 EXECUTE....................................................................................................................... 642 Wsady (Batches) .............................................................................................................. 643 Komentarze...................................................................................................................... 644 Zmienne lokalne ............................................................................................................... 645 Funkcje nazywane zmiennymi globalnymi .......................................................................... 646 Zwracanie wiadomości z T-SQL ........................................................................................ 650 Zarządzanie komunikatami o błędach SQL Servera.............................................................. 653 Opcje SET ....................................................................................................................... 654 Kursory ................................................................................................................................. 664 Przykłady kursorów i nieco składni .................................................................................... 665 U ywanie zmiennych CURSOR......................................................................................... 672 Uzyskiwanie informacji o kursorach................................................................................... 674 Interfejs programowania kursora ........................................................................................ 678 Kiedy nale y u ywać kursorów.......................................................................................... 680 4QFKC CTæFCPKG VTCPUCMELCOK K FKGPPKM VTCPUCMELK Czym jest transakcja............................................................................................................... 683 Jak SQL Server obsługuje transakcje........................................................................................ 684 Definiowanie transakcji........................................................................................................... 685 Transakcje zatwierdzane automatycznie (AutoCommit)........................................................ 685 Transakcje definiowane jawnie przez u ytkownika .............................................................. 686 Transakcje niejawne (Implicit Transactions)........................................................................ 690 Transakcje niejawne czy jawne .......................................................................................... 692 Dziennik transakcji i proces odzyskiwania ................................................................................ 692 Proces punktu kontrolnego (Checkpoint)............................................................................. 693 Proces odzyskiwania ......................................................................................................... 696 Transakcje i wsady ................................................................................................................. 698 Transakcje i procedury zapamiętane......................................................................................... 700 Transakcje i wyzwalacze......................................................................................................... 704 U ywanie punktów kontrolnych w wyzwalaczach................................................................ 706 Transakcje i blokady............................................................................................................... 708 Kodowanie efektywnych transakcji .......................................................................................... 709
  • 17. 20 Microsoft SQL Server 2000. Księga eksperta Transakcje o długim czasie wykonywania................................................................................. 710 Połączenia związane ............................................................................................................... 712 Tworzenie połączeń związanych ........................................................................................ 712 Wiązanie wielu aplikacji.................................................................................................... 713 Transakcje rozproszone .......................................................................................................... 714 4QFKC 2TGVYCTCPKG VTCPUCMELK TQRTQUQP[EJ Przetwarzanie transakcji rozproszonych ................................................................................... 715 Zapytania rozproszone ............................................................................................................ 717 Serwery sprzę one ................................................................................................................. 719 Konfiguracja serwera sprzę onego do zdalnego źródła danych.............................................. 719 Polecenia T-SQL dla serwerów sprzę onych....................................................................... 723 Transakcje rozproszone .......................................................................................................... 724 Architektura MS DTC ............................................................................................................ 724 Dwufazowy protokół zatwierdzania zmian .......................................................................... 725 %ú è 8 9PúVTG 53. 5GTXGTC K YKúMUCPKG Y[FCLPQ EK 4QFKC 9PúVTG 53. 5GTXGTC Zarządzanie pamięcią w SQL Serverze..................................................................................... 735 Zarządzanie buforem i pule pamięci ................................................................................... 736 Kontroler bufora ............................................................................................................... 736 Dostęp do buforów pamięci ............................................................................................... 736 Proces punktu kontrolnego................................................................................................. 737 Proces lazywritera............................................................................................................. 738 Ciągłe utrzymywanie stron w pamięci................................................................................. 739 Wsparcie dla du ych pamięci ............................................................................................. 740 Kontroler dziennika........................................................................................................... 741 Zarządzanie procesami w SQL Serverze................................................................................... 742 Wątki SQL Servera........................................................................................................... 742 Dyskowe operacje wejścia-wyjścia w SQL Serverze ................................................................. 743 Asynchroniczne operacje wejścia-wyjścia ........................................................................... 743 Operacje wejścia-wyjścia typu rozrzuć i zbieraj ................................................................... 744 Czytanie z wyprzedzeniem ................................................................................................ 744 Skanowanie karuzeli ......................................................................................................... 745 Struktury danych w SQL Serverze ........................................................................................... 745 Pliki baz danych i grupy plików ............................................................................................... 746 Podstawowe pliki danych .................................................................................................. 747 Dodatkowe pliki danych .................................................................................................... 748 Plik dziennika transakcji.................................................................................................... 749 Wykorzystanie grup plików ............................................................................................... 755 Zarządzanie dyskami......................................................................................................... 757 Strony bazy danych ................................................................................................................ 758 Typy stron ....................................................................................................................... 758 Kontrola zawartości strony ................................................................................................ 758 Strony danych .................................................................................................................. 762 Strony indeksowe ............................................................................................................. 775 Alokacja przestrzeni.......................................................................................................... 778 Strony ró nicowego mapowania zmian ............................................................................... 783 Strony masowego mapowania zmian .................................................................................. 783
  • 18. Spis treści 21 Tabele ................................................................................................................................... 784 Ograniczenie rozmiarów wierszy i kolumn.......................................................................... 784 Tabele o strukturze stosu (nieuporządkowane)..................................................................... 784 Tabele zgrupowane ........................................................................................................... 785 Indeksy ................................................................................................................................. 786 Indeksy zgrupowane ......................................................................................................... 787 Indeksy niezgrupowane ..................................................................................................... 798 Pielęgnacja indeksów w SQL Serverze ............................................................................... 809 Modyfikacje danych a wydajność ............................................................................................ 815 Wprowadzanie danych ...................................................................................................... 815 Usuwanie wierszy ............................................................................................................. 818 Modyfikacje wierszy ......................................................................................................... 821 4QFKC +PFGMU[ K Y[FCLPQ è Kryteria wykorzystania indeksów ............................................................................................ 826 Wybór indeksów .................................................................................................................... 827 Określanie u yteczności indeksu.............................................................................................. 828 Statystyki indeksów................................................................................................................ 830 Histogram statystyk .......................................................................................................... 832 Gęstość indeksu................................................................................................................ 834 Wykorzystanie statystyk indeksów do określania liczby wierszy ........................................... 835 Tworzenie i utrzymywanie statystyk indeksów .................................................................... 836 Zasady projektowania indeksów .............................................................................................. 842 U ywanie indeksu zgrupowanego....................................................................................... 843 U ywanie indeksu niezgrupowanego .................................................................................. 845 Indeksy zawierający odpowiedź ......................................................................................... 847 Indeksy zło one czy wiele indeksów................................................................................... 849 Widoki indeksowane............................................................................................................... 849 Zasady tworzenia widoków indeksowanych ........................................................................ 850 Indeksy na kolumnach obliczanych .......................................................................................... 850 Kreator dostrajania indeksów................................................................................................... 851 Wykorzystanie programu itwiz........................................................................................... 858 Wybór indeksów: zapytania czy zwiększenie wydajności ........................................................... 858 4QFKC CUCF[ QRV[OCNKCELK CR[VC Czym jest optymalizator zapytań ............................................................................................. 864 Kompilacja i optymalizacja zapytania....................................................................................... 864 Kompilacja poleceń DML.................................................................................................. 865 Kroki optymalizacji........................................................................................................... 865 Krok 1. Analiza zapytania ....................................................................................................... 866 Identyfikacja argumentów poszukiwania............................................................................. 866 Identyfikacja klauzul OR ................................................................................................... 868 Identyfikowanie klauzul JOIN............................................................................................ 869 Przetwarzanie podzapytań ................................................................................................. 870 Krok 2. Wybór indeksów ........................................................................................................ 871 Obliczanie selektywności SARG i złączeń .......................................................................... 871 Szacowanie kosztu indeksu................................................................................................ 872 Wykorzystanie wielu indeksów .......................................................................................... 878 Optymalizacja za pomocą widoków indeksowanych ............................................................ 885
  • 19. 22 Microsoft SQL Server 2000. Księga eksperta Krok 3. Wybór złączeń ........................................................................................................... 885 Strategie przetwarzania złączeń.......................................................................................... 887 Krok 4. Wybór planu wykonania ............................................................................................. 891 Wielokrotne wykorzystanie planów wykonania zapytań............................................................. 893 Wiele planów w buforze pamięci........................................................................................ 893 Inne strategie przetwarzania zapytań ........................................................................................ 896 Predykat przechodniości .................................................................................................... 896 Optymalizacja GROUP BY ............................................................................................... 897 Zapytania z DISTINCT..................................................................................................... 897 Zapytania z UNION.......................................................................................................... 898 Równoległe przetwarzanie zapytań .......................................................................................... 898 Hurtownie danych i strategie zapytań w du ych bazach danych.................................................. 902 Iloczyn kartezjański tabel wymiarowych ............................................................................. 903 Redukcja niepełnego złączenia........................................................................................... 903 Najczęstsze problemy optymalizowania zapytań ....................................................................... 903 Nieaktualne lub niedostępne statystyki................................................................................ 904 Źle zaprojektowane indeksy............................................................................................... 904 Problemy z argumentem poszukiwania ............................................................................... 905 Wyzwalacze ..................................................................................................................... 907 Zarządzanie optymalizatorem .................................................................................................. 907 Wskazówki optymalizatora ................................................................................................ 908 Ograniczanie wykonywania planu zapytania za pomocą zarządcy zapytań ............................. 912 4QFKC #PCNKC CR[VC Wyświetlanie planów wykonania przy u yciu analizatora zapytań .............................................. 916 Wskazówki analizatora...................................................................................................... 918 Ikony operatorów logicznych i fizycznych .......................................................................... 920 Analizowanie procedur składowanych ................................................................................ 926 Ślady serwera w analizatorze zapytań....................................................................................... 928 Statystyki klienta w analizatorze zapytań .................................................................................. 929 SHOWPLAN_ALL oraz SHOWPLAN_TEXT......................................................................... 929 Statystyki............................................................................................................................... 932 statistics profile................................................................................................................. 932 statistics io ....................................................................................................................... 933 statistics time.................................................................................................................... 936 Wykorzystywanie datediff() do pomiaru czasu wykonania.................................................... 938 Analiza zapytań za pomocą SQL Profilera ................................................................................ 938 4QFKC 53. 5GTXGT 2TQHKNGT Architektura SQL Profilera...................................................................................................... 941 Tworzenie śladów .................................................................................................................. 943 Właściwości — zakładka General....................................................................................... 944 Właściwości — zakładka Events ........................................................................................ 945 Właściwości — zakładka Data Columns ............................................................................. 950 Właściwości — zakładka Filters......................................................................................... 952 Zapisywanie i eksportowanie śladów........................................................................................ 953 Analizowanie śladów przy u yciu kreatora dostrajania indeksów .......................................... 954 Odtwarzanie danych śladu....................................................................................................... 955 Tworzenie śladów po stronie serwera ....................................................................................... 956
  • 20. Spis treści 23 Scenariusze SQL Profilera....................................................................................................... 957 Powolne procedury składowane ......................................................................................... 957 Kontrola zmian fizycznych ................................................................................................ 958 Określanie zapytań utworzonych ad hoc ............................................................................. 958 Określanie wąskiego gardła wydajności .............................................................................. 959 Statystyki uaktualniane w sposób automatyczny .................................................................. 959 Śledzenie postępu wykonywania programu ......................................................................... 960 4QFKC 9[MQT[UV[YCPKG FGDWIIGTC 53. Y CPCNKCVQTG CR[VC Pierwszy debugger T-SQL ...................................................................................................... 964 Wykorzystywanie debuggera T-SQL w analizatorze zapytań...................................................... 965 Powszechne problemy podczas testowania .......................................................................... 965 Konfiguracja DCOM......................................................................................................... 967 Ograniczenia debuggera .......................................................................................................... 968 Krokowe wykonywanie procedury składowanej ........................................................................ 968 Testowanie wyzwalaczy i funkcji u ytkownika.................................................................... 968 4QFKC /QPKVQTQYCPKG Y[FCLPQ EK 53. 5GTXGTC Podejście do monitorowania wydajności................................................................................... 970 Monitor wydajności ................................................................................................................ 971 Widoki monitora wydajności ............................................................................................. 972 Monitorowanie wartości .................................................................................................... 972 Liczniki wydajności w systemie Windows ................................................................................ 974 Monitorowanie interfejsu sieciowego.................................................................................. 974 Monitorowanie procesorów ............................................................................................... 977 Monitorowanie pamięci ..................................................................................................... 978 Monitorowanie systemu dyskowego ................................................................................... 980 Liczniki wydajności SQL Servera ............................................................................................ 983 Obiekt MSSQL: Cache Manager ........................................................................................ 984 Monitorowanie obcią enia dysku przez SQL Server ............................................................ 984 Blokady ........................................................................................................................... 985 U ytkownicy .................................................................................................................... 985 Pamięć podręczna procedur ............................................................................................... 985 Liczniki definiowane przez u ytkownika............................................................................. 986 Obsługa SNMP ...................................................................................................................... 986 Badanie wydajności za pomocą DBCC..................................................................................... 987 SQLPERF........................................................................................................................ 988 PERFMON ...................................................................................................................... 989 SHOWCONTIG............................................................................................................... 989 PROCCACHE.................................................................................................................. 989 INPUTBUFFER i OUTPUTBUFFER ................................................................................ 990 Inne czynniki wpływające na wydajność SQL Servera............................................................... 990 4QFKC $NQMQYCPKG K Y[FCLPQ è Konieczność u ywania blokad ................................................................................................. 991 Poziomy izolowania transakcji w SQL Serverze........................................................................ 992 Read Uncommitted ........................................................................................................... 993 Read Committed............................................................................................................... 994 Repeatable Read ............................................................................................................... 994 Serializable ...................................................................................................................... 995
  • 21. 24 Microsoft SQL Server 2000. Księga eksperta Zarządca blokad ..................................................................................................................... 996 Badanie stanu blokad w SQL Serverze ..................................................................................... 997 Korzystanie z procedury składowanej sp_lock ..................................................................... 997 Przeglądanie tabeli syslockinfo .......................................................................................... 999 Oglądanie stanu blokad w Enterprise Managerze ................................................................1000 Oglądanie stanu blokad w SQL Profilerze ..........................................................................1002 Oglądanie aktualnych blokad w monitorze wydajności ........................................................1005 Rodzaje blokad w SQL Serverze ............................................................................................1006 Blokady dzielone .............................................................................................................1007 Blokady do aktualizacji ....................................................................................................1007 Blokady na wyłączność ....................................................................................................1008 Blokady intencyjne ..........................................................................................................1009 Blokady struktury ............................................................................................................1010 Blokady hurtowej aktualizacji ...........................................................................................1010 Rodzaje blokad i tabela syslockinfo ...................................................................................1011 Ziarnistość blokad SQL Servera..............................................................................................1014 Serializacja i blokowanie zakresu kluczy............................................................................1016 Wykorzystywanie blokad aplikacji ....................................................................................1018 Blokowanie indeksów ......................................................................................................1020 Blokowanie na poziomie wierszy a blokowanie na poziomie stron .......................................1021 Zmiana rodzaju blokady ...................................................................................................1022 Ustawienie konfiguracji blokad — opcja locks ...................................................................1023 Zgodność blokad ...................................................................................................................1024 Rywalizacja o blokadę i zakleszczenia.....................................................................................1024 Wykrywanie rywalizacji o blokady....................................................................................1025 Ustawianie czasu oczekiwania na blokadę..........................................................................1028 Ograniczanie rywalizacji o blokadę ...................................................................................1029 Zakleszczenia ..................................................................................................................1030 Obsługa i kontrolowanie zakleszczeń.................................................................................1033 Wskazówki dotyczące blokad na poziomie tabel ......................................................................1038 Wskazówki dotyczące transakcyjnego poziomu izolowania tabel .........................................1039 Wskazówki dotyczące ziarnistości blokad ..........................................................................1040 Wskazówki dotyczące rodzaju blokady..............................................................................1041 Blokowanie optymistyczne.....................................................................................................1041 Blokowanie optymistyczne z u yciem danych typu Timestamp............................................1042 4QFKC 2TQLGMV DC[ FCP[EJ C Y[FCLPQ è Podstawowe zasady projektowania .........................................................................................1045 Logiczne projektowanie bazy danych ......................................................................................1046 Warunki normalizacji .......................................................................................................1047 Postaci normalne .............................................................................................................1047 Denormalizacja bazy danych ..................................................................................................1049 Wskazówki denormalizacji ...............................................................................................1049 Podstawowe techniki denormalizacji .................................................................................1050 Indeksy a wydajność .............................................................................................................1054 Badanie przydatności indeksów.........................................................................................1055 Rozkład danych ...............................................................................................................1057 Wskazówki projektowania indeksów.......................................................................................1062 Wskazania u ywania indeksów klastrowych.......................................................................1063 Wskazówki projektowania indeksów zwykłych (nieklastrowych) .........................................1063
  • 22. Spis treści 25 Pokrycie indeksem...........................................................................................................1064 Indeksy zło one a wiele indeksów .....................................................................................1064 Pielęgnacja indeksów w SQL Serverze....................................................................................1065 U ywanie DBCC SHOWCONTIG....................................................................................1066 Fragmentacja obszarów ....................................................................................................1068 Naprawianie tabel z du ą fragmentacją ..............................................................................1069 Ustawianie współczynnika wypełnienia .............................................................................1071 Aktualizacja współczynnika wypełnienia ...........................................................................1072 Aktualizacja a wydajność.......................................................................................................1072 Aktualizacja odło ona ......................................................................................................1072 Aktualizacja w miejscu.....................................................................................................1072 Grupy plików bazy danych a wydajność..................................................................................1073 Technologia RAID ................................................................................................................1074 RAID poziom 0 ...............................................................................................................1074 RAID poziom 1 ...............................................................................................................1075 RAID poziom 10 .............................................................................................................1076 RAID poziom 5 ...............................................................................................................1076 4QFKC -QPHKIWTQYCPKG UVTQLGPKG K QRV[OCNKQYCPKG WUVCYKG 53. 5GTXGTC Architektura instancji SQL Servera .........................................................................................1079 Zmienne konfiguracyjne.........................................................................................................1080 Zmiana błędnego ustawienia zmiennej.....................................................................................1086 Ustawianie zmiennych konfiguracyjnych przy u yciu SQL Enterprise Manager ..........................1087 Przestarzałe zmienne konfiguracyjne.......................................................................................1087 Opcje konfiguracyjne a wydajność..........................................................................................1088 Affinity Mask..................................................................................................................1088 Allow Update ..................................................................................................................1089 AWE Enabled..................................................................................................................1091 Cost Threshold for Parallelism ..........................................................................................1091 Cursor Threshold .............................................................................................................1092 Default language..............................................................................................................1093 Fill Factor .......................................................................................................................1093 Index Create Memory (kB)...............................................................................................1094 Lightweight Pooling.........................................................................................................1094 Locks .............................................................................................................................1095 Max Degree of Parallelism................................................................................................1095 Max Server Memory oraz Min Server Memory ..................................................................1096 Max Text Repl Size..........................................................................................................1097 Max Worker Threads .......................................................................................................1098 Min Memory Per Query ...................................................................................................1099 Nested Triggers ...............................................................................................................1100 Network Packet Size ........................................................................................................1100 Open Objects ..................................................................................................................1101 Priority Boost ..................................................................................................................1101 Query Governor Cost Limit ..............................................................................................1101 Query Wait .....................................................................................................................1102 Recovery Interval ............................................................................................................1103 Remote Proc Trans ..........................................................................................................1103 Scan for Startup Procs......................................................................................................1104
  • 23. 26 Microsoft SQL Server 2000. Księga eksperta Set Working Set Size........................................................................................................1105 Show Advanced Options ..................................................................................................1106 User Connections.............................................................................................................1106 User Options ...................................................................................................................1106 %ú è 8+ +PVGITCELC 53. 5GTXGTC CTEJKVGMVWTæ /KETQUQHVW 4QFKC 53. /CKN Konfiguracja klienta poczty oraz profilu pocztowego................................................................1111 Jak skonfigurować SQL Mail do współpracy z serwerem Exchange .....................................1113 Jak skonfigurować SQL Mail do współpracy z internetowym serwerem poczty .....................1114 Jak skonfigurować SQL Mail do współpracy z serwerem poczty Lotus Notes .......................1115 Co dalej?.........................................................................................................................1117 Konfiguracja programu SQL Mail...........................................................................................1117 Automatyczne uruchamianie programu SQL Mail...............................................................1118 Konfiguracja programu SQL Agent Mail .................................................................................1119 Konfiguracja powiadomień operatorów w programie SQL Server Agent...............................1119 Konfiguracja powiadomień dla zdarzeń programu SQL Server Agent ...................................1122 Konfiguracja powiadomień dla zadań programu SQL Server Agent......................................1124 Procedury składowane programu SQL Mail .............................................................................1125 xp_startmail ....................................................................................................................1125 xp_stopmail.....................................................................................................................1126 xp_sendmail ....................................................................................................................1126 xp_findnextmsg ...............................................................................................................1129 xp_readmail ....................................................................................................................1129 xp_deletemail ..................................................................................................................1132 sp_processmail ................................................................................................................1132 4QFKC 7 [YCPKG Lú[MC :/. Y 53. 5GTXGTG Tworzenie katalogu wirtualnego na potrzeby SQL Server 2000 .................................................1135 Poznawanie rozszerzalnego języka znaczników (Extensible Markup Language — XML) ............1137 Pobieranie danych za pomocą klauzuli FOR XML ...................................................................1140 Wykorzystanie klauzuli FOR XML RAW................................................................................1140 Wykorzystanie klauzuli FOR XML AUTO..............................................................................1142 Wykorzystanie klauzuli FOR XML AUTO, ELEMENTS .........................................................1143 Wykorzystanie klauzuli FOR XML EXPLICIT........................................................................1143 Odczytywanie schematów danych XML..................................................................................1147 Pobieranie danych binarnych w postaci dokumentu XML .........................................................1149 Podstawy języka XPath .........................................................................................................1150 Wykorzystywanie XML w procedurach składowanych .............................................................1151 Wykorzystanie OPENXML do odczytu dokumentu XML.........................................................1153 U ywanie zapytań w URL .....................................................................................................1156 Stosowanie szablonów XML ..................................................................................................1158 Szablony uaktualniające .........................................................................................................1160 4QFKC 7U WIK CPCNK[ FCP[EJ Y 53. 5GTXGTG Co oznaczają usługi analizy danych i OLAP ............................................................................1163 Podstawy środowiska usług analizy danych .............................................................................1165 OLAP a OLTP ................................................................................................................1169 MOLAP..........................................................................................................................1170
  • 24. Spis treści 27 ROLAP ..........................................................................................................................1170 HOLAP ..........................................................................................................................1170 Metodologia projektowania analitycznego ...............................................................................1171 Uproszczona metodologia analityczna ...............................................................................1172 Przykład wymagań OLAP......................................................................................................1174 Tworzenie kostki OLAP ........................................................................................................1175 Program Analysis Manager...............................................................................................1175 Tworzenie bazy danych OLAP ...............................................................................................1176 Dodawanie źródła danych.................................................................................................1177 Dodawanie wymiarów......................................................................................................1177 Tworzenie kostki .............................................................................................................1184 Miary..............................................................................................................................1185 Elementy obliczeniowe.....................................................................................................1188 Projektowanie sposobu przechowywania danych ................................................................1189 Przetwarzanie kostki ........................................................................................................1191 Przeglądanie kostki danych za pomocą aplikacji Analysis Manager ......................................1192 Analiza zapytań i optymalizacja ........................................................................................1194 Podział kostki ..................................................................................................................1195 Tworzenie kostki wirtualnej..............................................................................................1195 Praca z relacyjną bazą danych ................................................................................................1196 Ograniczenia relacyjnych baz danych ................................................................................1196 Dostarczanie danych do u ytkowników .............................................................................1197 Wyra enia wielowymiarowe .............................................................................................1197 Wielowymiarowe obiekty danych ActiveX.........................................................................1199 Pliki na poziomie systemu operacyjnego..................................................................................1199 Bezpieczeństwo podczas analizy danych............................................................................1199 Modele pobierania danych ................................................................................................1200 Usługi przekształcania danych ..........................................................................................1204 Repozytorium metadanych ...............................................................................................1205 4QFKC /KETQUQHV 6TCPUCEVKQP 5GTXGT MTS w skrócie......................................................................................................................1207 Dlaczego nale y u ywać serwera transakcji........................................................................1208 Podstawy przetwarzania za pomocą MTS ..........................................................................1210 Konfiguracja serwera transakcji ........................................................................................1211 Eksplorator MTS .............................................................................................................1211 Poznawanie hierarchii MTS..............................................................................................1211 Tworzenie komponentu MTS .................................................................................................1212 ObjectContext .................................................................................................................1213 Metody realizujące zadania bazy danych............................................................................1214 Instalowanie komponentu MTS ..............................................................................................1216 Tworzenie pakietu ...........................................................................................................1216 Ustawianie właściwości komponentu.................................................................................1218 Konfiguracja zabezpieczeń .....................................................................................................1219 Opcje bezpieczeństwa pakietu...........................................................................................1220 Tworzenie ról ..................................................................................................................1220 Ustawianie członkostwa roli dla komponentu .....................................................................1221 Jakie jest powiązanie zabezpieczeń MTS i MS-SQL Servera ...............................................1221 Scenariusz 1. Dostęp według u ytkowników ......................................................................1222
  • 25. 28 Microsoft SQL Server 2000. Księga eksperta Scenariusz 2. Dostęp według pakietów...............................................................................1222 Inne zagadnienia związane z bezpieczeństwem...................................................................1222 Uruchamianie aplikacji MTS..................................................................................................1222 Uruchamianie przykładowej aplikacji ................................................................................1224 Rozwiązywanie problemów ..............................................................................................1225 U ycie puli połączeń..............................................................................................................1226 Zmiana czasu działania sterownika ....................................................................................1227 4QFKC CUVQUQYCPKG 53. 5GTXGTC Y MNCUVTCEJ Od Windows NT Enterprise Edition do Windows 2000 Advanced Server...................................1230 Serwer transakcji .............................................................................................................1231 Serwer kolejkujący — Message Queue Server....................................................................1231 Klastry .................................................................................................................................1232 Obsługa klastrów w SQL Serverze..........................................................................................1234 Unikanie niebezpiecznych sytuacji ....................................................................................1236 Przykład procedury odtwarzania .......................................................................................1237 Równowa enie obcią enia sieci ..............................................................................................1237 4QFKC 2TGUWMKYCPKG VGMUVW W jaki sposób działa serwer przeszukiwania ............................................................................1239 Konfiguracja indeksu .............................................................................................................1240 Utrzymywanie aktualnej zawartości indeksów..........................................................................1242 Wybór najlepszego harmonogramu uaktualniania indeksu ...................................................1242 Odtwarzanie poprzedniej zawartości indeksu......................................................................1243 Skutki posiadania niespójnych danych ...............................................................................1244 Przeszukiwanie całego tekstu..................................................................................................1245 CONTAINS()..................................................................................................................1245 FREETEXT()..................................................................................................................1246 CONTAINSTABLE() oraz FREETEXTTABLE() ..............................................................1247 Stosowanie filtrów dokumentów .............................................................................................1248 Index Server oraz pełne przeszukiwanie plików danych ............................................................1248 QFCVMK 5MQTQYKF
  • 26. 4QFKC 2QFUVCYQYG HWPMELG K PCTúFKC CFOKPKUVTCVQTC 2CWN ,GPUGP W tym rozdziale omówiona zostanie rola administratora SQL Servera, a tak e syste- mowe bazy danych i tabele. Ponadto powiemy, w jaki sposób administrator mo e zdo- bywać informacje o systemie. Zrozumienie tych podstawowych struktur ma kluczowe znaczenie przy administrowaniu bazami danych SQL Servera. Podobnie jak mechanik naprawiający samochody, administrator musi wiedzieć, gdzie nale y zajrzeć, gdy poja- wią się problemy. 1DQYKæMK CFOKPKUVTCVQTC U[UVGOW Administrator odpowiada za spójność i dostępność danych. Jest to proste w zało eniu, ale to wielka odpowiedzialność. Niektóre du e firmy szacują wartość swych danych na milion dolarów za ka de 100 MB. Nie chodzi tu jednak tylko o pieniądze. Wiele firm, które utraciły dane o krytycznym dla siebie znaczeniu, po prostu nigdy ju nie podnio- sło się po tej stracie. To, co w praktyce wchodzi w zakres obowiązków administratora systemu, określane jest dość ogólnie. W małych firmach zadaniem administratora mo e być wykonanie i wdro- enie projektu sieci lokalnej, zainstalowanie SQL Servera, implementacja struktury lo- gicznej, wyregulowanie zainstalowanej kopii serwera oraz zajmowanie się codziennymi czynnościami, takimi jak tworzenie kopii bezpieczeństwa. W większych zakładach zada- nia te mogą być rozbite na kilka stanowisk. Najczęściej zarządzaniem u ytkownikami i tworzeniem kopii bezpieczeństwa zajmuje się niezale na osoba. Jednak wcią powinno istnieć stanowisko głównego administratora, który będzie określał politykę postępowania z systemem i koordynował prowadzone działania. Niezale nie od tego, czy zadania te wykonywane są przez parę osób czy w pojedynkę, administrator: Instaluje i konfiguruje SQL Server. Rozplanowuje i tworzy bazy danych. Zarządza przechowywaniem danych.
  • 27. 122 Część III Narzędzia administracyjne i administrowanie programem... Kontroluje bezpieczeństwo. Ulepsza konfigurację baz danych. Wykonuje kopie bezpieczeństwa i przywraca z nich system w razie awarii. Inną czynnością wykonywaną niekiedy przez administratorów jest zarządzanie procedu- rami przechowywanymi na serwerze. Poniewa procedury przechowywane na serwerze, przeznaczone dla aplikacji u ytkowników, często zapisane są w postaci skomplikowanego kodu T-SQL, w zasadzie zajmowanie się nimi wchodzi w zakres obowiązków programi- stów. Jednak procedury przechowywane na serwerze są tak e obiektami w bazie danych, więc równie administrator jest za nie odpowiedzialny. Je eli aplikacje stosowane w fir- mie czytelnika wywołują niestandardowe procedury przechowywane na serwerze, czytel- nik musi być tego świadomy i koordynować swoje działania z twórcami aplikacji. Praca administratora systemu potrafi być źródłem stresów i frustracji. Jest tak e wyma- gająca, ale i ciekawa, a stanowisko administratora jest wysoce powa ane. Od admini- stratora wymaga się, aby wszystko wiedział, wszystko widział i wszystko przewidywał, ale jest on za to adekwatnie wynagradzany. 5[UVGOQYG DC[ FCP[EJ Systemowe bazy danych zostały stworzone, by wspomagać pracę SQL Servera. Pro- gram instalacyjny tworzy cztery systemowe bazy danych — OCUVGT, OQFGN, OUFD oraz VGORFD. Mówi się, e systemowe bazy danych zawierają „metadane” lub inaczej dane o danych. Nie mo na wykonywać zrzutów tych baz danych. OCUVGT Jak sama nazwa wskazuje, w bazie danych OCUVGT zawarte są wszystkie informacje systemowe dotyczące SQL Servera. Je eli jakikolwiek obiekt zdefiniowany jest na po- ziomie całego serwera, jest on przechowywany w bazie OCUVGT. Konta logowania, usta- wienia konfiguracyjne, systemowe procedury przechowywane na serwerze oraz infor- macje o istnieniu innych baz danych zapisane są w bazie OCUVGT. Je eli baza danych OCUVGT ulegnie uszkodzeniu, SQL Server nie uruchomi się, tak więc regularne tworzenie kopii bezpieczeństwa tej bazy jest sprawą priorytetową. Dalsze informacje mo na zna- leźć w rozdziale 18. OUFD Baza danych OUFD przechowuje informacje dla SQL Server Agenta. Gdy administrator określa zadania, alarmy i wyznacza operatorów, informacje o nich są trzymane w bazie OUFD. W bazie tej znajdują się te informacje o operacjach tworzenia kopii bezpieczeń- stwa, tak więc nawet je eli nie korzysta się z SQL Agenta, nale y pamiętać o tworzeniu kopii zapasowych bazy OUFD. W wersji Enterprise Edition w bazie tej występuje dodat- kowa tabela obsługująca przenoszenie dziennika.
  • 28. Rozdział 6. Podstawowe funkcje i narzędzia administratora 123 OQFGN Baza danych OQFGN jest szablonem, na którego podstawie tworzone są wszystkie bazy danych u ytkowników. Wszystkie bazy danych muszą zawierać podstawowy zbiór obiektów, znany jako katalog bazy danych. Gdy tworzona jest nowa baza danych, tak naprawdę kopiowana jest baza OQFGN, dzięki czemu w nowej bazie znajdują się ju wszystkie wymagane obiekty. Oczywiście do bazy OQFGN mo na w wygodny sposób dodawać nowe obiekty. Je eli chcemy na przykład, aby we wszystkich naszych bazach danych występowała określona tabela, wówczas wystarczy utworzyć ją w bazie danych OQFGN. Modyfikując bazę OQFGN, nale y pamiętać o zapisaniu jej na dysku, gdy w prze- ciwnym razie wprowadzone zmiany zostaną utracone. VGORFD Baza VGORFD przechowuje obiekty tymczasowe. Bezpośrednio utworzone tabele tymcza- sowe, a tak e tymczasowe procedury przechowywane na serwerze i obiekty tworzone przez system trafiają do bazy VGORFD. O VGORFD nale y myśleć jak o przestrzeni robo- czej, swego rodzaju podręcznym notesie, w którym SQL Server przechowuje przej- ściowe dane. Na przykład, zanim wynik zło onej operacji sortowania zostanie zwrócony do u ytkownika, jest ona przeprowadzana w bazie VGORFD. Mo na równie tak skonfigu- rować system, aby baza VGORFD była wykorzystywana podczas tworzenia indeksów. Przechowywanie bazy VGORFD na osobnym dysku mo e wyraźnie skrócić czas tworzenia indeksów. Po ka dym uruchomieniu SQL Servera baza danych VGORFD tworzona jest na nowo, więc nie ma potrzeby tworzenia jej kopii bezpieczeństwa. $CC FKUVTKDWVKQP Baza FKUVTKDWVKQP nie jest domyślnie tworzona, choć z technicznego punktu widzenia jest to systemowa baza danych. Zostanie ona zainstalowana z chwilą, gdy u ytkownik zdecyduje się korzystać z replikacji danych. Więcej informacji na ten temat znajduje się w rozdziale 25. 6CDGNG U[UVGOQYG SQL Server wykorzystuje tabele systemowe do przechowywania informacji o obiektach i ustawieniach konfiguracyjnych. Generalnie nazwy tabel systemowych zaczynają się przedrostkiem sys, od systemowetabele. Z tego powodu tabele te są często nazywane tabelami U[U. Niektóre z nich, takie jak U[UNQIKPU, zostały zaimplementowane jako wi- doki. Tabele systemowe dzielą się na dwie główne kategorie. Tabele katalogu systemo- wego znajdują się w bazie danych OCUVGT i przechowują informacje wspólne dla całej kopii SQL Servera. Tabele katalogu baz danych znajdują się w ka dej bazie danych, w tym w bazie OCUVGT, i zawierają informacje specyficzne dla danej bazy. Baza danych OUFD ma — oprócz swego katalogu baz danych — dodatkowe tabele systemowe, zwią- zane z SQL Agentem, narzędziem Backup and Recovery oraz z przenoszeniem dziennika
  • 29. 124 Część III Narzędzia administracyjne i administrowanie programem... (tylko w wersji Enterprise). Gdy uaktywniona jest replikacja danych, w bazie OCUVGT, FKUVTKDWVKQP i w bazach danych u ytkowników, które biorą udział w procesie replika- cji, tworzone są dodatkowe tabele systemowe. -CVCNQI U[UVGOQY[ W tabeli 6.1 wymieniono tabele i widoki z katalogu systemowego. 6CDGNC Tabele i widoki z katalogu systemowego 0CYC 6[R 1RKU 5[UCNVHKNGU Tabela Zawiera informacje o plikach bazy danych VGORFD. Poniewa baza VGORFD tworzona jest na nowo przy ka dym uruchomieniu SQL Servera, informacje te muszą być przechowywane w bazie OCUVGT. 5[UECEJGQDLGEVU Tabela Zawiera informacje o wykorzystaniu skompilowanych obiektów w pamięci podręcznej. Jest to tabela wirtualna, która materializuje się za ka dym razem, gdy jest na niej wykonywane jakieś zapytanie. U[UEJCTUGVU Tabela Zawiera zainstalowane zestawy znaków i porządki sortowania. U[UEQPHKIWTGU Tabela Przechowuje informacje o konfiguracji systemu, które mają zostać wykorzystane przy najbli szym uruchomieniu SQL Servera. U[UEWTEQPHKIU Tabela Przechowuje informacje o bie ącej konfiguracji systemu. Jest to tabela wirtualna, która materializuje się za ka dym razem, gdy jest na niej wykonywane jakieś zapytanie. U[UFCVCDCUGU Tabela Zawiera informacje o wszystkich bazach danych. U[UFGXKEGU Tabela Zawiera osobny wpis dla ka dego pliku bazy danych, a tak e plików przechowywanych na dyskach i taśmowych kopiach bezpieczeństwa. U[UNCPIWCIGU Tabela Zawiera osobny wpis dla ka dego języka zainstalowanego na serwerze. Nie ma jedynie wpisu dla amerykańskiej odmiany języka angielskiego, choć jest on zawsze dostępny. U[UNQEMKPHQ Tabela Przechowuje informacje o wszystkich aktywnych blokadach w systemie. U[UNQIKPU Widok Przechowuje wszystkie nazwy u ytkowników w oparciu o informacje zawarte w tabeli U[UZNQIKPU. U[UOGUUCIGU Tabela Przechowuje systemowe komunikaty o błędach i ostrze enia. U[UQNGFDWUGTU Widok Przechowuje informacje o mapowanych nazwach u ytkowników i hasłach na złączonych serwerach w oparciu o dane dostępne w tabeli U[UZNQIKPU. U[URGTKPHQ Tabela Zawiera mierniki wydajności, które mogą być wyświetlane przez Performance Monitor. U[URTQEGUUGU Tabela Przechowuje informacje o wszystkich procesach klienckich i systemowych pracujących pod SQL Serverem. U[UTGOQVGNQIKPU Widok Zawiera osobny wpis dla ka dego zdalnego u ytkownika mogącego wywoływać zdalne procedury przechowywane na serwerze. U[UZNQIKPU Tabela Zawiera informacje o wszystkich nazwach u ytkowników.
  • 30. Rozdział 6. Podstawowe funkcje i narzędzia administratora 125 -CVCNQI DC FCP[EJ W tabeli 6.2 wymieniono tabele i widoki z katalogu baz danych. 6CDGNC Tabele i widoki z katalogu baz danych 0CYC 6[R 1RKU U[UEQNWOPU Tabela Zawiera osobny wpis dla ka dej kolumny ze wszystkich tabel i widoków, a tak e osobny wiersz dla ka dego parametru procedury przechowywanej na serwerze. U[UEQOOGPVU Tabela Zawiera wpisy dla wszystkich widoków, reguł, wartości domyślnych, wyzwalaczy, ograniczeń CHECK, ograniczeń DEFAULT i procedur przechowywanych na serwerze. U[UEQPUVTCKPVU Widok Przyporządkowuje ograniczenia do obiektów, które są ich właścicielami. Informacje tu zawarte opierają się na danych z tabeli U[UQDLGEV. U[UFGRGPFU Tabela Zawiera informacje na temat zale nych od siebie obiektów, takie jak relacje między widokami a tabelami. U[UHKNGITQWRU Tabela Zawiera informacje o grupach plików. U[UHKNGU Tabela Zawiera informacje o plikach baz danych, w tym nazwy logiczne i fizyczne, a tak e rozmiary plików. U[UHQTGKIPMG[U Tabela Zawiera informacje o występujących w bazie danych zale nościach między obcojęzycznymi kluczami. U[UHWNNVGZVCEVCNQIU Tabela Zawiera osobny wpis dla ka dego katalogu pełnotekstowego. U[UKPFGZGU Tabela Zawiera informacje o indeksach w bazie danych. U[UKPFGZMG[U Widok Zawiera informacje o kluczach indeksów. U[UOGODGTU Tabela Zawiera informacje o rolach nadanych poszczególnym u ytkownikom. U[UQDLGEVU Widok Zawiera osobny wpis dla ka dego obiektu występującego w bazie danych. U[URGTOKUUKQPU Tabela Przechowuje informacje o pozwoleniach związanych z określonymi rolami, pozwoleniach przyznanych i odmówionych u ytkownikom oraz grupom u ytkowników. U[URTQVGEVU Tabela Zawiera informacje o pozwoleniach przyznanych kontom bezpieczeństwa za pomocą deklaracji )4#06 i '0;. U[UTGHGTGPEGU Tabela Zawiera informacje o mapowaniu kolumn dla dopuszczalnych zakresów danych, określonych dla obcojęzycznych kluczy. U[UV[RGU Tabela Zawiera informacje o wszystkich typach danych zdefiniowanych przez system i przez u ytkowników. U[UWUGTU Tabela Zawiera osobny wpis dla ka dego u ytkownika Windows, grupy u ytkowników Windows, u ytkownika SQL Servera oraz roli SQL Servera, mających dostęp do bazy danych. -CVCNQI TGRNKMCELK Tabele katalogu replikacji tworzone są dopiero wówczas, gdy zostanie skonfigurowana re- plikacja danych. Po jej skonfigurowaniu odpowiednie tabele tworzone są w bazie OCUVGT, OUFD, FKUVTKDWVKQP oraz w bazach danych u ytkowników, biorących udział w procesie re- plikacji. Konfiguracja tabel mo e być ró na w zale ności od przyjętego modelu replikacji.
  • 31. 126 Część III Narzędzia administracyjne i administrowanie programem... 6CDGNG U[UVGOQYG Y OUFD Poza standardowymi tabelami katalogu baz danych baza OUFD zawiera tabele charakte- rystyczne dla SQL Server Agenta, tworzonych kopii bezpieczeństwa, przenoszenia dziennika oraz narzędzia Database Maintenance Plan (plan zarządzania bazą danych). W tabeli 6.3 pokazano tabele SQL Server Agenta. 6CDGNC Tabele SQL Server Agenta 0CYC 1RKU 5[UCNGTVU Nazwa, numer błędu itd. dla wszystkich określonych komunikatów o błędach. U[UECVGIQTKGU Kategorie u ywane do segregowania zadań, alarmów i operatorów. U[UFQYPNQCFNKUV Kolejka zadań mająca być rozesłana do innych serwerów. U[ULQDJKUVQT[ Tabela z historią zadań zaplanowanych w czasie. 5[ULQDU Informacja o zadaniach SQL Server Agenta. U[ULQDUEJGFWNGU Informacje o tym, kiedy mają być wykonane poszczególne, zaplanowane zadania. U[ULQDUGTXGTU Zale ności między danym zadaniem a jednym lub kilkoma serwerami, na których ma ono zostać wykonane. U[ULQDUVGRU Poszczególne kroki składające się na wszystkie zaplanowane zadania. U[UPQVKHKECVKQPU Informacje dla ka dego operatora uszeregowane według zadań. U[UQRGTCVQTU Informacje o operatorach, takie jak nazwisko, adres e-mail itd. U[UVCTIGVUGTXGTITQWROGODGTU Serwery docelowe wchodzące w skład grupy wieloserwerowej. U[UVCTIGVUGTXGTITQWRU Grupy serwerów docelowych zdefiniowane na serwerze. U[UVCTIGVUGTXGTU Lista serwerów docelowych. U[UVCUMKFU Odwzorowanie zadań z wcześniejszej wersji na zadania realizowane w bie ącej wersji systemu. W tabeli 6.4 znalazły się informacje na temat tabel odnoszących się do kopii bezpieczeństwa. 6CDGNC Tabele odnoszące się do kopii bezpieczeństwa 0CYC 1RKU DCEMWRHKNG Zawiera informacje o ka dym pliku dziennika i pliku z danymi, które zostały uwzględnione przy tworzeniu kopii bezpieczeństwa. DCEMWROGFKCHCOKN[ Zawiera informacje o rodzinach mediów, na których tworzone są kopie bezpieczeństwa, takie jak nazwa, zbiór mediów, fizyczne i logiczne nazwy plików itd. DCEMWROGFKCUGV Zawiera nazwę, opis itd. ka dego zestawu mediów. DCEMWRUGV Zawiera osobny wiersz dla ka dego zestawu kopii bezpieczeństwa. NQIOCTMJKUVQT[ Zawiera informacje o ka dej przeprowadzonej, oznaczonej transakcji. TGUVQTGHKNG Zawiera osobny wpis dla ka dego pliku przywróconego z kopii bezpieczeństwa. TGUVQTGHKNGITQWR Zawiera osobny wpis dla ka dej przywróconej grupy plików. TGUVQTGJKUVQT[ Zawiera osobny wiersz dla ka dej przeprowadzonej operacji przywracania danych.
  • 32. Rozdział 6. Podstawowe funkcje i narzędzia administratora 127 W tabeli 6.5 wymieniono tabele związane z planem konserwacji systemu. 6CDGNC Tabele związane z planem konserwacji systemu 0CYC 1RKU U[UFDOCKPVRNCPAFCVCDCUGU Zawiera po jednym wierszu dla ka dej bazy danych uwzględnionej w planie. U[UFDOCKPVRNCPAJKUVQT[ Historia zadań przeprowadzonych w ramach planu konserwacji systemu. U[UFDOCKPVRNCPALQDU Zawiera osobny wiersz dla ka dego zadania stanowiącego część planu. U[UFDOCKPVRNCPU Zawiera osobny wiersz dla ka dego planu. Znajduje się w nim nazwa, identyfikator oraz data utworzenia planu. W tabeli 6.6 wymieniono tabele związane z przenoszeniem dziennika. 6CDGNC Tabele związane z przenoszeniem dziennika 0CYC 1RKU NQIAUJKRRKPIAFCVCDCUGU Nazwa i identyfikator przenoszonej bazy danych. NQIAUJKRRKPIAOQPKVQT Nazwa serwera monitorującego przenoszenie dziennika. NQIAUJKRRKPIARNCPAFCVCDCUGU Nazwy baz danych i uaktywnionych opcji występujących w planie przenoszenia dziennika. NQIAUJKRRKPIARNCPAJKUVQT[ Historia planu przenoszenia dziennika. NQIAUJKRRKPI RNCPU Informacje konfiguracyjne planu przenoszenia dziennika. NQIAUJKRRKPIARTKOCTKGU Serwer podstawowy, informacje konfiguracyjne, historia oraz wartości graniczne. NQIAUJKRRKPIAUGEQPFCTKGU Serwer zapasowy, informacje konfiguracyjne, historia oraz wartości graniczne. 2TQEGFWT[ RTGEJQY[YCPG Y U[UVGOKG Procedury przechowywane w systemie, tworzone przy instalacji SQL Servera, mają bardzo istotne znaczenie dla administrowania nim. Zadaniem procedur przechowywa- nych w systemie jest uwolnienie administratora od konieczności bezpośredniej edycji i wykonywania zapytań na tabelach systemowych i tabelach katalogu baz danych. Obecnie du a część czynności administracyjnych mo e być przeprowadzona z poziomu Enterprise Managera, ale warto znać te procedury przechowywane na serwerze. Na przykład, aby dodać nowy identyfikator u ytkownika w Enterprise Managerze, wystar- czy kliknąć prawym przyciskiem myszy Logins, wybrać w pojawiającym się oknie New Login, a następnie wpisać ądane informacje. Jest to dobry sposób, je eli chcemy dodać jeden nowy identyfikator, ale co zrobić, jeśli chcielibyśmy dodać ich dwieście? W tym przypadku pisze się skrypt wywołujący procedurę przechowywaną w systemie o nazwie URACFFNQIKP i dostarcza się wszystkie dane niezbędne do utworzenia nowych identyfi- katorów (nazwy u ytkowników, hasła itd.).
  • 33. 128 Część III Narzędzia administracyjne i administrowanie programem... Wymienienie wszystkich procedur przechowywanych w systemie byłoby niepraktyczne. Nawet przy pobie nym spojrzeniu na bazę danych OCUVGT widać prawie tysiąc takich procedur. Dokumentacja SQL Servera w postaci elektronicznej oraz biblioteka MSDN są doskonałymi źródłami informacji na temat procedur przechowywanych w systemie. In- ną metodą na zapoznanie się z tymi procedurami jest przejrzenie listy obiektów w Query Analyzerze. Doświadczenia autora wskazują na to, e w ten sposób mo na sobie szybko przypomnieć, której procedury nale y u yć do wykonania określonego zadania. Je eli chcemy wyświetlić więcej informacji, nale y przeciągnąć procedurę do okna zapytań i nacisnąć Shift+F1. Spowoduje to wyświetlenie informacji na temat danej procedury pochodzących z dokumentacji elektronicznej. 5RGELCNPG EGEJ[ RTQEGFWT RTGEJQY[YCP[EJ Y U[UVGOKG Ogólnie rzecz biorąc, procedury przechowywane w systemie mają następujące wła- ściwości: Są przechowywane w bazie danych OCUVGT. Ich nazwy rozpoczynają się od przedrostka sp_. Właścicielem procedury jest dbo (ang. database owner — właściciel bazy danych). Mają one zasięg globalny. Oznacza to, e mogą zostać wywołane z dowolnej bazy danych i będą się wykonywały w kontekście tej bazy. Podobnie jak nigdy nie powinno się bezpośrednio modyfikować tabel systemowych, tak samo nie powinno się zmieniać procedur przechowywanych w systemie. Je eli trzeba zmienić procedurę przechowywaną w systemie, nale y skopiować definicję procedury z kolumny VGZV tabeli U[UEQOOGPVU lub z okna właściwości procedury w Enterprise Ma- nagerze, a następnie wkleić ją do nowej, utworzonej w tym celu procedury, którą będzie mo na modyfikować do woli. Nawet je eli zrobimy w definicji procedury jakiś błąd, zawsze będzie dostępna oryginalna wersja. Należy uważać, aby nie modyfikować procedur przechowywanych na serwerze operujących na tabelach systemowych. Procedury te są bardzo złożone i zależą od siebie nawzajem. Jeżeli przydarzy się awaria i administrator zadzwoni do Microsoftu z prośbą o pomoc, zapewne usłyszy w odpowiedzi: „Nie odpowiadamy na pytania dotyczące bezpośredniej modyfikacji obiektów systemowych. Miłego dnia”. 2T[FCVPG RTQEGFWT[ U[UVGOQYG Choć istnieją setki procedur systemowych, najczęściej u ywa się około 10 czy 20 z nich. Wiele procedur o nazwach zaczynających się od URAJGNR jest naprawdę pomocnych. Na przykład URAJGNRFD zwraca informacje o wszystkich bazach danych, a je eli podana jest konkretna nazwa bazy, tylko o tej jednej bazie danych. Na przykład URAJGNRFD RWDU . W tabeli 6.7 wymieniono kilka popularnych procedur przechowywanych w systemie.
  • 34. Rozdział 6. Podstawowe funkcje i narzędzia administratora 129 6CDGNC Popularne procedury przechowywane w systemie 0CYC RTQEGFWT[ 1RKU URAJGNR Wyświetla listę obiektów występujących w danej bazie danych lub zwraca informację na temat określonego obiektu. Mo e być u ywana do zdobywania informacji o dowolnych obiektach z bazy danych. URAJGNRFD Wyświetla listę baz danych lub informacje o konkretnej bazie. URAJGNRTQVGEV Wyświetla informacje o obiektach i pozwoleniach. URAYJQ Zwraca informacje o połączeniach SQL Servera. URANQEM Informacje o blokadach wszystkich, jednego bądź dwóch procesów. Pomocna przy diagnozowaniu problemów z blokowaniem. URAEQPHKIWTG Wyświetla lub zmienia globalne ustawienia konfiguracyjne. URAFDQRVKQP Wyświetla lub zmienia ustawienia konfiguracyjne bazy danych. +PPG URQUQD[ Y[MQP[YCPKC CR[VC PC VCDGNCEJ U[UVGOQY[EJ Jak dotąd w rozdziale tym skupiliśmy się na procedurach przechowywanych w syste- mie, za pomocą których mo na uzyskać informacje z baz danych i z katalogu systemo- wego. Istnieją dwie inne metody pozwalające na odczytywanie metadanych. Są to wi- doki schematów informacyjnych i funkcje systemowe. 9KFQMK UEJGOCVÎY KPHQTOCE[LP[EJ Widoki schematów informacyjnych określone są w standardzie ANSI-92 jako zbiór widoków prezentujących dane systemowe. Dzięki zastosowaniu widoków rzeczywiste tabele systemowe są ukryte przed aplikacjami. Zmiany wprowadzane w tabelach sys- temowych nie mają wpływu na aplikacje, poniewa te ostatnie nie korzystają bezpo- średnio z tabel systemowych. W ten sposób aplikacje mogą pobierać dane z dowolnego systemu zgodnego ze schematami informacyjnymi ANSI-92, niezale nie od dostawcy i wersji baz danych. SQL Server, odwołując się do obiektów umieszczonych na lokalnym serwerze, posłu- guje się trójczłonowym schematem nazewnictwa określonym w standardzie ANSI-92. W terminologii ANSI-92 jest to katalog.schemat.obiekt, zaś wg słownictwa Microsoftu baza_danych.właściciel.obiekt. Je eli baza danych nie została określona, domyślnie przyjmowane jest, e chodzi o bie ącą bazę. Je eli nie został podany właściciel, przyj- muje się, e chodzi o aktualnie stosowaną nazwę u ytkownika. Ma to istotne znaczenie, jeśli chodzi o widoki schematów informacyjnych, poniewa są one „posiadane” przez +0(14/#6+10A5%*'/#. Tak więc odwołując się do widoku schematów informacyjnych w bie ącej bazie danych, trzeba podać część schematu nazewnictwa obejmującą właści- ciela.obiekt. Na przykład chcąc uzyskać informacje o tabelach, nale ałoby wpisać: 5'.'%6
  • 36. 130 Część III Narzędzia administracyjne i administrowanie programem... Na szczęście nazwy widoków schematów informacyjnych są dość intuicyjne. Niektóre z dostępnych widoków schematów informacyjnych to 6#$.'5, %1.7/05, 6#$.'A24+8+.')'5 oraz 8+'95. Należy unikać tworzenia zapytań odwołujących się bezpośrednio do tabel systemowych. Microsoft stara się zapewniać kompatybilność z wcześniejszymi wersjami systemu wszędzie, gdzie jest to możliwe, ale nie ma na to gwarancji. Oznacza to, że Microsoft zastrzega sobie prawo do zmiany nazw tabel systemowych w dowolnej chwili. Jeżeli aplikacje użytkownika odwołują się do tych tabel, wówczas może wystąpić problem przy próbie przeniesienia ich do nowszej wersji SQL Servera. Z kolei widoki schematów informacyjnych pozostaną w przyszłości niezmienione. (WPMELG U[UVGOQYG K HWPMELG QRGTWLæEG PC OGVCFCP[EJ Innym sposobem na uzyskanie informacji o systemie z poziomu poleceń Transact-SQL jest wykorzystanie funkcji systemowych i funkcji operujących na metadanych. Są to funkcje skalarne, co oznacza, e zwracają one pojedyncze, określone wartości. Na przy- kład, aby odczytać nazwę u ytkownika z bie ącej sesji, nale y zastosować polecenie: 5'.'%6 575'4A0#/' Kilka innych funkcji, których mo na u yć do odczytania informacji systemowych, to $A+, $A0#/', 1$,'%6A0#/', (+.'A0#/' oraz )'6#6'.