Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00106 008441 10460629 na godz. na dobę w sumie
SQL Server 2005. Programowanie. Od podstaw - książka
SQL Server 2005. Programowanie. Od podstaw - książka
Autor: Liczba stron: 728
Wydawca: Helion Język publikacji: polski
ISBN: 83-246-0653-X Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> sql server
Porównaj ceny (książka, ebook, audiobook).

Rozpocznij pracę z SQL Server 2005

SQL Server 2005 to najnowsza wersja niezawodnego, wydajnego i wysoce skalowalnego systemu zarządzania relacyjnymi bazami danych (RDBMS) autorstwa Microsoftu. Podobnie jak wcześniejsze wersje tego produktu, SQL Server 2005 bazuje na języku T-SQL, ale zapewnia lepszą obsługę XML, danych definiowanych przez użytkownika oraz platformy .NET, a ponadto udostępnia dodatkowe usługi. Dzięki swym możliwościom doskonale nadaje się do tego, by być podstawą rozmaitych aplikacji potrzebujących dostępu do bazy danych.

Książka 'SQL Server 2005. Programowanie. Od podstaw' przeznaczona jest dla programistów, którzy chcą rozpocząć pracę z SQL Server 2005. Dzięki niej poznasz podstawy funkcjonowania systemów RDBMS oraz języków SQL i T-SQL. Nauczysz się korzystać z narzędzi udostępnianych przez SQL Server 2005 oraz dowiesz się, jak wykonywać zarówno podstawowe, jak i bardziej zaawansowane operacje na bazach danych. Ta książka pozwoli Ci szybko opanować możliwości, jakie daje SQL Server 2005, i przystąpić do pisania stabilnych oraz wydajnych aplikacji bazodanowych.

Twórz niezawodne i wydajne aplikacje bazodanowe
za pomocą SQL Server 2005.

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

Darmowy fragment publikacji:

SQL Server 2005. Programowanie. Od podstaw Autor: Robert Vieira T³umaczenie: Piotr Balczyñski, Maria Chaniewska, Grzegorz Kostek ISBN: 83-246-0653-X Tytu³ orygina³u: Beginning SQL Server 2005 Programming Format: B5, stron: 728 Rozpocznij pracê z SQL Server 2005 (cid:129) Dowiedz siê, jak dzia³aj¹ systemy RDBMS (cid:129) Poznaj narzêdzia SQL Server 2005 (cid:129) Naucz siê obs³ugiwaæ bazy danych za pomoc¹ SQL Server 2005 SQL Server 2005 to najnowsza wersja niezawodnego, wydajnego i wysoce skalowalnego systemu zarz¹dzania relacyjnymi bazami danych (RDBMS) autorstwa Microsoftu. Podobnie jak wczeœniejsze wersje tego produktu, SQL Server 2005 bazuje na jêzyku T-SQL, ale zapewnia lepsz¹ obs³ugê XML, danych definiowanych przez u¿ytkownika oraz platformy .NET, a ponadto udostêpnia dodatkowe us³ugi. Dziêki swym mo¿liwoœciom doskonale nadaje siê do tego, by byæ podstaw¹ rozmaitych aplikacji potrzebuj¹cych dostêpu do bazy danych. Ksi¹¿ka „SQL Server 2005. Programowanie. Od podstaw” przeznaczona jest dla programistów, którzy chc¹ rozpocz¹æ pracê z SQL Server 2005. Dziêki niej poznasz podstawy funkcjonowania systemów RDBMS oraz jêzyków SQL i T-SQL. Nauczysz siê korzystaæ z narzêdzi udostêpnianych przez SQL Server 2005 oraz dowiesz siê, jak wykonywaæ zarówno podstawowe, jak i bardziej zaawansowane operacje na bazach danych. Ta ksi¹¿ka pozwoli Ci szybko opanowaæ mo¿liwoœci, jakie daje SQL Server 2005, i przyst¹piæ do pisania stabilnych oraz wydajnych aplikacji bazodanowych. (cid:129) Wprowadzenie do systemów RDBMS (cid:129) Jêzyki SQL i T-SQL (cid:129) Narzêdzia dostêpne w SQL Server 2005 (cid:129) Tworzenie i modyfikowanie tabel (cid:129) Korzystanie ze z³¹czeñ i ograniczeñ (cid:129) Normalizacja podstaw projektowania (cid:129) Tworzenie skryptów, programów wsadowych i procedur sk³adowanych (cid:129) Obs³uga transakcji i blokad (cid:129) U¿ywanie wyzwalaczy (cid:129) Raporty (cid:129) Obs³uga danych XML Twórz niezawodne i wydajne aplikacje bazodanowe za pomoc¹ SQL Server 2005 Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl Wstęp ......................................................................................................................................................... 15 Rozdział 1. Podstawy RDBMS — z czego składa się baza danych SQL Server .................................... 21 Przegląd obiektów bazy danych ...................................................................................... 22 Obiekt Baza danych ................................................................................................. 22 Dziennik transakcji .................................................................................................. 27 Najbardziej podstawowy obiekt bazy danych — tabela ................................................ 27 Grupy plików ........................................................................................................... 29 Diagramy ................................................................................................................ 29 Widoki .................................................................................................................... 31 Procedury składowane ............................................................................................. 31 Funkcje zdefiniowane przez użytkownika .................................................................... 32 Użytkownicy i role .................................................................................................... 32 Reguły .................................................................................................................... 33 Wartości domyślne .................................................................................................. 33 Typy danych zdefiniowane przez użytkownika ............................................................. 33 Katalogi wyszukiwania pełnotekstowego ................................................................... 33 Typy danych w systemie SQL Server .............................................................................. 34 Wartości NULL ........................................................................................................ 38 Identyfikatory obiektów w systemie SQL Server ............................................................... 39 Nazwy .................................................................................................................... 39 Konwencje nazewnicze ............................................................................................ 39 Podsumowanie ............................................................................................................ 40 Rozdział 2. Narzędzia ................................................................................................................................ 41 Books Online ............................................................................................................... 42 SQL Server Configuration Manager ................................................................................ 43 Zarządzanie usługami .............................................................................................. 44 Konfiguracja sieci ................................................................................................... 44 Protokoły ................................................................................................................ 46 Klient ..................................................................................................................... 48 SQL Server Management Studio .................................................................................... 50 Rozpoczęcie pracy ................................................................................................... 51 Okno zapytań .......................................................................................................... 55 SQL Server Integration Services (SSIS) .......................................................................... 61 Bulk Copy Program (bcp) ............................................................................................... 62 SQL Server Profiler ....................................................................................................... 62 sqlcmd ........................................................................................................................ 63 Podsumowanie ............................................................................................................ 64 6 SQL Server 2005. Programowanie. Od podstaw Rozdział 3. Podstawowe polecenia języka T-SQL ....................................................................................65 Podstawowe polecenie — SELECT ................................................................................. 66 Polecenie SELECT i klauzula FROM ........................................................................... 66 Klauzula WHERE ..................................................................................................... 70 ORDER BY .............................................................................................................. 73 Agregacje danych za pomocą klauzuli GROUP BY ....................................................... 77 Tworzenie warunków za pomocą klauzuli HAVING ....................................................... 85 Generowanie XML-a za pomocą klauzuli FOR XML ...................................................... 87 Wykorzystanie wskazówek za pomocą klauzuli OPTION ............................................... 88 Predykaty DISTINCT i ALL ......................................................................................... 88 Wprowadzanie danych za pomocą polecenia INSERT ....................................................... 90 Polecenie INSERT INTO...SELECT ............................................................................. 95 Wprowadzanie zmian za pomocą polecenia UPDATE ........................................................ 97 Polecenie DELETE ...................................................................................................... 100 Podsumowanie .......................................................................................................... 101 Ćwiczenia .................................................................................................................. 102 Rozdział 4. Złączenia (JOINs) .................................................................................................................. 103 Złączenia JOIN ........................................................................................................... 104 Złączenia wewnętrzne (INNER JOIN) ............................................................................. 105 Dlaczego INNER JOIN przypomina klauzulę WHERE .................................................. 110 Złączenia zewnętrzne .................................................................................................. 114 Proste złączenie zewnętrzne .................................................................................. 115 Bardziej skomplikowane złączenia zewnętrzne ......................................................... 120 Spojrzenie w obie strony za pomocą złączeń pełnych ..................................................... 124 Złączenia krzyżowe ..................................................................................................... 126 Alternatywne składnie złączeń ..................................................................................... 127 Alternatywne INNER JOIN ....................................................................................... 127 Alternatywne OUTER JOIN ...................................................................................... 128 Alternatywne CROSS JOIN ...................................................................................... 129 Unia .......................................................................................................................... 130 Podsumowanie .......................................................................................................... 135 Ćwiczenia .................................................................................................................. 135 Rozdział 5. Tworzenie i modyfikacja tabel ............................................................................................ 137 Nazwy obiektów w systemie SQL Server ....................................................................... 137 Nazwa schematu .................................................................................................. 138 Nazwa bazy danych ............................................................................................... 141 Nazwa serwera ..................................................................................................... 141 Przegląd ustawień domyślnych ............................................................................... 141 Polecenie CREATE ...................................................................................................... 142 CREATE DATABASE ............................................................................................... 142 CREATE TABLE ...................................................................................................... 148 Polecenie ALTER ........................................................................................................ 161 ALTER DATABASE .................................................................................................. 161 ALTER TABLE ........................................................................................................ 164 Polecenie DROP ......................................................................................................... 168 Wykorzystanie narzędzia GUI ....................................................................................... 169 Tworzenie bazy danych za pomocą SQL Server Management Studio .......................... 169 Powrót do kodowania — podstawy tworzenia skryptów za pomocą SQL Server Management Studio ......................................................... 175 Podsumowanie .......................................................................................................... 176 Ćwiczenia .................................................................................................................. 176 Spis treści 7 Rozdział 6. Ograniczenia ......................................................................................................................... 177 Rodzaje ograniczeń .................................................................................................... 178 Ograniczenia domeny ............................................................................................ 178 Ograniczenia encji ................................................................................................. 179 Ograniczenia integralności referencyjnej .................................................................. 179 Nazewnictwo ograniczeń ............................................................................................. 180 Ograniczenia kluczy .................................................................................................... 181 Ograniczenia PRIMARY KEY .................................................................................... 182 Ograniczenia FOREIGN KEY .................................................................................... 184 Ograniczenia UNIQUE ............................................................................................ 195 Ograniczenia CHECK ................................................................................................... 196 Ograniczenia DEFAULT ................................................................................................ 198 Definiowanie ograniczenia DEFAULT w poleceniu CREATE TABLE ............................... 199 Dodawanie ograniczenia DEFAULT do istniejącej tabeli ............................................. 199 Wyłączanie ograniczeń ................................................................................................ 200 Ignorowanie niewłaściwych danych podczas tworzenia ograniczenia .......................... 200 Tymczasowe wyłączenie istniejącego ograniczenia ................................................... 202 Reguły i wartości domyślne — kuzyni ograniczeń .......................................................... 204 Reguły .................................................................................................................. 204 Wartości domyślne ................................................................................................ 206 Określanie tabel wykorzystujących konkretne reguły i wartości domyślne ................... 207 Wyzwalacze a integralność danych ............................................................................... 208 Czego używać ............................................................................................................ 208 Podsumowanie .......................................................................................................... 209 Rozdział 7. Zwiększanie możliwości zapytań .........................................................................................211 Co to jest podzapytanie .............................................................................................. 212 Tworzenie podzapytania zagnieżdżonego ................................................................. 213 Podzapytania skorelowane .......................................................................................... 216 W jaki sposób działają podzapytania skorelowane .................................................... 216 Podzapytania skorelowane w klauzuli WHERE .......................................................... 217 Praca z wartościami NULL — funkcja ISNULL .......................................................... 221 Tabele pochodne ........................................................................................................ 222 Operator EXISTS ........................................................................................................ 224 Inne sposoby wykorzystania EXISTS ........................................................................ 226 Mieszanie typów danych — funkcje CAST i CONVERT ...................................................... 227 Kwestie wydajności .................................................................................................... 230 Lepiej używać złączeń, podzapytań czy czegoś innego? ............................................ 230 Podsumowanie .......................................................................................................... 232 Ćwiczenia .................................................................................................................. 232 Rozdział 8. „Być normalnym” — normalizacja i inne kwestie podstaw projektowania .................. 233 Tabele ....................................................................................................................... 234 Utrzymywanie danych „normalnymi” ............................................................................. 234 Zanim zaczniemy ................................................................................................... 235 Pierwsza postać normalna ..................................................................................... 237 Druga postać normalna ......................................................................................... 241 Trzecia postać normalna ........................................................................................ 242 Inne postacie normalne ......................................................................................... 244 Relacje ...................................................................................................................... 245 Jeden do jednego .................................................................................................. 245 8 SQL Server 2005. Programowanie. Od podstaw Jeden do jednego lub wielu .................................................................................... 247 Wiele do wielu ...................................................................................................... 249 Diagramy ................................................................................................................... 253 Tabele ................................................................................................................. 255 Dodawanie i usuwanie tabel .................................................................................. 256 Relacje ................................................................................................................. 262 Denormalizacja .......................................................................................................... 266 Poza normalizacją ...................................................................................................... 267 Prostota ............................................................................................................... 267 Wybór typów danych .............................................................................................. 267 Błędy w sposobie przechowywania .......................................................................... 268 Szkic prostego przykładu ............................................................................................. 269 Tworzenie bazy danych .......................................................................................... 269 Dodawanie diagramu i tabeli początkowej ............................................................... 269 Dodawanie relacji .................................................................................................. 274 Dodawanie ograniczeń ........................................................................................... 276 Podsumowanie .......................................................................................................... 278 Ćwiczenia .................................................................................................................. 278 Rozdział 9. Struktury danych i indeksów w SQL Server .................................................................... 279 Struktury danych w SQL Serverze ................................................................................. 279 Baza danych ......................................................................................................... 279 Zakres ................................................................................................................. 280 Strona .................................................................................................................. 280 Wiersze ................................................................................................................ 281 Podstawy indeksów .................................................................................................... 281 B-drzewa .............................................................................................................. 283 Sposób udostępniania danych w SQL Serverze ........................................................ 286 Tworzenie, modyfikacja i usuwanie indeksów ................................................................ 295 Polecenie CREATE INDEX ....................................................................................... 295 Tworzenie indeksów XML ....................................................................................... 302 Indeksy wywiedzione tworzone z ograniczeniami ...................................................... 303 Mądry wybór — jaki indeks, gdzie i kiedy go stosować .................................................. 303 Selektywność ....................................................................................................... 304 Przyglądanie się kosztom — gdy mniej znaczy więcej ............................................... 305 Wybieranie właściwego indeksu klastrowego ........................................................... 305 Kolejność kolumn ................................................................................................. 308 Usuwanie indeksów ............................................................................................... 308 Korzystanie z Database Engine Tuning Advisor ........................................................ 309 Utrzymywanie indeksów .............................................................................................. 309 Fragmentacja ........................................................................................................ 310 Identyfikacja fragmentacji a prawdopodobieństwo podziału stron .............................. 310 Podsumowanie .......................................................................................................... 314 Ćwiczenia .................................................................................................................. 315 Rozdział 10. Widoki .................................................................................................................................. 317 Proste widoki ............................................................................................................. 317 Widoki jako filtry ................................................................................................... 321 Bardziej złożone widoki ............................................................................................... 323 Wykorzystanie widoków do zmiany danych bez użycia wyzwalaczy INSTEAD OF ........... 326 Edycja widoków za pomocą T-SQL-a ............................................................................. 330 Spis treści 9 Usuwanie widoków ..................................................................................................... 330 Tworzenie i edycja widoków w SQL Server Management Studio ...................................... 330 Edycja widoków w SQL Server Management Studio .................................................. 334 Sprawdzanie — wyświetlanie istniejącego kodu ............................................................ 334 Ochrona kodu — szyfrowanie widoków ......................................................................... 336 Słowo o schemacie powiązania ................................................................................... 337 Upodabnianie widoków do tabel za pomocą VIEW_METADATA ........................................ 338 Widoki indeksowane (materializowane) ........................................................................ 338 Podsumowanie .......................................................................................................... 342 Ćwiczenia .................................................................................................................. 342 Rozdział 11. Tworzenie skryptów i programów wsadowych ............................................................. 343 Podstawy skryptów ..................................................................................................... 344 Instrukcja USE ...................................................................................................... 344 Deklaracja zmiennych ............................................................................................ 345 Użycie @@IDENTITY .............................................................................................. 349 Użycie @@ROWCOUNT .......................................................................................... 352 Batch ........................................................................................................................ 353 Błędy w programach wsadowych ............................................................................. 355 Kiedy korzystać z programów wsadowych ................................................................ 356 SQLCMD ................................................................................................................... 359 Dynamiczny SQL — tworzenie kodu „w locie” za pomocą polecenia EXEC ....................... 363 Zastosowania EXEC .............................................................................................. 364 Podsumowanie .......................................................................................................... 368 Ćwiczenia .................................................................................................................. 369 Rozdział 12. Procedury składowane ...................................................................................................... 371 Tworzenie procedury składowanej — podstawy składni .................................................. 372 Przykład prostej procedury ..................................................................................... 372 Zmiana procedury składowanej za pomocą ALTER ......................................................... 373 Usuwanie procedur składowanych ............................................................................... 374 Określanie parametrów ............................................................................................... 374 Deklaracja parametrów .......................................................................................... 374 Instrukcje sterujące przepływem danych ....................................................................... 379 Polecenie IF ... ELSE ............................................................................................. 380 Instrukcja CASE .................................................................................................... 390 Zapętlanie przy użyciu instrukcji WHILE ................................................................... 397 Instrukcja WAITFOR ............................................................................................... 398 Bloki TRY/CATCH .................................................................................................. 399 Potwierdzanie powodzenia lub niepowodzenia za pomocą wartości zwrotnych .................. 399 Jak używać RETURN .............................................................................................. 400 Obsługa błędów ......................................................................................................... 402 Dotychczasowe sposoby... ..................................................................................... 403 Bloki TRY/CATCH .................................................................................................. 409 Obsługa błędów przed ich wystąpieniem ................................................................. 412 Ręczne zgłaszanie błędu ........................................................................................ 415 Dodawanie własnych komunikatów o błędzie ........................................................... 419 Co oferuje procedura składowana ................................................................................ 422 Tworzenie wywoływalnych procesów ........................................................................ 423 Używanie procedur składowanych w celu zapewnienia bezpieczeństwa ...................... 424 Procedura składowana a wydajność ........................................................................ 425 10 SQL Server 2005. Programowanie. Od podstaw Rozszerzone procedury składowane (XPs) ..................................................................... 427 Krótkie spojrzenie na rekurencję .................................................................................. 428 Kolekcje .NET ............................................................................................................ 430 Podsumowanie .......................................................................................................... 432 Ćwiczenia .................................................................................................................. 432 Rozdział 13. Funkcje definiowane przez użytkownika ......................................................................... 435 Czym są funkcje użytkownika ...................................................................................... 435 Funkcje użytkownika zwracające wartości skalarne ............................................................. 437 Funkcje użytkownika zwracające tabele ........................................................................ 440 Zrozumienie jednoznaczności ................................................................................. 448 Debugowanie funkcji definiowanych przez użytkownika .................................................. 450 Zastosowanie .NET w bazach danych ........................................................................... 450 Podsumowanie .......................................................................................................... 451 Ćwiczenia .................................................................................................................. 451 Rozdział 14. Transakcje i blokady ......................................................................................................... 453 Transakcje ................................................................................................................. 453 BEGIN TRANSACTION ............................................................................................ 455 COMMIT TRANSACTION ......................................................................................... 455 ROLLBACK TRANSACTION ...................................................................................... 455 SAVE TRANSACTION .............................................................................................. 456 Jak działa dziennik SQL Servera .................................................................................. 456 Awaria i odtwarzanie .............................................................................................. 458 Domniemanie transakcji ........................................................................................ 459 Blokady i współbieżność ............................................................................................. 460 Jakim problemom mogą zapobiegać blokady ........................................................... 461 Blokowalne zasoby ................................................................................................ 464 Rozwijanie blokad i wpływ blokad na wydajność ....................................................... 465 Tryby blokowania ................................................................................................... 466 Kompatybilność blokad .......................................................................................... 468 Określanie konkretnego typu blokady — wskazówki optymalizatora ........................... 469 Określanie poziomu izolowania .................................................................................... 470 Obsługa zakleszczeń (lub błąd 1205) ........................................................................... 473 W jaki sposób SQL Server określa występowanie zakleszczenia ................................ 474 W jaki sposób wybierane są ofiary zakleszczenia ..................................................... 474 Unikanie zakleszczeń ............................................................................................ 474 Podsumowanie .......................................................................................................... 477 Rozdział 15. Wyzwalacze ....................................................................................................................... 479 Czym są wyzwalacze ................................................................................................... 480 Klauzula ON ......................................................................................................... 482 WITH ENCRYPTION ................................................................................................ 482 Użycie klauzuli FOR|AFTER i INSTEAD OF ................................................................. 482 WITH APPEND ....................................................................................................... 485 NOT FOR REPLICATION .......................................................................................... 486 AS ....................................................................................................................... 486 Użycie wyzwalaczy do określenia zasad integralności danych ......................................... 486 Obsługa wymagań pochodzących z innych tabel ....................................................... 486 Użycie wyzwalaczy w celu sprawdzenia delty aktualizacji ........................................... 488 Użycie wyzwalaczy w celu wywołania własnych komunikatów o błędach ...................... 490 Inne powszechne zastosowania wyzwalaczy .................................................................. 490 Spis treści 11 Inne kwestie związane z wyzwalaczami ......................................................................... 491 Wyzwalacze można zagnieżdżać ............................................................................. 491 Wyzwalacze mogą być rekurencyjne ........................................................................ 491 Wyzwalacze nie zapobiegają zmianom architektury ................................................... 492 Wyzwalacze można wyłączyć bez ich usuwania ......................................................... 492 Kolejność uruchamiania wyzwalaczy ....................................................................... 493 Wyzwalacze INSTEAD OF ............................................................................................. 495 Rozważania o wydajności ............................................................................................ 496 Działanie wyzwalaczy jest raczej reakcją niż akcją .................................................... 496 Wyzwalacze a problem współbieżności .................................................................... 496 Użycie IF UPDATE() i COLUMNS_UPDATED() ............................................................. 497 Twórz jak najprostsze wyzwalacze ........................................................................... 499 Nie zapominaj o wyzwalaczach, gdy wybierasz indeksy ............................................. 500 Unikaj cofania wewnątrz wyzwalaczy ....................................................................... 500 Usuwanie wyzwalaczy ................................................................................................. 500 Podsumowanie .......................................................................................................... 501 Rozdział 16. Krótki elementarz języka XML ......................................................................................... 503 Podstawy języka XML .................................................................................................. 504 Części składowe dokumentu XML ........................................................................... 505 Przestrzeń nazw .................................................................................................... 513 Zawartość elementów ............................................................................................ 515 Poprawność strukturalna a poprawność składniowa — schemat XML i DTD .................... 516 Co to ma wspólnego z systemem SQL Server? ............................................................. 517 Dostarczanie relacyjnych danych w formacie XML .................................................... 517 RAW .................................................................................................................... 519 AUTO ................................................................................................................... 521 EXPLICIT .............................................................................................................. 523 PATH .................................................................................................................... 539 OPENXML ............................................................................................................. 544 Dwa słowa o XSLT ...................................................................................................... 550 Podsumowanie .......................................................................................................... 552 Rozdział 17. Raport ze służby — spojrzenie na usługi raportowe .................................................... 553 Usługi raportowe ........................................................................................................ 554 Tworzenie prostego modelu raportu ............................................................................. 554 Widok źródła danych ............................................................................................. 559 Tworzenie raportów ............................................................................................... 565 Projekt serwera raportowego ....................................................................................... 568 Instalowanie raportu .............................................................................................. 573 Podsumowanie .......................................................................................................... 574 Rozdział 18. Integracja z usługami integracyjnymi ............................................................................. 575 Zrozumienie problemu ................................................................................................ 576 Używanie Import and Export Wizard do tworzenia podstawowych pakietów ...................... 576 Uruchamianie pakietów ............................................................................................... 583 Używanie Execute Package Utility ........................................................................... 583 Uruchamianie w SQL Server Business Intelligence Development Studio .................... 586 Uruchamianie w SQL Server Management Studio ..................................................... 586 Edycja pakietów ......................................................................................................... 587 Podsumowanie .......................................................................................................... 589 12 SQL Server 2005. Programowanie. Od podstaw Rozdział 19. Zabawa w administratora ................................................................................................. 591 Harmonogram zadań .................................................................................................. 592 Tworzenie kont operatorów .................................................................................... 593 Tworzenie zadań ................................................................................................... 595 Tworzenie kopii zapasowych i odtwarzanie bazy ............................................................ 607 Tworzenie kopii zapasowej ..................................................................................... 607 Recovery Models (modele odtwarzania) .................................................................. 611 Odtwarzanie ......................................................................................................... 612 Utrzymywanie indeksów .............................................................................................. 614 ALTER INDEX ........................................................................................................ 615 Archiwizacja danych .................................................................................................... 617 Podsumowanie .......................................................................................................... 618 Ćwiczenia .................................................................................................................. 619 Dodatek A Rozwiązania ćwiczeń ............................................................................................................ 621 Dodatek B Funkcje systemowe ............................................................................................................... 631 Dodatek C Używanie właściwych narzędzi .......................................................................................... 689 Dodatek D Bardzo proste przykłady połączeń ..................................................................................... 697 Dodatek E Instalacja i użycie przykładów ............................................................................................. 701 Skorowidz ............................................................................................................................................... 705 Skoro poznaliśmy już różne rodzaje obiektów występujących w systemie SQL Server, po- winniśmy dowiedzieć się, jak je znaleźć. Przyda się również wiedza na temat monitorowania systemu. W niniejszym rozdziale zapoznamy się z narzędziami oferowanymi przez SQL Server. Niektóre spełniają tylko kilka wysoce wyspecjalizowanych funkcji, inne pozwalają wyko- nać całą masę różnych zadań. Większość z nich jest częścią systemu SQL Server od dawna. Jedno jest pewne: wszystko, co ma jakikolwiek związek z zestawem narzędzi systemu SQL Server, zostało poddane gruntownemu przeglądowi podczas opracowywania wersji 2005. Głównym celem zespołu zajmującego się projektowaniem narzędzi tej edycji systemu było uproszczenie problemu zawartego w pytaniu: „Gdzie można znaleźć to narzędzie?”. Mogę powiedzieć, że z punktu widzenia początkujących użytkowników systemu cel ten został zrealizowany (oczywiście starzy wyjadacze, tacy jak ja, będą sobie zadawać pytanie: „Gdzie się to wszystko podziało?”). W tym rozdziale omówimy niektóre spośród poniższych narzędzi: n SQL Server Books Online, n SQL Server Configuration Manager, n SQL Server Management Workbench, n SQL Server Integration Services (SSIS) wraz z kreatorem importu i eksportu, n Database Engine Tuning Advisor, n Report Manager, n Bulk Copy Program (bcp), n SQL Server Profiler, n sqlcmd. 42 SQL Server 2005. Programowanie. Od podstaw Musisz uważać, jeśli zasięgasz rady znajomych, którzy posiadają doświadczenie w zakresie wersji systemu starszej niż SQL Server 2005. Zestaw narzędzi w najnowszej edycji systemu został opracowany na nowo i wiele rzeczy, do których przywykli użyt- kownicy wcześniejszych wersji serwera, występuje pod innymi nazwami, zostało prze- suniętych lub nawet usuniętych w celu integracji z innym narzędziem. Większość starych pojęć nadal gdzieś funkcjonuje, ale mogły one zmienić swoje miejsce. Czy Books Online to narzędzie? Wydaje mi się, że tak. Niezależnie od tego, ile razy prze- czytasz tę lub inne książki dotyczące systemu SQL Server, nie zdołasz zapamiętać wszyst- kiego, co musisz o nim wiedzieć. SQL Server jest jednym z moich flagowych produktów, a i tak nie mogę wszystkiego zapamiętać. Books Online to po prostu jedno z podstawowych narzędzi systemu SQL Server. Uważam, że książek lub innych materiałów dotyczących programowania nigdy nie jest za wiele. Zacząłem programować mniej więcej w 1980 r. Wtedy można było za- pamiętać większość rzeczy (choć nie wszystkie). Obecnie jest to po prostu niemożliwe. Jeśli jesteś wszechstronnym programistą (co jest dość trudne w obecnych czasach), masz po prostu zbyt wiele zagadnień do zapamiętania, zaś te rzeczy, których nie używasz każdego dnia, są tracone wraz z obumierającymi komórkami mózgu. Krótka rada: nie staraj się nawet zapamiętać tego wszystkiego. Trzeba pamiętać, że coś się da zrobić. Trzeba pamiętać to, co stanowi integralną podstawę naszych działań. Trzeba pamiętać o tym, z czym mamy codziennie do czynienia. I trzeba w końcu pamiętać o budowaniu księgozbioru podręcznego (zaczynając od tej książki). Books Online wykorzystują zmodernizowany interfejs pomocy online .NET, który zastępuje używany dotąd standardowy interfejs pomocy, stosowany w serii produktów technicznych Microsoft (BackOffice, MSDN i Visual Studio). Wszystko działa tutaj zgodnie z oczekiwaniami, więc nie będę się zagłębiał w szczegóły obsługi systemu pomocy. Wystarczy powiedzieć, że SQL Server Books Online to wspaniały poradnik, z którego można korzystać niezależnie od tego, na jakiej maszynie się pracuje. Books Online zazwyczaj zawierają też uaktualnione informacje, których nie można znaleźć w drukowanej dokumentacji. Nie w każdym systemie, na którym przyjdzie Ci pracować, zainstalowane będą Books Online (BOL). Dzieje się tak, gdyż można usunąć zaznaczenie opcji instalowania BOL w momencie instalacji serwera SQL. Zalecam jednak instalowanie BOL nawet wtedy, gdy dysponuje się mocno ograniczoną ilością miejsca na dysku. Nie zajmują one tak dużo miejsca, zwłaszcza jeśli rozważy się koszt jednego megabajta dysku. Dzięki dostępowi do tego poradnika na dowolnej maszynie z systemem SQL Server można zaoszczędzić mnóstwo czasu (na moim komputerze Books Online zajmują 100 MB). Rozdział 2. n Narzędzia 43 Rysunek 2.1 Z tego narzędzia najczęściej korzystają administratorzy odpowiedzialni za konfigurację komputerów w celu korzystania z bazy danych. Mimo to trzeba wiedzieć, jak ono działa. SQL Server Computer Manager jest nowym narzędziem, które pojawiło się w systemie SQL Server 2005. W rzeczywistości połączono w nim kilka funkcji, które stosowano wcze- śniej w kilku różnych narzędziach. Elementy, którymi można zarządzać za pomocą modułu Configuration Manager, należą do dwóch dziedzin: n zarządzania usługami, n konfiguracji sieci. 44 SQL Server 2005. Programowanie. Od podstaw Zarządzanie usługami SQL Server to duży produkt. Jego różne części korzystają z szeregu usług działających w tle. Pełna instalacja obejmuje siedem usług. Wszystkimi można zarządzać z poziomu modułu SQL Server Configuration Manager. Usługi, którymi można zarządzać z tego poziomu, obejmują: n SQL Server Analysis Services — obsługuje silnik Analysis Services. n SQL Server FullText Search — zgodnie z nazwą obsługuje silnik wyszukiwania pełnotekstowego. n SQL Server Reporting Services — silnik obsługujący raportowanie. n SQL Server Agent — główny silnik wykorzystywany przez wszystkie zadania zaplanowane w systemie SQL Server. Dzięki wykorzystaniu tej usługi można zaplanować wykonanie szerokiego zakresu prac (ang. jobs). Prace te mogą składać się z wielu etapów i mogą nawet rozdzielać się na różne zadania w zależności od wyników realizacji poprzednich zadań. Przykładami zadań wykonywanych przez SQL Server Agent mogą być wykonywanie kopii zapasowych lub rutynowe procesy importu i eksportu danych. n SQL Server — podstawowy silnik baz danych, który operuje na magazynach danych oraz zapytaniach i jest odpowiedzialny za konfigurację systemu. n SQL Server Browser — wspomaga rozgłaszanie systemu, aby umożliwić użytkownikom przeszukującym sieć lokalną sprawdzenie, czy na danej maszynie działa system SQL Server. n SQL Server Integration Services — obsługuje silnik SSIS. Konfiguracja sieci Na ogół kwestie związane z połączeniami sieciowymi zależą od konfiguracji sieci klienta i dopasowania konfiguracji klienta do ustawień zastosowanych na serwerze. SQL Server zapewnia kilka tzw. bibliotek sieciowych (ang. Net-Libraries lub NetLibs). Są to biblioteki dołączane dynamicznie (DLL), wykorzystywane przez SQL Server do komu- nikacji z niektórymi protokołami sieciowymi. NetLibs to pewnego rodzaju warstwa izolacji pomiędzy aplikacją kliencką a protokołem sieciowym, będącym w zasadzie językiem, za pomocą którego porozumiewają się między sobą karty sieciowe. Biblioteki te spełniają ten sam cel również na serwerze. NetLibs dostarczone w systemie SQL Server 2005 obejmują: n Named Pipes, n TCP/IP (domyślny), n Shared Memory, n VIA. Rozdział 2. n Narzędzia 45 VIA to biblioteka sieciowa stworzona w celu współpracy z bardzo szczególnym (i drogim) sprzętem. Jeśli pracujesz w środowisku VIA, to z pewnością znasz jego szczególne wymagania. Tym, którzy nie operują w tym środowisku, wystarczy po- wiedzieć, że VIA zapewnia bardzo szybkie, choć drogie, rozwiązanie umożliwiające sprawną komunikację między serwerami. Z reguły jednak nie używa się go w przy- padku zwykłego klienta. Jeśli klient i serwer mają się porozumiewać między sobą poprzez protokół sieciowy, muszą posiadać tę samą bibliotekę NetLib. Jeśli serwer nie obsługuje biblioteki sieciowej używa- nej przez klienta, to nie uda się nawiązać połączenia i wygenerowany zostanie komunikat o błędzie SQL Server Not Found (nie odnaleziono serwera SQL Server). Niezależnie od metody dostępu do danych i rodzaju zastosowanego sterownika (SQL Native Client, ODBC, OLE DB, DB-Lib) w każdym przypadku to właśnie sterownik będzie się komunikował z biblioteką NetLib. Przebieg tego procesu zilustrowano na rysunku 2.2. Jego kolejne etapy to: 1. Aplikacja kliencka nawiązuje kontakt ze sterownikiem (SQL Native Client, ODBC, OLE DB, DB-Lib). 2. Sterownik wywołuje bibliotekę NetLib klienta. 3. Biblioteka NetLib wywołuje odpowiedni protokół sieciowy i przesyła dane do biblioteki NetLib serwera. 4. Biblioteka NetLib serwera przekazuje żądania klienta do systemu SQL Server. Rysunek 2.2 Odpowiedź z systemu SQL Server wysyłana jest w tym samym porządku, ale w przeciwnym kierunku. Jeśli znasz protokół TCP/IP, to powinieneś wiedzieć, że domyślnym portem, na którym będzie nasłuchiwać IP NetLib, jest 1433. Port można porównać do kanału radiowego — sygnały „skaczą dookoła” na różnych częstotliwościach, ale możesz z nich odnieść jakąś korzyść tylko wtedy, gdy „nasłuchujesz” na właściwym kanale. 46 SQL Server 2005. Programowanie. Od podstaw Protokoły Zacznijmy od pytania: „Z czego możemy wybierać?”. Po uruchomieniu modułu SQL Server Configuration Manager i rozwinięciu listy drzewiastej SQL Server 2005 Network Configu- ration zobaczymy to, co zostało zaprezentowane na rysunku 2.3. Rysunek 2.3 Domyślnie włączona jest opcja Shared Memory i TCP/IP. W starszych wersjach pro- duktu — w zależności od wersji systemu operacyjnego lub SQL Servera — włączone były domyślnie różne opcje. Aby móc zdalnie połączyć się z systemem SQL Server (np. z serwera internetowego lub z dowolnego klienta w sieci), należy włączyć przynajmniej jedną z pozostałych bibliotek NetLib. Aby zobaczyć, czego nasz serwer mógłby nasłuchiwać, rozwiniemy element Protocols for SCHWEITZER, znajdujący się w grupie SQL Server 2005 Network Configuration, co zilu- strowano na rysunku 2.4. Należy pamiętać o tym, że jeśli klient ma nawiązać połączenie z serwerem, to serwer musi korzystać z tego samego protokołu co klient i nasłuchiwać na tym samym porcie. Dlatego też, gdybyśmy przebywali w środowisku potoków nazwanych (ang. named pipes), to być może musielibyśmy dodać nową bibliotekę. Aby tego dokonać, musielibyśmy przejść do elementu Protocols, kliknąć prawym przyciskiem protokół Named Pipes i wybrać polecenie Enable (włącz). Rozdział 2. n Narzędzia 47 Rysunek 2.4 W tym momencie mógłbyś zapytać, dlaczego nie włączymy po prostu wszystkich bi- bliotek NetLib. Chyba dzięki temu nie musielibyśmy się o nic martwić? Niestety w tej sytuacji, podobnie jak w przypadku dodawania czegokolwiek do serwera, efekt jest taki sam — spadek wydajności. W tym przypadku z jednej strony spowolniłoby to serwer (w niewielkim stopniu, ale jednak), a z drugiej mogłoby obniżyć poziom bez- pieczeństwa (po co zostawiać otwarte drzwi, jeśli nie zamierzamy ich używać?). Zobaczmy teraz, które protokoły powinniśmy wybrać i dlaczego. Named Pipes Potoki nazwane mogą być użyteczne, gdy niedostępny jest protokół TCP/IP lub nie mamy dostępu do serwera DNS (ang. Domain Name Server) pozwalającego na stosowanie nazw serwerów w sieciach TCP/IP. Podłączenie się za pomocą adresu IP, a nie nazwy, do systemu SQL Server obsługują- cego protokół TCP/IP jest technicznie wykonalne. Działa to zawsze, nawet wtedy, gdy nie istnieje usługa DNS — pod warunkiem że istnieje ustalona trasa z klienta do serwera (jeśli ma adres IP, to nie potrzebuje nazwy). 48 SQL Server 2005. Programowanie. Od podstaw TCP/IP TCP/IP został uznany za standardowy protokół sieciowy i był używany jako domyślny już w wersji SQL Server 2000. Jest to zresztą jedyna opcja w przypadku łączenia się z systemem SQL Server przez internet, który wykorzystuje przecież tylko IP. Nie należy mylić dwóch pojęć: czym innym jest udostępnienie serwera baz danych na użytek serwera internetowego, a czym innym umożliwienie bezpośredniego do- stępu do serwera baz danych z internetu. Można wystawić w internecie serwer in- ternetowy, który ma dostęp do niedostępnego bezpośrednio z internetu serwera baz danych (żądania do serwera baz danych przychodzące z internetu przechodzą przez serwer internetowy). Bezpośrednie wystawienie serwera baz danych w internecie stanowi ogromne za- grożenie bezpieczeństwa. Jeśli koniecznie trzeba to zrobić (i istnieją uzasadnione powody takiego działania), to należy zwrócić szczególną uwagę na zapewnienie od- powiednich środków bezpieczeństwa. Shared Memory Pamięć dzielona usuwa konieczność przekazywania parametrów między procesami, co jest sposobem pakowania informacji przed wysłaniem ich przez granice między procesami. Do- chodzi do tego w sytuacji, gdy klient i serwer zostały uruchomione na tej samej maszynie. Klient ma bezpośredni dostęp do tego samego odwzorowanego w pamięci pliku, w którym serwer przechowuje dane. Takie rozwiązanie jest bardzo szybkie. Można je zastosować tylko w przypadku lokalnego dostępu do serwera (tzn. z serwera internetowego zainstalowanego na tej samej maszynie co serwer baz danych), ale wiąże się z tym duży wzrost wydajności. Klient Poznaliśmy już wszystkie dostępne protokoły i dowiedzieliśmy się, który należy wybrać. Kiedy już wiemy, co oferuje nam serwer, możemy przejść do konfiguracji klienta. Usta- wienia domyślne z reguły będą działać doskonale. Spójrzmy jednak na posiadane przez nas możliwości. Po rozwinięciu elementu SQL Native Client Configuration należy wybrać Client Protocols, tak jak pokazano to na rysunku 2.5. W wersji SQL Server 2005 Microsoft wprowadził możliwość uruchomienia klienta za po- mocą jednego protokołu, a w przypadku niepowodzenia tej operacji wykorzystanie innego protokołu. W powyższym oknie najpierw korzystamy z Shared Memory, później TCP/IP, a następnie Named Pipes, w przypadku gdy TCP/IP nie działa zgodnie z definicją podaną w kolumnie Order. Jeśli nie zmienimy ustawień domyślnych (np. zmieniając priorytet za pomocą strzałek po wybraniu z menu kontekstowego danego protokołu polecenia Order), Shared Memory będzie pierwszą biblioteką NetLib wykorzystaną do połączenia z serwerem, którego nie ma na liście aliasów (następny element w SQL Native Client Configuration), kolejną będzie TCP/IP itd. Rozdział 2. n Narzędzia 49 Rysunek 2.5 Jeśli Twoja sieć obsługuje protokół TCP/IP, to Twój serwer też powinien go obsługiwać. IP wiąże się z mniejszymi narzutami czasowymi i po prostu działa szybciej. Nie ma po- wodu, dla którego miałbyś go nie wykorzystać. Należy jednak pamiętać, że w przypadku serwerów lokalnych (gdzie serwer i klient znajdują się na tym samym serwerze fizycznym) szybsza będzie biblioteka Shared Memory. Lista Aliases prezentuje wszystkie serwery, dla których zdefiniowano konkretną bibliotekę do realizacji połączeń. Oznacza to, że z jednym serwerem można się kontaktować przy użyciu IP, a z innym korzystając z Named Pipes. Wszystko zależy od wymagań konkretnego serwera. Na rysunku 2.6 pokazano klienta wykorzystującego Named Pipes do komunikacji z serwerem ARISTOTLE i używającego dowolnych ustawień domyślnych dla połączeń z in- nymi serwerami SQL Server. Jeszcze raz przypominam, że ustawienia w SQL Native Client Configuration na maszynie działającej w sieci muszą zapewniać obsługę domyślnego protokołu obsługiwanego przez serwer albo na liście Aliases musi istnieć wpis pozwalający na wybór biblioteki NetLib ob- sługiwanej przez serwer. Jeśli łączysz się z systemem SQL Server za pośrednictwem internetu (to naprawdę bardzo zły pomysł, ale niektórzy tak robią), to będziesz najprawdopodobniej stoso- wał rzeczywisty adres IP serwera zamiast jego nazwy. Związane jest to z problemem rozwiązywania nazw, który może się pojawić w przypadku pracy z systemem SQL Server w środowisku internetowym. Trzeba pamiętać o konieczności ręcznej zmiany adresu IP serwera, jeśli otrzyma on nowe IP. Nie można w tym względzie polegać na serwerach DNS. 50 SQL Server 2005. Programowanie. Od podstaw Rysunek 2.6 SQL Server Management Studio jest głównym centrum administracji systemu SQL Server. Dostarcza ono szereg funkcji do zarządzania serwerem za pomocą stosunkowo łatwego w użyciu graficznego interfejsu użytkownika. SQL Server Management Studio to zupełnie nowy moduł, który pojawił się w wersji SQL Server 2005. Środowisko to, przypominające nieco DevStudio IDE, zapewnia niezliczoną ilość funkcji realizowanych dotąd za pomocą osobnych narzędzi. Tematyka niniejszej książki nie pozwala na omówienie wszystkich zagadnień związanych z SQL Server Management Studio. Dokonamy jednak szybkiego przeglądu jego możliwości: n Tworzenie, edycja i usuwanie baz danych i obiektów bazy danych. n Zarządzanie zadaniami, takimi jak wykonywanie kopii zapasowych i uruchamianie pakietów SSIS. n Wyświetlanie informacji dotyczących bieżącej aktywności, np. zalogowanych użytkowników, blokad obiektów i podłączonych klientów. n Zarządzanie bezpieczeństwem oraz takimi elementami jak role, loginy oraz zdalne i sprzężone serwery. n Inicjacja i zarządzanie usługami pocztowymi bazy danych (ang. Database Mail Service). Rozdział 2. n Narzędzia 51 n Tworzenie katalogów wyszukiwania pełnotekstowego i zarządzanie nimi. n Zarządzanie ustawieniami konfiguracyjnymi serwera. n Tworzenie i zarządzanie bazami publikatorów i subskrybentów na potrzeby replikacji baz danych. Ponieważ w tej książce będziemy często używać narzędzia SQL Server Management Studio, przypatrzmy się teraz jego najważniejszym funkcjom. Rozpoczęcie pracy Gdy po raz pierwszy uruchamiamy SQL Server Management Studio, wyświetla się okno dialogowe, takie jak zaprezentowane na rysunku 2.7. Rysunek 2.7 Ekran logowania może być nieco inny niż ten przedstawiony na rysunku i zależy od tego, czy użytkownik logował się wcześniej, na którą maszynę się logował i jakiego loginu używał. Chociaż większość opcji na ekranie logowania nie wymaga wyjaśnień, to omówimy kilka z nich. Server Type Typ serwera służy do wyboru podsystemu SQL Servera, do którego użytkownik chce się zalogować (zwykły serwer baz danych, Analysis Services, Reporting Services, SQL Server Mobile lub Integration Services). Należy upewnić się, że logujemy się do właściwego serwera, ponieważ wszystkie te rodzaje „serwerów” mogą być określane za pomocą tej samej nazwy. SQL Server Jak nietrudno zgadnąć, ustala się tu SQL Server, do którego chcemy się zalogować. W na- szym przykładzie wybraliśmy serwer SCHWEITZER pracujący lokalnie. Chcemy się po prostu zalogować do domyślnej instancji systemu SQL Server działającej na tej samej ma- szynie, niezależnie od nazwy tej maszyny. 52 SQL Server 2005. Programowanie. Od podstaw SQL Server pozwala na jednoczesne działanie wielu „instancji” systemu SQL Server. Dzieje się tak dzięki ładowaniu do pamięci osobnych i niezależnych od siebie silników SQL Server. Domyślna instancja serwera ma taką samą nazwę jak maszyna działająca w sieci. Oczywi- ście można zmienić nazwę serwera po instalacji, ale jest to co najmniej problematyczne, a czasami prowadzi do awarii serwera. Dodatkowe instancje serwera SQL będą nosić takie same nazwy jak instancja domyślna (w tej książce najczęściej SCHWEITZER lub ARI- STOTLE). Dodatkowo w nazwie znajdzie się znak dolara i nazwa instancji, np. ARISTO- TLE$POMPEII. Serwer lokalny będzie korzystał z biblioteki Shared Memory, niezależnie od tego, którą bi- bliotekę wybierzemy do kontaktowania się z innymi serwerami. Ma to swoje dobre i złe strony. Niestety tracimy w ten sposób kontrolę (niezależnie od naszego wyboru SQL Server zawsze będzie używał Shared Memory). Z drugiej strony nie trzeba pamiętać, na którym serwerze obecnie się pracuje, a ponadto w związku z pracą na lokalnej maszynie wzrasta wydajność. Jeśli będziemy korzystać z rzeczywistej nazwy serwera, to komunikacja będzie się odbywać poprzez stos sieciowy. Chociaż praca nadal przebiega na tej samej fizycznej maszynie, spada wyd
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

SQL Server 2005. Programowanie. Od podstaw
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


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