SQL Server 2005.pdf

(501 KB) Pobierz
SQL Server 2005
Autorzy: Thomas Rizzo, Adam Machanic, Robin
Dewson, Rob Walters, Joseph Sack, Julian Skin
T³umaczenie: Daniel Kaczmarek, Daniel Lehun
ISBN: 978-83-246-0555-2
Tytu³ orygina³u: Pro SQL Server 2005 (Pro)
Format: B5, stron: 816
Praktyczny przewodnik po SQL Server 2005
dla programistów i administratorów baz danych
• Jakie nowe funkcje oferuje SQL Server 2005?
• Jak zintegrowaæ system bazodanowy z .NET?
• Jak wykorzystaæ mo¿liwoœci SQL Server 2005 w otoczeniu biznesowym?
Ka¿da nowa wersja SQL Server zawiera coraz wiêcej funkcji i udostêpnia nowe
mo¿liwoœci. Tak te¿ jest w przypadku SQL Server 2005, który ma nie tylko ulepszony
system zarz¹dzania bazami danych, ale równie¿ zabezpieczania ich. System ten oferuje
rozszerzenia jêzyka T-SQL przydatne zarówno programistom, jak i administratorom,
umo¿liwia integracjê baz z platform¹ .NET, a tak¿e posiada znacznie bardziej
rozbudowane funkcje do manipulowania danymi XML. SQL Server 2005 wyposa¿ony
zosta³ te¿ w wiele innych mechanizmów pozwalaj¹cych zwiêkszyæ produktywnoœæ
w pracy z bazami danych i zapewniæ ich lepsze funkcjonowanie.
Ksi¹¿ka „SQL Server 2005” to przegl¹d usprawnieñ najnowszej wersji tego systemu
bazodanowego napisany przez profesjonalistów dla profesjonalistów. Dowiesz siê z niej,
jak w praktyce wykorzystaæ mo¿liwoœci SQL Server 2005. Nauczysz siê tworzyæ
rozbudowane raporty przy u¿yciu Raporting Services, przeprowadzaæ analizy danych za
pomoc¹ Analysis Services, automatyzowaæ zadania, dodawaæ do baz danych obiekty
platformy .NET oraz stosowaæ wygodne funkcje do obs³ugi danych w formacie XML.
• Zarz¹dzanie SQL Server 2005 za pomoc¹ SSMS
• Korzystanie z rozszerzeñ jêzyka T-SQL
• Integrowanie baz danych z .NET
• Zastosowania formatu XML w SQL Server 2005
• Raportowanie przy u¿yciu Raporting Services
• Analizowanie danych za pomoc¹ Analysis Services
• Zabezpieczanie baz danych
• Kolejkowanie komunikatów przy u¿yciu Service Broker
• Obs³uga powiadomieñ za pomoc¹ Notification Services
• Automatyzowanie zadañ
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
945043580.051.png 945043580.062.png 945043580.073.png 945043580.079.png 945043580.001.png 945043580.002.png 945043580.003.png 945043580.004.png 945043580.005.png 945043580.006.png 945043580.007.png 945043580.008.png 945043580.009.png 945043580.010.png 945043580.011.png 945043580.012.png 945043580.013.png 945043580.014.png 945043580.015.png 945043580.016.png 945043580.017.png 945043580.018.png 945043580.019.png 945043580.020.png 945043580.021.png 945043580.022.png 945043580.023.png 945043580.024.png 945043580.025.png 945043580.026.png 945043580.027.png 945043580.028.png 945043580.029.png 945043580.030.png 945043580.031.png 945043580.032.png 945043580.033.png 945043580.034.png 945043580.035.png 945043580.036.png 945043580.037.png 945043580.038.png 945043580.039.png 945043580.040.png 945043580.041.png 945043580.042.png 945043580.043.png 945043580.044.png 945043580.045.png 945043580.046.png 945043580.047.png 945043580.048.png 945043580.049.png 945043580.050.png 945043580.052.png 945043580.053.png 945043580.054.png 945043580.055.png 945043580.056.png 945043580.057.png 945043580.058.png 945043580.059.png 945043580.060.png 945043580.061.png 945043580.063.png 945043580.064.png 945043580.065.png 945043580.066.png 945043580.067.png 945043580.068.png 945043580.069.png 945043580.070.png 945043580.071.png 945043580.072.png 945043580.074.png 945043580.075.png 945043580.076.png 945043580.077.png
 
O autorach ..................................................................................... 15
O redaktorach technicznych ........................................................... 19
Wprowadzenie ................................................................................ 21
Rozdział 1. Przegląd funkcji i instalacja SQL Servera ......................................... 27
Historia rozwoju SQL Servera ........................................................................................ 27
Przegląd funkcji SQL Servera 2005 ................................................................................ 28
Wydania .................................................................................................................... 30
Funkcje ...................................................................................................................... 31
Instalacja .......................................................................................................................... 35
Minimalne wymagania systemowe ........................................................................... 35
Proces instalacji ......................................................................................................... 37
Rejestracja serwera .................................................................................................... 47
Przykładowe bazy danych ......................................................................................... 49
Instalacja dwóch równoległych instancji .................................................................. 50
Uaktualnianie baz danych SQL Servera 2000 i 7.0 ......................................................... 51
Podsumowanie ................................................................................................................. 51
Rozdział 2. Technologie zarządzania SQL Serverem ........................................... 53
Łączenie się z SQL Serverem i zarządzanie nim ............................................................ 54
Menu kontekstowe dla każdego typu obiektów ........................................................ 54
Obsługa mobilnych baz danych ................................................................................ 54
Obsługa SQL Servera 2000 ....................................................................................... 56
Nowe funkcje interfejsu użytkownika ............................................................................. 57
Asynchroniczny widok drzewa i filtrowanie obiektów ............................................. 57
Niemodalne okna dialogowe o zmiennym rozmiarze ............................................... 58
Nowe funkcje generowania skryptów i harmonogramów zadań .............................. 58
Autoryzacja kodu ...................................................................................................... 60
Panel wyników .......................................................................................................... 62
Activity Monitor ........................................................................................................ 62
Widoki Summary ...................................................................................................... 63
Rozszerzenia funkcjonalne .............................................................................................. 63
Dedykowane połączenie administracyjne ................................................................. 64
Wizualizacja zakleszczeń .......................................................................................... 65
Korelacja monitora Performance Monitor ................................................................ 65
Import i eksport danych dotyczących zarejestrowanych serwerów .......................... 68
Maintenance Plan Designer ....................................................................................... 68
945043580.078.png
6
SQL Server 2005
Zmiany w agencie SQL Server Agent ....................................................................... 69
Database Mail ............................................................................................................ 69
Widoki katalogowe oraz dynamiczne widoki zarządcze .......................................... 71
Domyślny ślad serwera ............................................................................................. 73
Rozszerzenia narzędzia Profiler ................................................................................ 74
SQL Configuration Manager ..................................................................................... 75
Surface Area Configurator ........................................................................................ 76
Rozszerzona pomoc oraz integracja ze społecznością użytkowników SQL Servera ... 77
SQLCMD .........................................................................................................................78
Server Management Objects ............................................................................................ 80
Podsumowanie ................................................................................................................. 84
Rozdział 3. Rozszerzenia T-SQL dla programistów .............................................. 85
Rozszerzenia mające wpływ na DML ............................................................................. 86
Unieważnienie przestarzałego stylu złączeń zewnętrznych ...................................... 87
Wspólne wyrażenia tabelowe .................................................................................... 88
Operator TOP ............................................................................................................ 97
Rozszerzenia klauzuli FROM ................................................................................. 101
OUTPUT ................................................................................................................. 111
Funkcje rankingowe ................................................................................................ 112
EXCEPT i INTERSECT ......................................................................................... 119
Synonimy ................................................................................................................ 122
Ogólne programowanie ................................................................................................. 123
Obsługa błędów ....................................................................................................... 124
Rozszerzenie .WRITE instrukcji UPDATE ............................................................ 132
EXECUTE ............................................................................................................... 134
Kontekst zabezpieczeń kodu ................................................................................... 134
Deklaracje .NET ...................................................................................................... 138
Podsumowanie ............................................................................................................... 139
Rozdział 4. Rozszerzenia T-SQL dla administratorów baz danych ...................... 141
Widoki metadanych ....................................................................................................... 141
Widoki zgodności .................................................................................................... 142
Widoki katalogowe ................................................................................................. 143
Dynamiczne widoki i funkcje zarządcze ................................................................. 145
Procedury wyzwalane DDL ........................................................................................... 146
Tworzenie i zmienianie procedur wyzwalanych DDL ............................................ 147
Usuwanie procedur wyzwalanych DDL ................................................................. 149
Udostępnianie i blokowanie procedur wyzwalanych DDL ..................................... 149
Odczytywanie procedur wyzwalanych DDL w widokach katalogowych .............. 149
Programowanie procedur wyzwalanych DDL przy użyciu funkcji eventdata() ..... 150
Rozszerzenia w zakresie indeksowania i wydajności .................................................... 152
Indeksowanie online ................................................................................................ 153
Kontrola blokowania w trakcie tworzenia indeksów .............................................. 154
Tworzenie indeksów z dołączonymi dodatkowymi kolumnami ............................. 155
Modyfikowanie indeksów ....................................................................................... 156
Używanie statystyk dla skorelowanych kolumn DATETIME ................................ 160
Zwiększanie wydajności sortowania dla trzeciorzędnych ustawień sortowania ..... 161
Partycjonowanie tabel i indeksów ................................................................................. 163
Funkcje partycjonowania ........................................................................................ 164
Schematy partycjonowania ..................................................................................... 165
Tworzenie partycjonowanych tabel i indeksów ...................................................... 165
Dodawanie i usuwanie partycji ............................................................................... 166
Modyfikowanie funkcji i schematów partycjonowania .......................................... 168
Spis treści
7
Dołączanie i usuwanie tabel z partycji .................................................................... 169
Zarządzanie partycjami tabel i indeksów ................................................................ 170
Rozszerzenia tabel i widoków ....................................................................................... 171
Rozszerzenia w widokach indeksowanych ............................................................. 171
Stałe kolumny obliczane ......................................................................................... 172
Migawki ......................................................................................................................... 173
Poziom izolacji transakcji SNAPSHOT .................................................................. 173
Migawki baz danych ............................................................................................... 178
Rozszerzenia w zakresie integralności danych .............................................................. 180
Weryfikacja stron bazy danych ............................................................................... 180
Przełączanie bazy danych w tryb awaryjny ............................................................ 181
Podsumowanie ............................................................................................................... 182
Rozdział 5. Integracja z .NET .......................................................................... 183
Podstawowe informacje na temat integracji SQL Servera i .NET ................................ 184
Dlaczego SQL Server 2005 obsługuje CLR? .......................................................... 184
Kiedy powinno się używać procedur CLR? ............................................................ 185
Kiedy nie powinno się używać procedur CLR? ...................................................... 186
Sposób, w jaki SQL Server obsługuje .NET — architektura rozwiązania ............. 186
Model programistyczny .NET w SQL Serverze ............................................................ 187
Modyfikacje ADO.NET związane z obsługą SQL Servera .................................... 188
Przegląd nowych przestrzeni nazw .NET dla SQL Servera .................................... 188
Implementacja procedury składowanej ......................................................................... 189
Tworzenie projektu SQL Servera Project w Visual Studio 2005 ............................ 190
Budowa procedury składowanej ............................................................................. 194
Dodawanie parametrów ........................................................................................... 195
Definicja problemu .................................................................................................. 196
Użycie obiektu SqlPipe ........................................................................................... 198
Kompletne rozwiązanie — implementacja ciała procedury składowanej ............... 201
Testowanie procedury składowanej ........................................................................ 203
Debugowanie procedury ......................................................................................... 205
Zgłaszanie wyjątków w procedurach CLR ............................................................. 206
Wdrażanie procedur CLR .............................................................................................. 210
Podsumowanie ............................................................................................................... 212
Rozdział 6. Programowanie podzespołów ........................................................ 213
Typy CLR zdefiniowane przez użytkownika ................................................................ 214
Zastosowania typów definiowanych przez użytkownika ........................................ 215
Dodawanie typu zdefiniowanego przez użytkownika do projektu SQL Servera .... 215
Elementy typu zdefiniowanego przez użytkownika ................................................ 217
Prosty przykład: typ PhoneNumber ........................................................................ 221
Kolejny przykład: typ StringArray .......................................................................... 229
Zarządzanie typami zdefiniowanymi przez użytkownika ....................................... 238
Funkcje CLR zdefiniowane przez użytkownika ............................................................ 238
Dodawanie funkcji zdefiniowanej przez użytkownika do projektu Visual Studio . 239
Szablon funkcji zdefiniowanej przez użytkownika w Visual Studio 2005 ............. 240
Atrybut SqlFunction ................................................................................................ 241
Skalarne funkcje zdefiniowane przez użytkownika ................................................ 242
Definiowanie funkcji tabelowych zdefiniowanych przez użytkownika .................. 245
Zarządzanie funkcjami CLR zdefiniowanymi przez użytkownika ......................... 250
Agregaty CLR zdefiniowane przez użytkownika .......................................................... 251
Dodawanie agregatu definiowanego przez użytkownika
do projektu SQL Servera ...................................................................................... 252
Elementy agregatu zdefiniowanego przez użytkownika ......................................... 253
8
SQL Server 2005
Procedury wyzwalane CLR zdefiniowane przez użytkownika ..................................... 260
Dodawanie procedury wyzwalanej CLR zdefiniowanej przez użytkownika
do projektu SQL Servera ...................................................................................... 261
Implementowanie procedur wyzwalanych CLR ..................................................... 261
Zarządzanie procedurami wyzwalanymi zdefiniowanymi przez użytkownika ...... 265
Zarządzanie podzespołami ............................................................................................ 266
Uwaga dotycząca Visual Studio 2005 ........................................................................... 266
Podsumowanie ............................................................................................................... 267
Rozdział 7. SQL Server i XML ......................................................................... 269
Czym jest XML? ........................................................................................................... 269
Czym są XPath i XMLDOM? ....................................................................................... 271
Składnia XPath ........................................................................................................ 272
Funkcje XPath ......................................................................................................... 274
XMLDOM — XML Document Object Model ....................................................... 274
Klasy XPathDocument, XPathNavigator oraz XPathExpression ........................... 276
Wstawianie danych XML do bazy danych .................................................................... 277
Czym jest SQLXML? .............................................................................................. 278
Konfiguracja SQL Servera ...................................................................................... 279
OPENXML .............................................................................................................. 279
SQLXML — widoki XML używające adnotowanych schematów XML .............. 286
Diagramy uaktualniające SQLXML ....................................................................... 291
Zbiorcze ładowanie danych XML ........................................................................... 294
Odczytywanie danych XML z bazy danych — klauzula FOR XML ............................ 298
Klauzula FOR XML po stronie serwera ................................................................. 298
Klauzula FOR XML po stronie klienta ................................................................... 304
Używanie szablonów ............................................................................................... 304
Rozszerzenia klauzuli FOR XML ................................................................................. 305
Programowanie SQLXML w .NET i COM ................................................................... 306
SqlXmlCommand .................................................................................................... 307
SqlXmlParameter .................................................................................................... 307
SqlXmlAdapter ........................................................................................................ 307
SqlXmlException .................................................................................................... 308
Przykładowe kody ................................................................................................... 309
Klauzula FOR XML — przetwarzanie po stronie serwera i po stronie klienta ...... 310
Sposób użycia obiektu XMLTextReader ................................................................ 311
Używanie parametrów w SQLXML ....................................................................... 312
Wykonywanie zapytań XPath lub zapytań SQL z szablonami ............................... 313
Interakcja z zestawem danych ADO.NET .............................................................. 313
Programowanie diagramów uaktualniających ........................................................ 314
Podsumowanie ............................................................................................................... 314
Rozdział 8. Obsługa XML-a i XQuery w SQL Serverze 2005 .............................. 315
Sposób użycia typu danych XML ................................................................................. 316
Sposób przechowywania danych XML w SQL Serverze ....................................... 318
Tworzenie kolumn XML ......................................................................................... 320
Ustawianie uprawnień do tworzenia schematów .................................................... 325
Nakładanie ograniczeń na kolumny XML .............................................................. 326
Ograniczenia typu danych XML ............................................................................. 327
Wstawianie danych w kolumnach XML ....................................................................... 328
Użycie SSIS względem danych XML ..................................................................... 328
Zbiorcze ładowanie danych XML ........................................................................... 330
Tworzenie własnego zapytania lub aplikacji .......................................................... 330
Zgłoś jeśli naruszono regulamin