Rozdział 3.
Narzędzia i usługi SQL Servera 2000
Wcześniejsze rozdziały opisywały instalację SQL Servera 2000. Przeprowadzenie instalacji nie jest trudne i nie powinno stanowić problemu. Natomiast bardzo istotne jest określenie właściwych ustawień podczas instalacji. Po dokonaniu wyboru, zmiana wybranych ustawień jest dość trudna jednak w SQL Server 2000 można zmieniać ustawienia kolejności sortowania od poziomu bazy danych, do poszczególnych kolumn każdej tabeli. Zmiana innych ustawień została uproszczona przez wykorzystanie narzędzi do zarządzania bazą danych dostarczanych wraz z tym produktem.
Niniejsza lekcja omawia wszystkie możliwe do zainstalowania narzędzia. W lekcji tej zostaną omówione narzędzia dostępne z menu Start, jak również usługi, które są uruchamiane z wiersza poleceń oraz te, które nie posiadają swoich skrótów w menu Start. Usługi tego typu są głębiej ukryte, jednak dobrze jest znać ich możliwości.
Grupa programowa Microsoft SQL Server
Najlepszym miejscem do rozpoczęcia pracy z dostępnymi narzędziami jest grupa SQL Server 2000 w menu Start. Aby otworzyć tę grupę należy kliknąć Start, Programy i Microsoft SQL Server (zobacz Rysunek 3.1). Warto zauważyć, że instalowana jest tylko jedna kopia narzędzi, bez względu na ilość zainstalowanych --> kopii (instancji)[Author:jac] [Author ID1: at Wed Feb 7 01:13:00 2001 ] SQL Servera. Warto również zwrócić uwagę, że przy aktualizacji z SQL Servera 7.0 do wersji SQL Server 2000, nowsze narzędzia całkowicie zastępują starsze - z wersji 7.0. Narzędzia SQL Servera 2000 mogą współpracować z wersją SQL Server 7.0.
Rysunek 3.1. Grupa programowa Microsoft SQL Server |
|
Jest to główna grupa narzędzi, wykorzystywanych podczas budowy aplikacji baz danych serwera SQL oraz służących do administracji SQL Servera. Należy zapoznać się dobrze z każdym z narzędzi, ponieważ wszystkie będą wykorzystywane w kolejnych rozdziałach tej książki. W niniejszej lekcji narzędzia zostaną przedstawione w kolejności w jakiej chciałby je prawdopodobnie przeglądać użytkownik, a nie w kolejności w jakiej występują w menu Start.
Plik readme.txt
Najlepiej rozpocząć od pliku readme.txt. Plik ten zawiera istotne informacje, które należy przeczytać przed instalacją oraz informacje, które nie zostały ujęte w podręczniku obsługi przed wprowadzeniem produktu na rynek. Należy przeglądnąć ten plik, aby upewnić się, czy czegoś nie należy wykonać lub zmienić przed przystąpieniem do pracy z SQL Serverem 2000. Oczywiście, plik ten należy przeczytać przed rozpoczęciem instalacji.
Books Online
SQL Server Books Online to podstawowe źródło informacji o serwerze. Pomoc Books Online jest wydawana zamiast papierowej wersji podręczników, mimo to można zamówić wersję książkową w firmie Microsoft. Książki te są wydawane w postaci zbioru stron HTML, więc można z nich korzystać przy pomocy Microsoft Internet Explorera 5 lub nowszego. Rysunek 3.2 prezentuje dokumentację SQL Server Books Online.
Rysunek 3.2. SQL Server Books Online |
|
Książki Books Online dostarczają funkcji, których można się spodziewać w zbiorze podręczników - możliwość przeglądania i wyszukiwania informacji oraz wydruku kopii papierowych. W celu wydrukowania danego tematu wystarczy kliknąć prawym klawiszem myszy dany temat i wybrać opcję Print. Następnie należy określić czy ma zostać wydrukowana jedynie strona bieżąca czy również wszystkie podstrony.
Ze względów ekonomicznych (znaczne zużycie papieru) należy unikać drukowania tematów poczynając od najwyższego poziomu.
Domyślnie lewy panel Books Online jest podzielony na cztery zakładki:
Spis treści (Contents) - zakładka ta pokazuje wszystkie podręczniki SQL Server Book, tak jakby były kopiami papierowymi. Jeżeli wiadomo, w której książce znajduje się dany temat, wystarczy jedynie rozwinąć tę książkę (przy pomocy kliknięcia znaku plus [+]) aby zobaczyć jej zawartość. W większości książek znalezienie tematu wymaga przejścia przez kilka poziomów danej książki.
Indeks (Index) - jest to posortowana lista wszelkich słów kluczowych występujących w podręcznikach (Books), ułożona w kolejności alfabetycznej. Należy wpisać nazwę lub szukane słowo, a indeks przewinie się do pozycji najbardziej zbliżonej do wpisanego wyrażenia. Aby wyświetlić zawartość (lub wybrać właściwe słowo, w przypadku gdy zostało znalezione kilka pasujących pozycji) należy kliknąć dwukrotnie wybraną pozycję indeksu.
Wyszukaj (Search) - Z tej zakładki użytkownik korzysta najczęściej. Należy po prostu wpisać pojęcie, polecenie lub opcję, których znaczenie nie jest znane i kliknąć Wyświetl tematy . Zostaną wyświetlone rezultaty wyszukiwania. Ponownie, należy kliknąć dwukrotnie wybraną pozycję, a jej zawartość zostanie wyświetlona w prawym panelu.
Ulubione (Favourites) - podobnie jak Internet Explorer zakładka ta umożliwia przetrzymywanie listy ulubionych tematów pomocy, co pozwala szybko znaleźć potrzebny temat przez kliknięcie odpowiedniej pozycji bez żmudnego przeszukiwania książek. Podczas przeglądania tematu wystarczy kliknąć przycisk Dodaj (zobacz Rysunek 3.3). Kiedy potrzeba wrócić do tego tematu, wystarczy kliknąć odpowiednią pozycję na liście Ulubione (Favourites).
Rysunek 3.3. Zakładka Ulubione Books Online |
|
SQL Server Books Online zostały rozdzielone na kilka „książek”, które można przeglądnąć korzystając z zakładki Zawartość (Contents). Każda z książek została omówiona w kolejnych sekcjach.
Getting Started
Książka ta zawiera odnośniki do pozostałych książek; konwencję dokumentacji (co pozwala zrozumieć składnię wyrażeń i inne opcje formatowania); listę narzędzi, kreatorów i innych własności SQL Servera. Ponadto zawiera informacje na temat kontaktu z SQL Server Technical Support. Książka ta zawiera również informację o dostępności dla inwalidów oraz na temat zgodności wstecz, z wcześniejszymi wersjami. Każdy powinien przeczytać tę książkę - jest krótka, ale bardzo pomaga w późniejszym korzystaniu z Books Online.
What's New
Książka ta zawiera krótki przegląd własności produktu, które są nowe dla osób, używających wcześniejszych wersji SQL Servera. Zaleca się przeczytanie tej książki osobom, które używały wcześniejszych wersji, aby dowiedziały się co uległo zmianie.
Installing SQL Server
Książka ta zawiera szczegółowe informacje na temat ustawień nowej kopii SQL Servera 2000. Zagadnienia zawarte w tej książce zostały przedstawione już wcześniej w rozdziale 2 „Instalacja Microsoft SQL Servera 2000”.
SQL Server Architecture
Książka ta przedstawia szczegółowy opis architektury SQL Servera 2000. Dostarcza wielu szczegółów na temat pracy SQL Servera oraz jego współpracy z otoczeniem. Większość informacji z tej książki będzie podana w kolejnych rozdziałach, ale warto zapoznać się z sekcją „Implementation Details”, gdzie można znaleźć opis wszelkich udokumentowanych ograniczeń SQL Servera. Przykładowo, można znaleźć informacje na temat dopuszczalnego rozmiaru bazy danych, dopuszczalnej ilości tabel oraz wiele innych szczegółów.
Administering SQL Server
Książka ta omawia administrację SQL Servera. Ponieważ niniejsza książka „ --> SQL Server 2000 dla każdego[Author:JG] ” przekazuje wiedzę, która pozwala na prowadzenie podstawowej administracji SQL Servera, więc nie ma potrzeby przeglądania tej części Books Online.
Creating and Maintaining Databases
Książka ta dokumentuje tworzenie bazy danych i wszelkich obiektów, zawartych w bazie. Również w tym przypadku książka „SQL Server 2000 dla każdego” przekazuje podstawy potrzebne do codziennej pracy, dlatego nie jest wymagane przeczytanie części „Creating and Maintaining Databases”.
Creating and Using Data Warehouses
Książka ta omawia tworzenie hurtowni danych, specjalnego typu bazy danych. Proces tworzenia i zarządzania hurtowniami danych stał się specjalnością samą w sobie, odrębną od ogólnej konstrukcji bazy danych. Należy zapoznać się z tą książką, jeżeli planuje się budowę lub obsługę hurtowni danych. Na ogół hurtownie danych bazują na podstawowym zrozumienia budowy „zwyczajnych” baz danych, tak więc wiedza na temat SQL Servera daje silne podstawy w późniejszej pracy z hurtownią danych. Hurtownie danych, o których krótka wzmianka znajduje się w rozdziale 22 „Przegląd usług analizy” nie są tematem niniejszej książki.
Accessing and Changing Relational Data
Książka ta wyjaśnia zasady zadawania zapytań i modyfikacji danych SQL Servera. Nie ma potrzeby studiowania tej części Books Online, ze względu na wiadomości zawarte w całości książki „SQL Server 2000 dla każdego”.
XML and Internet Support
Książka ta dokumentuje obsługę XML przez SQL Server 2000. Temat ten został obszernie omówiony w rozdziale 21 „ Korzystanie z XML w SQL Serverze 2000”. Jednak, jak w przypadku innych tematów wiele zaawansowanych szczegółów można przestudiować w Books Online.
Transact-SQL Reference
Odniesienie to zawiera dokładną składnię wywoływania obiektów SQL Servera. Można tutaj sprawdzić składnię polecenia T-SQL, procedury składowanej lub funkcji. Wszelkie niezbędne polecenia zostaną omówione w niniejszej książce, niemniej jednak warto pamiętać, że można szybko odnaleźć potrzebne informacje w Books Online.
Optimizing Database Performance
Książka ta prezentuje informacje na temat strojenia wydajności SQL Servera. Rozdział 20 „Podstawy monitorowania wydajności oraz narzędzia” może pomóc w opanowaniu podstaw strojenia wydajności i monitorowania, wiele dodatkowych informacji pojawi się również w kolejnych rozdziałach. Jednakże strojenie wydajności to rozległy temat, warto więc zapoznać się z tą częścią Books Online (przed ukończeniem czytania tej książki). Dodatkowe informacje na temat strojenia wydajności można również znaleźć w książce Microsoft SQL Server 2000 Unleashed wydawnictwa Sams Publishing.
Replication
Książka ta omawia replikację SQL Servera 2000. Pełny zakres informacji na temat replikacji zawierają rozdziały 16 „Metodologie projektowania replikacji” oraz 17 „Implementacja metod replikacji”, dlatego nie ma potrzeby poświęcać czasu na czytanie tej części Books Online.
Data Transformation Services
W tej części Books Online zostało omówione narzędzie DTS (data transformation services). Większość zagadnień z tego tematu została zaprezentowana w rozdziale 19 „Migracja danych pomiędzy serwerami baz danych”. DTS jest skomplikowanym narzędziem i jego omówienie mogłoby zająć całość 21 rozdziałów tej książki. Dlatego, w przypadku zaawansowanych transformacji można się odwołać do tej części Books Online. Można również przestudiować książkę Microsoft SQL Server 2000 Transformation Services (DTS) wydaną przez Sams Publishing.
Analysis Services
Ta część Book Online wyjaśnia Analysis Services, znane jako usługi OLAP w SQL Serverze 7.0. W niniejszej książce, w dodatkowym rozdziale 22 „Analysis Services” znajduje się krótkie omówienie tych usług. Mimo to warto zapoznać się szczegółowo z tą częścią Books Online.
English Query
Ta część Books Online omawia Microsoft English Query. Również w tym przypadku, w dodatkowym rozdziale 23 „English Query” zostało umieszczone krótkie omówienie tego zagadnienia.
Meta Data Services
W tej części Books Online zostało omówione narzędzie Meta Data Services (znane w wersji SQL Server 7.0 jako Microsoft Repository). Dodatkowy rozdział 22 zawiera krótki przegląd możliwości Meta Data Services.
Building SQL Server Applications
Jest to dość duża część (książka). Zawiera ona odniesienia programowe dotyczące różnych klientów i technologii serwerów. Istotne jest, że wszystkie ważniejsze polecenia występują w niniejszej książce. Nie jest ona bibliografią opisującą programowanie klienta, więc niektóre zagadnienia z tej części Books Online mogą okazać się przydatne - w szczególności przy pisaniu programów klientów przy użyciu otwartej komunikacji między bazami danych (ODBC), Object Linking and Embedding Database (OLE DB) lub ActiveX Data Objects (ADO). W tej sekcji jest również udokumentowany programowalny interfejs administracyjny SQL Servera - SQL Distributed Management Object (SQL-DMO).
Using the SQL Server Tools
Książka ta obejmuje materiał omawiany w niniejszym rozdziale - przegląd każdego z narzędzi SQL Servera. Dalsza części niniejszej książki wymaga korzystania z narzędzi, więc pod koniec nauki użytkownik powinien dojść do wprawy w ich używaniu.
Troubleshooting
Książka ta wyjaśnia najczęściej spotykane problemy oraz ich rozwiązania. Po przestudiowaniu wszystkich 21 rozdziałów użytkownik nie powinien mieć kłopotów z rozwiązaniem większości problemów, bez potrzeby odwoływania się do tej części Books Online. Jednak, w razie potrzeby książka ta jest zawsze dostępna.
Glossary
Glossary wyjaśnia pojęcia używane w książkach SQL Server Books Online. Dla wygody, słownik pojęć został umieszczony również w tej książce.
How to
Książka ta wyjaśnia jak przeprowadzić pewne operacje przy użyciu Transact-SQL, narzędzi i usług SQL Server i innych interfejsów programowych. Na ogół nie korzysta się z tej książki bezpośrednio, jedynie przez system odnośników (skoków) z innych książek, które przenoszą do odpowiedniego tematu How to.
Service Manager
Narzędzie SQL Server Service Manager pozwala na kontrolę usług związanych z SQL Serverem na danym komputerze (lub dowolnym komputerze z SQL Serverem w sieci). Po uruchomieniu tego narzędzia na ekranie ukaże się okno przedstawione na rysunku 3.4.
Rysunek 3.4. Narzędzie SQL Server Service Manager |
|
Pole Server zawiera nazwę serwera, który jest monitorowany. Pole Services pokazuje, które usługi będą testowane. Narzędzie posiada również graficzną reprezentację stanu danej usługi. Gdy usługa jest uruchomiona, wyświetlana jest zielona strzałka, oznaczająca, że SQL Server jest uruchomiony. Jak zostało wspomniane w rozdziale 2, Service Manager jest główną usługą, która uruchamia SQL Server.
W wersji SQL Server 7.0, bieżące nazwy usług, takie jak MSSQLServer i SQLServerAgent były wyświetlane w tym narzędziu. Po wprowadzeniu wielu instancji w SQL Serverze 2000, grupa projektantów SQL Servera zdecydowała, że łatwiej będzie nazywać usługi odpowiednio „SQL Server” i „SQL Server Agent”. Jednak, w przypadku obsługi domyślnej instancji SQL Servera, nazwa usługi to MSSQLServer dla SQL Servera i SQLServerAgent dla usługi Agenta. W przypadku kopii nazwanych, uruchamianie i zatrzymywanie SQL Servera jest rzeczywiście kontrolowane przez usługę MSSQL$nazwa_kopii, tak jak to było mówione wcześniej.
Można również zatrzymać lub wstrzymać usługę. Niektóre usługi nie obsługują wstrzymywania. Jednak działanie poszczególnych usług obsługujących wstrzymywanie również się od siebie różni. Na przykład, usługa SQL Server pracuje nadal po wstrzymaniu, ale nie zezwala na nowe połączenia.
Narzędzie Service Manager zawiera również opcję automatycznego uruchomienia każdej usługi (autostart) przy uruchamianiu systemu operacyjnego. Opcja ta jest przydatna zwłaszcza w komputerach z systemem Windows 9x, ponieważ te komputery nie posiadają usług, które mogą być skonfigurowane do automatycznego uruchomienia. Należy upewnić się, czy zostało zaznaczone pole Auto-start service when OS starts dla każdej usługi, która ma być uruchamiana automatycznie.
Lista rozwijalna Services pokazuje wszystkie usługi dostępne z tego narzędzia. Należą do nich usługi SQL Server, SQL Server Agent, Distributed Transaction Coordinator i Microsoft Search. Można również wybrać z listy rozwijalnej Server inny dostępny serwer. Kopie nazwane są również pokazane na liście rozwijalnej; przykładowo, jak pokazano na rysunku 3.5 osobno jest pokazana kopia DOM-1\TRADE.
Rysunek 3.5. Kopia nazwana w SQL Server Service Manager |
|
Usługi Distributed Transaction Coordinator i Microsoft Search są dostępne w Service Manager dla każdej kopii nazwanej, jak również dla kopii domyślnej. Usługi te są pokazane dla wygody, nadal pozostaje tylko jedna kopia każdej z usług na danym komputerze, współdzielona przez wszystkie kopie SQL Servera.
W pewnym stopniu lista może nie być wiarygodna, narzędzie jest na tyle elastyczne, że zezwala na wpisanie nazwy serwera (lub nazwa_serwera\nazwa_kopii), który chce się przetestować. Po wpisaniu nazwy serwera należy kliknąć rozwijalną listę Services. Service Manager będzie próbował połączyć się ze zdalnym serwerem i wyliczyć zainstalowane usługi.
Cały zestaw funkcji tej aplikacji dostępny jest również z SQL Server Enterprise Manager. Jednak Service Manager jest uruchamiany z paska narzędzi przez co dostęp do niego jest łatwiejszy.
Na tym etapie sprawdzane są zabezpieczenia. Należy posiadać uprawnienia administratora Windows NT/2000 lub operatora na serwerze, z którym się łączy, aby mieć możliwość kontrolowania usług (jeżeli na zdalnym komputerze działa system Windows NT/2000). Uprawnienia SQL Servera nie mają związku z uprawnieniami Windows 2000, czyli funkcja administratora SQL Servera nie gwarantuje, że będzie można kontrolować usługi SQL Servera.
SQL Server Service Manager ma zestaw funkcji w pewnym stopniu ukrytych. Kliknij ikonę w górnym, lewym rogu aplikacji. Ukaże się zwykłe menu aplikacji z kilkoma dodatkami (zobacz rysunek 3.6). Warto zauważyć, że dostępne są dwie dodatkowe pozycje menu do wyboru: Connect i Options.
Rysunek 3.6. Dodatkowe własności narzędzia SQL Server Manager |
|
Connect
Jeżeli zostanie wpisany lub wybrany zdalny komputer z listy pola Server, można się z nim połączyć korzystając raczej z menu niż klikając listę z pola Services. Obydwie te techniki wykonują tą samą operację - próbują łączyć się ze zdalnym komputerem aby określić stan usług SQL Servera.
Options
Po wybraniu pozycji menu Options, na ekranie pojawi się okno z rysunku 3.7. W tym oknie dialogowym można wpisać opcje dla SQL Managera, takie jak domyślna usługa.
Rysunek 3.7. Okno Options w SQL Server Service Manager |
|
Ustawianie Default service Domyślna usługa określa, która z usług SQL Servera jest monitorowana (jak pokazuje pasek zadań) domyślnie po uruchomienia aplikacji Service Manager (na ogół po zalogowaniu się). Jeżeli w danym momencie istotniejsze jest śledzenie usługi SQL Server Agent zamiast SQL Server należy zmienić w tym miejscu ustawienia domyślne.
Ustawienie Polling Interval Polling interval określa jak często aplikacja Service Manager sprawdza stan monitorowanych usług. Domyślnym ustawieniem jest 5 sekund. Oznacza to, że aplikacja co 5 sekund żąda od serwera określenia stanu wszystkich usług związanych z SQL Serverem.
Verify Service Control Action Opcja ta jest dostępna domyślnie. Klikając na odpowiednią ikonę, podejmowana jest odpowiednia akcja, ale tylko w przypadku potwierdzenia zapytania Are You Sure...? w oknie dialogowym (zobacz rysunek 3.8). Aby wyłączyć weryfikację i łatwo zatrzymywać i uruchamiać usługi po naciśnięciu odpowiedniej ikony, należy wyczyścić pole wyboru w oknie SQL Server Service Manager Options.
Rysunek 3.8. Okno SQL Server Managera: Are You Sure...? |
|
Narzędzie Client Network
Narzędzie Client Network nie jest trudne w użytkowaniu, ale ma znaczący wpływ na połączenia komputera klienta z SQL Serverem. Po uruchomieniu tego narzędzia ukaże się okno pokazane na rysunku 3.9.
Rysunek 3.9. Narzędzie SQL Server Client Network |
|
Okno to informuje, która biblioteka sieciowa jest używana domyślnie przy próbie połączenia z dowolnym serwerem SQL poprzez oprogramowanie klienta SQL Server. Można wyobrazić sobie tą sytuację na przykładzie języka naturalnego. Serwer mówi jedynie po angielsku i po francusku, a użytkownik próbuje mówić po niemiecku. Serwer nie rozumie go i nie może odpowiedzieć. W wersji SQL Server 2000 nastąpiła zmiana domyślnej biblioteki sieciowej na stałe na TCP/IP (Transmission Control Protocol/Internet Protocol) Sockets, bez względu na system operacyjny.
W wersji SQL Server 7.0, wybór biblioteki sieciowej zależał od systemu operacyjnego: na komputerach z systemem Windows NT, domyślnie była używana biblioteka Named Pipes, natomiast na komputerach z Windows 9x, domyślnie była używana biblioteka sieciowa TCP/IP Sockets.
Wcześniejszy rozdział omawiał każdą z bibliotek sieciowych podczas instalacji. Należy wybrać bibliotekę, która najlepiej pasuje do danego środowiska. „Uniwersalną” biblioteką sieciową jest TCP/IP Sockets, więc wybór tej opcji powinien pozwolić na połączenie z dowolnym serwerem SQL, bez względu na to w jakim systemie operacyjnym jest on uruchomiony. Biblioteka Named Pipes jest wymagana na komputerach z systemem Windows NT/2000, więc również jest przydatna. Jednak firma Microsoft wycofuje się z biblioteki Named Pipes, więc pozostanie przy TCP/IP Sockets jest dobrym wyborem.
Podczas połączenia przy użyciu nazwy serwera w postaci „local” lub „.” (pojedynczej kropki), domyślna biblioteka sieciowa zostaje ominięta i następuje połączenie do kopii zainstalowanej lokalnie. W przypadku kopii nazwanej, należy użyć .\nazwakopii. Korzystając z tej opcji, wykorzystuje się (domyślnie) sieciową bibliotekę pamięci współdzielonej. Gdy zainstalowane są narzędzia klienta SQL Servera 2000, ominięcie bibliotek sieciowych i używanie pamięci współdzielonej odbywa się automatycznie, nawet w przypadku używania składni nazwaserwera lub nazwaserwera\nazwakopii w celu podłączenia. Osoby używające wcześniej SQL Servera będą zapewne przyzwyczajone do używania kropki do połączeń lokalnych.
Jeżeli zostanie wybrana biblioteka sieciowa, której serwer nie obsługuje, próba połączenia zakończy się błędem Specified SQL Server Not Found. Błąd ten może oznaczać, że usługa SQL Server nie jest uruchomiona na zdalnym komputerze, ale może również oznaczać, że serwer nie obsługuje tej biblioteki sieciowej, która jest używana w tej próbie połączenia.
Dwie kolejne opcje w dolnej części okna to Force Protocol Encryption i Enable Share Memory Protocol. Protokół pamięci współdzielonej jest używany do połączenia z lokalną instalacją SQL Servera, ale można go wyłączyć, korzystając z tej opcji. Wydajność jest lepsza w połączeniu lokalnym przy pomocy protokołu pamięci współdzielonej.
Opcja Force Protocol Encryption wymaga, aby każde połączenie z komputera klienta uzgadniało szyfrowanie z SQL Serverem, do którego klient się łączy. Ponieważ wersje SQL Servera wcześniejsze od SQL Servera 2000 nie posiadają szyfrowania sieciowego tego typu, połączenie z wcześniejszą wersją nie jest możliwe, również z poziomu aplikacji na danym komputerze. Nawet w przypadku komputerów z SQL Serwerem 2000, serwer musi posiadać certyfikat dla zainstalowanego serwera. Certyfikaty zostaną omówione w późniejszej części tego rozdziału.
Zakładka Alias
Można również ominąć domyślne ustawienia i połączyć się z serwerem nazwanym przy pomocy specjalnego protokołu sieciowego. Przykładowo, w przypadku gdy serwer nazywa się Sales, kopia SQL Servera obsługuje jedynie NWLink IPX/SPX Net Library, a pozostałe serwery używają TCP/IP Sockets, można dodać wpis na tej zakładce. Należy kliknąć zakładkę Alias, następnie Dodaj, aby wyświetliło się okno pokazane na rysunku 3.10. Należy wybrać NWLink IPX/SPX (lub inną bibliotekę, która ma być używana), wpisać nazwę aliasu serwera (w tym przypadku SALES) i skonfigurować pozostałe dodatkowe pola (jak np.: service name). Każda biblioteka sieciowa obsługuje inne opcje konfiguracyjne. Należy kliknąć OK, aby dodać serwer z wybranym protokołem. Po wykonaniu tych czynności, za każdym razem, po wpisaniu SALES jako nazwy serwera w dowolnej aplikacji lub narzędziu SQL Servera z tego komputera, będzie używana biblioteka NWLink IPX/SPX Net Library.
Rysunek 3.10. Okno Add Network Library Configuration. |
|
Wcześniej zostało wspomniane, że na komputerze klienta musi być zainstalowany MDAC 2.6 (wersja, która weszła wraz z SQL Server 2000), aby mógł on połączyć się z kopią nazwaną SQL Servera 2000. Jednak, można użyć innego sposobu - aliasu. Przykładowo, aby podłączyć się do kopii o nazwie TRADE na komputerze RHOME, nazwą potoku nazwanego będzie \\rhome\pipe\MSSQL$Trade\sql\query. Należy więc podać nazwę aliasu dla nazwy serwera (np.: NAMEDISNT), określić Named Pipes jako protokół a następnie wpisać nazwę potoku. Po wykonaniu tych operacji, każdorazowo, wpisując NAMEDINST nastąpi połączenie przy pomocy potoku nazwanego do kopii nazwanej. Rozwiązanie to jest bardzo przydatne jeśli, z jakiegoś powodu nie można uaktualnić oprogramowania klienta na komputerach, ale nadal istnieje potrzeba łączenia się z kopią nazwaną.
Zakładka DB-Library Options
Po wybraniu zakładki DB-Library Options, zostanie wyświetlone okno przedstawione na rysunku 3.11. Warto zauważyć, że DB-Library jest obsługiwana w SQL Server 2000 jedynie dla zachowania zgodności z wcześniejszymi wersjami serwera. Technologie ODBC i OLE DB są preferowanymi mechanizmami służącymi do połączenia z SQL Serverem 2000. Wszystkie narzędzia klienta, dostarczane wraz z SQL Server 2000 (z wyjątkiem isql.exe) korzystają z ODBC. isql.exe używa DB-Library i starsze, napisane przez użytkownika aplikacje mogą nadal korzystać z tej biblioteki sieciowej.
Rysunek 3.11. Zakładka DB-Library Options |
|
Zakładka ta informuje, która wersja dynamicznej biblioteki (DLL) DB-Library jest używana w systemie. Określa również gdzie fizycznie znajduje się plik, określa datę i rozmiar biblioteki DLL oraz jej nazwę. Dostępne są również dwie opcje: Use International Settings i Automatic ANSI to OEM Conversion.
Opcja International Settings używa ustawień, takich jak format daty i czasu z systemu Windows 9x, Windows NT i Windows 2000. Przykładowo, korzystając z systemu Windows 2000 z ustawieniami innymi niż amerykańskie (United States), lokalne ustawienia zostaną użyte w ustawieniach SQL Servera.
ANSI to OEM Conversion tłumaczy dane powracające z SQL Servera na lokalną stronę kodową używaną przez klienta.
Ogólnie, nie powinno się wyłączać żadnej z tych opcji.
Zakładka Network Libraries
Zakładka ta pokazuje każdą z bibliotek sieciowych zainstalowanych na danym komputerze, jak również nazwę pliku, wersję, datę i rozmiar pliku. Informacja ta jest bardzo przydatna jeżeli potrzebna jest pomoc obsługi technicznej. Pracownik obsługi technicznej znając wersję może się zorientować, który pakiet serwisowy i wydanie biblioteki sieciowej jest używane w systemie. Domyślnie na komputerze instalowane są wszystkie biblioteki sieciowe.
Narzędzie Server Network
Narzędzie Server Network jest bardzo podobne do aplikacji Client Network. Programy te są ściśle ze sobą powiązane. Inaczej niż w przypadku narzędzia Client Network, które kontroluje, jak aplikacje łączą się z serwerem SQL, Server Network pokazuje, które biblioteki sieciowe są wykorzystywane przez SQL Server 2000 (zobacz rysunek 3.12). Używając wcześniejszego porównania do języka naturalnego. narzędzie to prezentuje listę języków, które serwer rozumie i umie się nimi posługiwać. Próba połączenia przy pomocy innej biblioteki sieciowej zakończy się niepowodzeniem (serwer „nie zrozumie tego języka”).
Rysunek 3.12. Server Network Utility. |
|
Wystarczy kliknąć przycisk Enable aby dodać kolejne biblioteki sieciowe, obsługiwane przez SQL Server prowadzący nasłuch. Aby rekonfigurować bibliotekę sieciową, należy kliknąć przycisk Properties. Aby wyłączyć daną bibliotekę, należy ją podświetlić i kliknąć przycisk Disable. Zmiany przyniosą efekt następnym razem, kiedy usługa SQL Server zostanie ponownie uruchomiona.
Warto zauważyć (rysunek 3.13), że jedynie podzbiór bibliotek sieciowych jest obsługiwany przez kopie nazwane SQL Servera 2000 (TCP/IP Sockets, Named Pipes, NWLink IPX/SPX i VIA). Obsługa innych bibliotek sieciowych jest podobna jak w przypadku DB-Library: nie powstają rozszerzenia, włączając w to możliwość łączności z kopiami nazwanymi.
Rysunek 3.13. Narzędzie Server Network dla kopii nazwanej. |
|
Zakładka Network Libraries jest identyczna jak zakładka w aplikacji Client Network, dlatego nie będzie tutaj omawiana.
Force Protocol Encryption
Po zaznaczeniu tej opcji, serwer wymusza szyfrowanie wszystkich prób połączenia. Jeżeli szyfrowanie nie może być uzgodnione pomiędzy klientem a serwerem, nie jest wykonywane żadne z połączeń. Szyfrowanie w wersji SQL Server 2000 różni się znacząco od szyfrowania w wersji SQL Server 7.0, gdzie zależało od wieloprotokołowej biblioteki sieciowej.
SQL Server 2000 używa Secure Sockets Layer/Transport Level Security (SSL/TLS) do szyfrowania całości ruchu dotyczącego SQL Servera (jeśli tak zostanie określone). Własność ta jest bardzo przydatna w przypadku gdy SQL Server przechowuje istotne dane, które należy ochronić przed podglądem przez niepowołane osoby, podczas transportu przez sieć.
Aby szyfrowanie funkcjonowało należy wykonać kilka czynności. Po pierwsze, należy pobrać certyfikat klucza publicznego dla serwera. Musi on znajdować się w pełnej nazwie DNS danego komputera. Następnie przy pomocy Internet Explorera należy zainstalować certyfikat na komputerze z SQL Serverem. Jeżeli SQL Server znajdzie certyfikat pasujący do nazwy serwera, korzysta z niego. Certyfikat musi pochodzić z urzędu certyfikatów, któremu ufają komputery klienty.
W przypadku używania certyfikatów w firmie lub organizacji, należy zwrócić się do administratora certyfikatów, który może pomóc w uzyskaniu właściwego certyfikatu i w jego instalacji. Firmy często mają własną infrastrukturę certyfikatów, dlatego przedstawione poniżej wskazówki mogą nie mieć w tym przypadku zastosowania.
W przypadku wykonywania tej procedury samemu, należy pobrać certyfikat z urzędu certyfikacji, takiego jak VeriSign (http:\\www.verisign.com), który to urząd jest zaufany dla klientów Internet Explorera (VeriSign wydawał darmowe, czasowe certyfikaty w okresie pisania tej książki). Nazwę DNS komputera można sprawdzić na zakładce Identyfikacja sieciowa, klikając prawy przyciskiem myszy na ikonie Mój komputer na pulpicie serwera. Tam można znaleźć pełną nazwę danego komputera (jeżeli nie, należy kliknąć Properties). Przykładowo, komputer może się nazywać RHOME.COMPUTERS.MYNETWORK.COM. Następnie należy zażądać certyfikatu „server identity” lub „Web server certificate”. Po uzyskaniu certyfikatu, należy go zainstalować przy pomocy Internet Explorera (w IE 5.0 menu Narzędzia, Opcje internetowe, Zawartość, Certyfikaty), gdzie należy nacisnąć Importuj, aby zastosować certyfikat przysłany pocztą elektroniczną przez VeriSign. Przy założeniu, że wszystko poszło bez problemów, szyfrowanie powinno zacząć działać automatycznie przy następnym uruchomieniu usługi SQL Server.
Jeżeli z jakiegoś powodu szyfrowanie nie działa, użytkownik otrzyma określony komunikat na komputerze klienta, informujący o tym, że nie jest możliwe uzgodnienie szyfrowania z serwerem. Na ogół komunikat ten oznacza, że klient nie ufa temu certyfikatowi. Można sprawdzić nazwy zaufanych przez Internet Explorera urzędów certyfikacji w tym samym miejscu w menu co poprzednio (w IE 5.0 Narzędzia, Opcje internetowe, Zawartość, Certyfikaty), ale tym razem należy kliknąć Zaufane główne urzędy certyfikacji. VeriSign został wybrany ponieważ przez długi czas pozostawał na wszystkich listach zaufanych urzędów certyfikacji.
Enable WinSock Proxy
Opcja Enable WinSock Proxy zezwala na posiadanie serwera proxy przekazującego żądania do SQL Servera z Internetu (lub innej sieci). Należy kliknąć Enable WinSock Proxy, a następnie wpisać adres TCP/IP serwera proxy, jak również port, który ma występować jako proxy dla SQL Servera. Opcja ta pozwala aby żądania do serwera proxy były przekierowywane do SQL Server oraz aby SQL Server odpowiadał na te żądania. Większość komputerów z SQL Serverem jest wykorzystywanych jako wewnętrzny system przetwarzania dla witryn WWW i nie potrzebuje być widoczna bezpośrednio w Internecie. Jednak, jeśli jest to potrzebne, można skorzystać z tej opcji.
Query Analyzer
SQL Server Query Analyzer jest podstawowym interfejsem do uruchamiania zapytań Transact-SQL lub procedur przechowywanych. Narzędzie to będzie wykorzystywane w dalszej części książki, dlatego dobrze jest zapoznać się z kilkoma dostępnymi opcjami. Oznacza to, że cześć własności tej aplikacji jest nieco skomplikowanych i będzie wykorzystywanych w kolejnych rozdziałach.
Ponieważ ta aplikacja będzie często używana, można ją uruchomić klikając przycisk Start, Uruchom i wpisując nazwę aplikacji. Z powodów historycznych, nazwą aplikacji jest ISQLW.exe. Należy więc kliknąć Start, Uruchom i wpisać isqlw aby uruchomić Query Analyzer.
Jak zostanie omówione w rozdziale 5 „Ustawienia zabezpieczeń logowania i użytkownika” każda operacja SQL Servera jest bezpieczna. Dlatego trzeba się najpierw zalogować do każdego SQL Servera, z którym chcemy się połączyć (zobacz rysunek 3.14). Jak zostało wspomniane przy omawianiu Client Network Utility, można wpisać (local) lub . aby połączyć się z lokalną domyślną kopią SQL Servera. Można również pozostawić pole nazwy serwera puste. Query Analyzer połączy się wtedy z domyślną kopią SQL Servera. W przypadku łączenia się do SQL Servera z tego samego komputera używane jest domyślne lokalne połączenie sieciowe (TCP/IP Sockets). W innym przypadku, używana jest biblioteka sieciowa klienta jaka została skonfigurowana. Aby połączyć się z kopią nazwaną, wystarczy wpisać NAZWASERWERA\NazwaKopii w polu SQL Server.
Rysunek 3.14. Okno Query Analyzera służące do połączenia z SQL Serverem. |
|
Można wprowadzić automatycznie uruchamianie się SQL Servera przy próbie połączenia, gdy usługa SQL Server została wcześniej wyłączona. Opcja ta jest przydatna dla komputerów lokalnych lub z systemem Windows 9x, ale należy się poważnie zastanowić, zanim zastosuje się tę opcję w przypadku serwerów produkcyjnych. Należy zastanowić się: dlaczego serwer jest wyłączony? Czy może z powodu konserwacji? Czy nie zaszkodzi, kiedy usługa SQL Server zostanie przedwcześnie uruchomiona ponownie?
Należy również być przygotowanym na podanie informacji potrzebnych do logowania. W przypadku komputerów z Windows 9x można używać jedynie opcji SQL Server Authentication. Należy wprowadzić nazwę sa i hasło, które zostało ustalone podczas procesu instalacji. Gdy serwery rozróżniają wielkość liter, logowanie również jest wrażliwe na wielkość liter i należy się upewnić czy informacje logowania zostały podane w odpowiedni sposób. W przypadku komputerów z systemem Windows 2000 lub łącząc się z kopią SQL Servera działającą w systemie Windows NT/2000, należy wybrać opcję Windows NT [Author ID2: at Mon Feb 12 19:17:00 2001 ]Authentication, aby zalogować się korzystając z uwierzytelniania Windows NT/2000. Jeśli jest to możliwe, używanie uwierzytelniania Windows NT jest znacznie łatwiejsze. Domyślnie, członkowie grupy administratorów lokalnych Windows NT/2000 mogą logować się do SQL Servera. W innym przypadku, należy się zalogować do SQL Servera jako administrator systemu lub superuser. Należy wszelkie działania podejmować ostrożnie, ponieważ role te pozwalają na wykonanie wszelkich operacji na serwerze.
Klikając OK lub Enter kończy się logowanie do odpowiedniej kopii SQL Servera (przy założeniu, że zostało podane prawidłowe hasło i ID lub uwierzytelnianie Windows NT/2000 zezwala na połączenie). Jeśli wszystko przebiegło bez zarzutu, na ekranie pojawi się okno przedstawione na rysunku 3.15.
Rysunek 3.15. SQL Server Query Analyzer. |
|
Jeżeli logowanie nie przebiegło prawidłowo, może pojawić się komunikat pokazany na rysunku 3.16. Taki komunikat pojawia się zwykle, gdy hasło zostało wpisane błędnie. Należy ponownie wpisać hasło. Należy również upewnić się, że nazwa użytkownika wpisywana jest poprawnie. Jeżeli hasło zostało zmienione, należy być pewnym, że wpisuje się w oknie połączenia nowe hasło (rysunek 3.14). Można łatwo wywołać ten błąd; przykładowo, w rozdziale 2 próbując połączyć się z kopią RHOME\Trade (lub inną kopią nazwaną) używając błędnego hasła.
Rysunek 3.16. Nieudana próba zalogowania. |
|
Może również pojawić się komunikat przedstawiony na rysunku 3.17, informujący o próbie połączenia przy użyciu danych SQL Server Security. W tym przypadku, serwer (kopia domyślna) obsługuje jedynie Windows Authentication Mode (zwany również zabezpieczeniem zintegrowanym) i pojawiający się błąd o tym informuje. Należy wrócić do okna logowania i wybrać Windows NT Authentication. Połączenie powinno nastąpić bez problemów.
Rysunek 3.17. Nieudana próba zalogowania - nie używanie zaufanego połączenia. |
|
Rysunek 3.18 prezentuje inny błąd, jaki może się pojawić. Jeżeli pojawi się ten błąd, należy prześledzić kilka zagadnień. Po pierwsze, zweryfikować, czy usługa SQL Server jest uruchomiona na komputerze, do którego następuje logowanie. Jeżeli jest, problem może występować w konfiguracji klienta (zobacz omówione wcześniej narzędzie Client Network). W innym przypadku, należy się upewnić, że nazwa serwera wpisana jest poprawnie. Aby przeglądnąć listę dostępnych serwerów (nie zaleca się wpisywania w tym celu nazwy serwera), należy kliknąć trzy kropki obok pola SQL Server. Pojawi się lista aktywnych komputerów z serwerem SQL w danej sieci. Lista ta nie zawsze działa poprawnie. Nie należy się niepokoić, jeśli danego serwera nie ma na liście; można się nadal połączyć z takim serwerem poprzez wpisanie w polu nazwy komputera. W tym przypadku (rysunek 3.18) nastąpiła próba połączenia z komputerem random, który nie istnieje w danej sieci.
Rysunek 3.18. Problemy z połączeniem sieciowym. |
|
Rysunek 3.19 pokazuje kolejne puste okno analizatora zapytań, ale warto przy tej okazji omówić kilka zagadnień. Otwarte są dwa osobne połączenia. Każde z połączeń ma pasek tytułowy zawierający następujące informacje:
nazwę komputera, do którego użytkownik jest zalogowany
nazwę bazy danych, która jest obecnie używana
nazwę użytkownika wykorzystaną do połączenia
tytuł zapytania jakie zostało otwarte
numer kolejnego wyświetlanego okna
Informacje w pasku tytułu są niezwykle przydatne w przypadku, gdy jest otwartych 40 - 50 okien. Na rysunku 3.19 jedno z połączeń dostępne jest jako użytkownik sa a drugie nastąpiło przy pomocy zabezpieczeń Windows (DOM-1\Administrator). Obydwa połączenia są połączeniami do komputera DOM-1, do bazy danych master i każde z nich jest podłączeniem do osobnej kopii. Nie ma przeszkód, aby obydwa połączenia następowały do pojedynczej kopii, z wyjątkiem tego, że w tym przypadku kopia domyślna obsługuje jedynie połączenia uwierzytelniane przez zabezpieczenia Windows NT.
Rysunek 3.19. Wiele połączeń w pojedynczej kopii Query Analyzer. |
|
Pasek narzędzi Query
Po udanym zalogowaniu można uruchomić zapytania języka Transact-SQL (pisanie zapytań zostanie omówione w rozdziale 10 „Pozyskiwanie danych przy pomocy wyrażenia Select”). Można otworzyć wiele okien w aplikacji Query Analyzer poprzez wybór przycisku New Query (pierwszy przycisk z lewej, na pasku narzędzi - rysunek 3.20). Warto zauważyć, że nie jest to tym samym, co posiadanie wielu połączeń, z których każde mogłoby być połączeniem do innego komputera. Każde nowe otwarte okno oznacza osobne połączenia do SQL Servera; jeżeli jest otwartych zbyt wiele okien, może to wyczerpywać zasoby SQL Servera.
Rysunek 3.20. Pasek narzędzi aplikacji Query Analyzer. |
|
Wybór drugiego przycisku (wyglądającego jak standardowy przycisk otwierania nowego pliku w Windows) otwiera standardowe okno do wyszukiwania skryptów Transact-SQL, (które domyślnie posiadają rozszerzenie .SQL). Kolejny przycisk Save Query/Results, zachowuje tekst wpisany w oknie do pliku lub jeśli zostało uruchomione zapytania i wybrane okno wyników - zachowuje w pliku wyniki zapytania. Kolejny przycisk powoduje załadowanie „szablonu” zapytania SQL, z którego można skorzystać rozwijając różne warianty wcześniejszych zapytań. Następne przyciski mają standardowe działanie jak w systemie Windows: Wytnij, Kopiuj i Wklej. Za nimi znajduje się przycisk czyszczący zawartość bieżącego okna, a kolejny pozwala na wycofanie ostatniej operacji (takiej jak np.: przypadkowe usunięcie części tekstu).
Następny przycisk - Execute Mode - jest bardzo przydatny. Po kliknięciu tego przycisku, rozwija się lista opcji, które określają jak i gdzie pojawią się wyniki po uruchomieniu zapytania. Domyślna opcja - Results in Grid może być przydatna ponieważ wiele nazw w SQL Server 2000 może mieć długość 128 znaków Unicode. Domyślne wyświetlanie dopełnia zwykle tekst spacjami do 128 znaków, jeżeli tekst jest krótszy. Opcja Grid pozostawia na ogół jedynie tyle miejsca ile wynosi najdłuższa kolumna wyświetlanych danych. Można również wybrać opcję Results in Text, która może być przydatna jeśli potrzeba przeglądnąć tekst w całości. Można również automatycznie skierować wyniki zapytania do pliku. Rysunek 3.21 pokazuje każdą z opcji.
Rysunek 3.21. Wybór trybu zapytania. |
|
Następna opcja w menu na rysunku 3.21 to Show Execution Plan. Opcja ta pokazuje metody i indeksy używane przez SQL Server do wyszukiwania danych wymaganych przez dane zapytanie. Inaczej niż w przypadku opcji Results in Text, Grid lub File, gdzie może być wybrana tylko jedna z nich, opcja Show Execution Plan może być włączona lub wyłączona niezależnie od ustawień opcji wyników (Results in Grid, Text lub File).
Kolejną opcją jest Show Server Trace. Opcja ta dostępna jest jedynie dla administratorów systemu SQL Server, prezentuje wszystkie wewnętrzne polecenia i kilka statystyk dotyczących tych poleceń z SQL Servera. Jest to w zasadzie mini-wersja SQL Server Profilera, który zostanie omówiony później.
Ostatnia opcja to Show Client Statistics. Opcja ta pokazuje wszystko, co zgromadziła aplikacja Query Analyzer z SQL Servera, po ostatnio uruchomionym poleceniu, jak również średnie wyliczenia dotyczące czasu uruchomienia dodatkowych poleceń.
Należy włączyć każdą z tych trzech opcji, aby przekonać się jakie jest jej działanie. Niestety można uruchomić tylko jedną w określonym czasie. Jeżeli wszystkie trzy są włączone jednocześnie, należy sprawdzić czy ustawiony jest nadal domyślny tryb zwracania wyników Results in Grid.
Najłatwiejszym sposobem zrozumienia tych opcji jest obejrzenie przykładu. Należy wpisać następujący tekst w oknie zapytania:
use pubs
select * from authors
Zapytanie to jest oczywiste jeśli zrozumie się znaczenie poszczególnych poleceń. Pierwsze określenie use pubs, mówi serwerowi, aby przełączył działanie do bazy pubs, przykładowej bazy danych zainstalowanej na każdym serwerze SQL. Drugie polecenie select * from authors, żąda od SQL Servera zwrócenia wszystkich wierszy i kolumn danych z tabeli lub widoku o nazwie authors (baza danych -pubs- została wybrana pierwszym poleceniem, więc wiadomo z której bazy są pobierane dane). Dlatego (tłumacząc na język polski) te polecenia oznaczają:
Przełącz do bazy danych pubs
Zwróć wszystkie dane dotyczące autorów
Po wpisaniu dwóch poprzednich poleceń można zweryfikować czy zostały one wpisane prawidłowo. Warto zauważyć, że obecnie na pasku narzędzi dostępnych jest kilka nowych opcji. Należy kliknąć przycisk z niebieskim znacznikiem na pasku narzędzi aby sprawdzić czy wszystko zostało wpisane poprawnie. SQL Server sprawdzi poprawność składni zapytania. Jeżeli zapytanie działa prawidłowo, pojawi się komunikat:
The command(s) completed successfully.
Aby uruchomić teraz faktycznie zapytanie, należy kliknąć przycisk Play. Można również wybrać Query lub Execute; wcisnąć klawisz F5 lub wcisnąć klawisze Alt+X. Po uruchomieniu zapytania pojawią się panele wynikowe ze wszystkimi informacjami na temat autorów (authors) z bazy pubs (zobacz rysunek 3.22).
Rysunek 3.22. Wyniki zapytania. |
|
Warto zauważyć, że podczas wykonywania zapytania dostępny jest przycisk Stop na pasku narzędzi. Używając go można anulować zapytanie podczas gdy jest wykonywane. Zapytania powinny wykonywać się szybko. Najlepiej tak, żeby nie było możliwe wciśnięcie przycisku Stop.
Teraz należy powrócić do wyboru opcji Grid kontra Text. Należy kliknąć przycisk Current Mode na pasku narzędzie i wybrać opcję Results in Text. Można również przycisnąć Ctrl+T aby ustawić tę opcję. Po ustawieniu tej opcji należy powrócić do wyników zapytania. Warto zauważyć, że pojawiają się wszystkie występujące wcześniej zakładki, ale wyniki zapytania są sformatowane nieco inaczej.
Można dodać kolejną linię kodu do poprzedniego zapytania, czyli okno zapytania będzie zawierało następujące polecenia języka Transact-SQL:
use pubs
select * from authors
select * from titles
Należy uruchomić ponownie zapytanie (przy użyciu metod omówionych wcześniej), aby Query Analyzer umieścił wyniki w takim samym, pojedynczym oknie. Domyślnie, dla każdego uruchomionego zapytania Query Analyzer buduje nową siatkę lub oddziela tekst w tym samym oknie.
Kontynuując omawianie paska narzędzi, kolejną opcją jest pole z rozwijalną listą zawierającą nazwy baz danych zainstalowanych na danym serwerze, do którego użytkownik jest podłączony. Jeżeli zostanie wybrana inna baza danych skrypt SQL, który zostanie uruchomiony będzie korzystał z tej bazy danych dopóki nie zostanie określona inna baza danych wewnątrz skryptu SQL. Kiedy została określona inna baza danych w skrypcie, po zakończeniu działania skryptu, w tym polu paska menu wyświetlana jest nowa -zmieniona baza danych.
Kolejny przycisk pokazuje, w jaki sposób SQL Server określa w przybliżeniu wewnętrzne wykonanie zapytania (przeciwnie do wcześniej ustawionej opcji, Show Execution Plan, która pokazuje jak zostało wykonane zapytanie). Dlaczego potrzebne są dwie opcje? Jeżeli wykonanie zapytania zajmuje wiele godzin, a potrzebna jest jedynie informacja o tym w jaki sposób SQL Server będzie realizował to zapytanie - przydatna jest właśnie opcja Estimated Execution Plan. Własność ta zostanie omówiona w rozdziale 13 „Indeksowanie dla wydajności”.
Kolejna opcja to przycisk włączenia/wyłączenia Object Browser. Object Browser występuje na poprzednich rysunkach z lewej strony okna Query Analyzer. Przy pomocy Object Browser można łatwo przeszukać wszystkie obiekty bazy danych dla każdego z połączeń. Narzędzie to ma znacznie więcej możliwości niż się wydaje na pierwszy rzut okna. Można przeciągnąć dowolny obiekt do okna zapytania. Jest to bardzo przydatne. Można również kliknąć obiekt prawym przyciskiem myszy i przeciągnąć go do okna zapytania. Pojawi się menu (zobacz rysunek 3.23), pozwalające wybrać wiele różnych opcji dotyczących danego wyrażenia SQL. Są to między innymi opcje wpisywania skryptu tworzenia tabeli (create) lub skrypt zapytania select. Funkcja ta będzie często wykorzystywana w kolejnych rozdziałach.
Rysunek 3.23. Własność Przenieś i Upuść z narzędzia Object Browser. |
|
To jeszcze nie wszystkie własności. Kolejna opcja to wyszukiwanie obiektów. Po kliknięciu tej ikony pojawi się okno dialogowe pokazane na rysunku 3.24. Przydatne na przykład w przypadku poszukiwania, gdzie znajduje się tabela z kolumną salary. Własność ta jest bardzo przydatna w przypadku pracy z dużymi lub złożonymi systemami oraz gdy wraca się po dłuższej przerwie do pracy z danym systemem.
Rysunek 3.24. Okno Object Search. |
|
Kolejna własność nie będzie w tym momencie szerzej omawiana. Ostatnia opcja pozwala zobaczyć okno wyników zawsze, nawet jeśli nie zostało jeszcze uruchomione zapytanie.
Konfiguracja opcji SQL Server Query Analyzer
Przycisk z rysunkiem ręki trzymającej kawałek papieru (ominięty w poprzedniej sekcji) wyświetla okno Query Analyzer Current Connection Properties (zobacz rysunek 3.25). Można również wywołać to okno z menu Query, Current Connection Properties.
Rysunek 3.25. Okno Current Connection Properties. |
|
Dopóki nie zacznie się pracować z zaawansowanymi własnościami SQL Server, nie ma potrzeby zmiany żadnego z tych parametrów, ale należy wiedzieć gdzie znajdują się poszczególne opcje.
Można konfigurować i zmieniać opcję Query Analyzer jeszcze z innego miejsca. Należy wybrać z menu Tools - Options, ukaże się okno dialogowe pokazane na rysunku 3.26. W oknie tym występuje wiele opcji. Pomoc SQL Server Books Online wyjaśnia szczegółowo znaczenia każdej z tych opcji. Nie należy zmieniać tych opcji, dopóki nie zostanie się doświadczonym programistą lub administratorem SQL Servera.
Rysunek 3.26. Okno Query Analyzer Options. |
|
We wcześniejszych sekcjach była mowa o uruchamianiu skryptu. Skrypt Transact-SQL jest zbiorem poleceń SQL przechowywanych i uruchamianych razem. De facto, opcje File -Open i File-Save pozwalają na zachowanie zapytania (lub zbioru zapytań) i uruchomienie ich ponownie później. Domyślnie, skrypty mają rozszerzenie .SQL. Można zmienić domyślne rozszerzenie korzystając z zakładki General, jednak nie jest to zalecane. Można również zmienić domyślne lokalizacje (ścieżki dostępu) dla wyszukiwania skryptów, jak również dla wyników zapytań oraz domyślne rozszerzenia dla zachowywanych plików wyników. Wciśnięcie przycisku Reset all powoduje przywrócenie wartości domyślnych.
Korzystając z zakładek Editor i Results, można rekonfigurować środowisko projektowe, dostosowując go do własnych wymagań. Zakładka Fonts pozwala na zmianę domyślnych czcionek interfejsu użytkownika używanych do wyświetlania zapytań i wyników. Zakładka Connection Properties pokazuje te same właściwości połączenia jakie były omawiane poprzednio dla bieżącego połączenia (domyślny zbiór opcji dla wszystkich połączeń).
Zakładka Connections pozwala na określenie jak długo Query Analyzer będzie czekał przy próbie zalogowania do SQL Servera. Można również określić jak długo będzie czekał na długo wykonujące się zapytania ( 0 oznacza w nieskończoność, wszelkie inne wartości oznaczają liczbę sekund). Zakładka ta pozwala również na wybór własności języka i innych ustawień międzynarodowych.
Należy dokonywać zmian w ustawieniach bardzo ostrożnie, zmiany te wpływają zasadniczo na dane wyjściowe oraz można łatwo zapomnieć jakie opcje zostały ustawione.
Opcja Help
Ostatnią omówioną tutaj opcją jest Help. W przypadku, gdy nie pamięta się składni polecenia (prawidłowego zapisu polecenia lub listy parametrów), należy podświetlić słowo kluczowe i wcisnąć Shift+F1. W oknie powinna zostać wyświetlona pomoc dla tego polecenia. Pomoc jest dostępna dla prawie każdego z poleceń Transact-SQL. Inaczej niż we wcześniejszych wersjach, pomoc SQL Server 2000 zawsze uruchamia Books Online, pokazując temat najbardziej zbliżony do żądanego przez użytkownika. Własność ta powinna zapewnić najaktualniejszą pomoc, poprzez jedno określone źródło informacji na temat składni i opcji zapytania.
Inną użyteczną opcją jest Alt+F1. Jeżeli zostanie podświetlona nazwa obiektu SQL Servera, takiego jak tabela, w oknie wyników wyświetlana jest domyślnie pomoc. Dokładny typ pomocy, jaki się pojawi, zależy od typu obiektu, ale na ogół pomoc pokazuje użyteczne właściwości danego obiektu.
Jeżeli w oknie zapytania zostanie podświetlone polecenie a następnie zapytanie zostanie uruchomione, uruchomi się jedynie podświetlony tekst. Tym sposobem, można nie uruchamiać wszystkich poleceń wpisanych w oknie.
Enterprise Manager
Jak można było zauważyć Query Analyzer jest bardzo wszechstronnym narzędziem. Query Analyzer został znacznie rozszerzony w wersji SQL Server 2000, co pomogło programistom i administratorom serwera. Jednak, nadal dostępny jest SQL Server Enterprise Manager, uważany za podstawowy graficzny interfejs administracyjny i programistyczny. Istnieje niewiele czynności, które mogą być wykonane przy pomocy SQL Server Enterprise Manager, a nie mogą być wykonane przy użyciu poleceń Transact - SQL z narzędzia Query Analyzer. Jednak, korzystanie z Enterprise Managera jest czasem bardziej przekonywujące, szczególnie do osób nie znających dobrze serwera SQL.
SQL Server Enterprise Manager jest nakładką MMC. MMC jest skrótem od Microsoft Management Console. Jest to narzędzie powszechnie wykorzystywane przez Microsoft i inne firmy jako interfejs administracyjny dla własnych produktów. Wszystkie produkty BackOffice firmy Microsoft, jak również składniki systemu Windows 2000, korzystają z MMC jako podstawowych interfejsów administracyjnych.
Rejestracja serwera
Po uruchomieniu SQL Server Enterprise Manager, może być potrzebna rejestracja serwera. Jeżeli na danym komputerze jest zainstalowany SQL Server, oznacza to, że został on zarejestrowany podczas instalacji. Jeżeli na danym komputerze z systemem Windows 2000 jest zainstalowana wcześniejsza wersja SQL Servera, po zainstalowaniu SQL Servera 2000, grupa SQL Server 6.x będzie również dostępna. Aby zarejestrować serwer, należy rozwinąć opcję Microsoft SQL Servers. Ukaże się grupa domyślna, SQL Server Group. Należy podświetlić opcję SQL Server Group a następnie z menu Akcja wybrać New SQL Server Registration. Pojawi się kreator Register SQL Server Wizard (zobacz Rysunek 3.27).
Rysunek 3.27 Register SQL Server Wizard. |
|
Zalecane jest zaznaczenie pola wyboru, aby nie używać w przyszłości kreatora, ponieważ rejestracja SQL Servera jest jednym z łatwiejszych zadań. Należy kliknąć Next, nastąpi przejście do domyślnego okna do rejestracji serwera SQL (zobacz rysunek 3.28).
Rysunek 3.28 Okno Registered SQL Server Properties. |
|
Należy wpisać nazwę komputera, tak jak to zostało przykładowo pokazane na rysunku 3.28, a następnie wybrać tryb zabezpieczeń jaki będzie używany. Można użyć zabezpieczeń Windows NT (jeżeli SQL Server pracuje w systemie Windows NT) lub można podać dane logowania do SQL Servera (ta możliwość działa domyślnie z systemem Windows 9x). Wybierając SQL Server Authentication należy zaznaczyć opcję logowania do SQL Servera i wpisać dane potrzebne do zalogowania. Jednak, w tym przypadku, ponieważ wcześniej została zainstalowana domyślna kopia w trybie Windows Integrated Mode należy wybrać Use Windows NT Authentication.
Warto zauważyć, że można zadecydować czy użytkownik będzie pytany za każdym razem o nazwę i hasło przy próbie połączenia (w przypadku opcji Use SQL Server Authentication). Należy skorzystać z tej opcji na komputerach z systemem Windows 9x, w celu zabezpieczenia. Jeżeli zabezpieczenie jest sprawą priorytetową należy wybrać system Windows 2000, który jest znacznie bezpieczniejszy niż systemy operacyjne Windows 9x.
Można wybrać opcję dodania serwera do domyślnej grupy serwerów lub stworzyć nowy rodzaj grupowania w polu tekstowym Server Group, w dolnej części okna dialogowego. Grupowanie jest używane jako narzędzie organizacyjne pulpitu. Grupowanie to nie jest znane dla innych komputerów z serwerami SQL w danej sieci. Można zmienić kilka opcji, takich jak automatyczne uruchomienie SQL Servera, gdy jest używany SQL Server Enterprise Manager i następuje próba połączenia do serwera i przeglądanie systemowych baz danych. Dla celów tej książki należy zaznaczyć wszystkie możliwe opcje.
Następnie należy kliknąć OK. Tak kończy się konfiguracja rejestracji dla Enterprise Managera.
Zapewne na ekranie pojawił się błąd A Server with this name already exists. Po zainstalowaniu, program instalacyjny automatycznie rejestruje lokalne instalacje w danej kopii Enterprise Managera. Dlatego, nie ma potrzeby rejestracji kopii lokalnych, ponieważ są już zarejestrowane. Należy natomiast wykonać rejestrację każdej zdalnej kopii serwera.
Korzystanie z Enterprise Managera
Należy zamknąć okno rejestracji poprzez kliknięcie przycisku Cancel. Wszystkie zarejestrowane serwery są widoczne w lewym panelu Enterprise Managera, po rozwinięciu SQL Server Group i po rozwinięciu każdego z serwerów (zobacz rysunek 3.29). Można poznać, czy jest aktywne połączenie z danym serwerem przez obecność zielonej strzałki na ikonie serwera. Z rysunku 3.29 widać, że użytkownik jest podłączony z domyślną instancją i z instancją nazwaną, zainstalowanymi na komputerze lokalnym (DOM-1).
Rysunek 3.29 Enterprise Manager z zarejestrowanymi serwerami. |
|
Wewnątrz każdego z serwerów, folder Databases pokazuje listę wszystkich baz danych zainstalowanych na tym serwerze. Folder Data Transformation Services. pokazuje „pakiety” DTS, jakie zostały ustawione oraz pakiety Meta Data Services. Folder Management pokazuje własności administracyjne do zarządzania SQL Serverem. Folder Replication pokazuje wszelkie zmiany w konfiguracji replik, wykonane na serwerze. Folder Secuity pozwala na kontrolę innych usług związanych z SQL Serverem na danym komputerze, takich jak Distributed Transaction Coordinatior i wyszukiwanie pełnotekstowe. Rysunek 3.30 pokazuje rozwinięty widok każdego z folderów. Jeżeli zostanie podświetlony serwer, informacje o nim pojawią się w prawym panelu w formie dokumentu HTML.
Rysunek 3.30 Lewy panel Enterprise Managera z rozwiniętymi folderami. |
|
Należy rozwinąć folder bazy danych pubs, a następnie podświetlić bazę pubs w lewym panelu. Warto zauważyć, że w prawym panelu jest wyświetlana nowa strona WWW (zobacz rysunek 3.31). Tak działa Enterprise Manager: obiekty z kontenera są pokazane na ogół w lewym panelu, a zawartości danego kontenera i inne informacje są wyświetlane po prawej stronie.
Rysunek 3.31 Baza danych pubs. |
|
Niektóre okna dialogowe powodują otworzenie kolejnych osobnych okien. Przykładowo, kliknięcie prawym klawiszem folderu bazy pubs w lewym panelu i wybranie pozycji Properties z menu rozwijalnego powoduje otworzenie nowego okna na oknie Enterprise Managera (zobacz rysunek 3.32). Okna właściwości (okna dialogowe opisujące właściwości obiektów) pojawiają się często w postaci osobnych okien. Należy kliknąć Cancel aby powrócić do Enterprise Managera bez dokonywania zmian we właściwościach bazy danych pubs.
Rysunek 3.32 Właściwości bazy danych pubs. |
|
Kolejną cechą wartą omówienia jest menu opcji. Dostępne opcje zmieniają się w zależności od tego, jaki obiekt jest aktualnie podświetlony. Przykładowo, można zobaczyć opcje z rysunku 3.33 po kliknięciu menu Tools, gdy jest podświetlona baza danych pubs. Nie należy się martwić dużą ilością dostępnych opcji, wiele z nich będzie jeszcze wspomnianych w kolejnych rozdziałach.
Rysunek 3.33 Menu opcji w SQL Server Enterprise Manager. |
|
Wytłumaczenie całości działania Enterprise Managera mogłoby zająć kolejne 20 do 30 stron. Jednak, to co zostało przestawione powinno wystarczyć do rozpoczęcia pracy z Enterprise Managerem. Po przeczytaniu całej książki doświadczenie użytkownika w pracy z tym narzędziem będzie bardzo duże.
Import and Export Data
Wybranie opcji Import and Export Data w grupie programów SQL Servera powoduje uruchomienie kreatora DTS. Zagadnienie DTS zostanie omówione w rozdziale 19.
Configure SQL XML Support in IIS
Przy pomocy opcji Configure SQL XML Support in IIS można ustawić serwer Web, aby zezwalał na bezpośrednie zapytania do SQL Servera przy użyciu Extensible Markup Language (XML). Opcja ta zostanie szczegółowo omówiona w rozdziale 21.
Profiler
Narzędzie SQL Server Profiler pozwala na monitorowanie wszelkiej działalności SQL Servera. Można również używać tego narzędzia do optymalizowania wydajności, np.: testowania planu wykonywania, jaki SQL Server stosuje do uruchamiania zapytań. Profiler posiada skomplikowane mechanizmy filtracji, które pozwalają na śledzenie określonych, pojedynczych użytkowników, aplikacji lub poleceń danego typu. Można monitorować ponad 100 różnych zdarzeń z SQL Servera 2000. Narzędzie Profiler zostanie omówione w rozdziale 20.
Grupa programowa Microsoft SQL Server - Switch
Druga grupa programów, dostępna jedynie dla instalacji SQL Servera 2000 w systemie Windows NT i Windows 2000, zawiera trzy możliwe opcje. Jest to SQL Server Version Upgrade Wizard, narzędzie odinstalowujące oraz w określonych przypadkach SQL Server 6.x Switch.
SQL Server Version Upgrade Wizard
Version Upgrade Wizard był omawiany we wcześniejszym rozdziale na temat instalacji SQL Servera 2000. Na komputerach z systemem Windows NT SQL Server Version Upgrade pozwala na uaktualnienie baz danych SQL Servera 6.x i właściwości serwera. Można uaktualnić pojedynczą bazę danych, wiele baz danych lub własności serwera i zaplanowanych zadań z wcześniejszych wersji SQL Servera.
SQL Server w wersji 6.5 i 7.0 to jedyne wydania, dla których obsługiwane jest uaktualnienie. Żadne wcześniejsze wersje nie są obsługiwane. SQL Server 7.0 może zostać zaktualizowany na miejscu, nie wymaga stosowania kreatora uaktualnienia. Narzędzie do uaktualniania wersji jest dostępne jedynie w systemie Windows NT/2000 ponieważ wersja 6.5 SQL Servera działa jedynie w systemie Windows NT lub Windows 2000.
Proces uaktualnienia wersji pozostawia pliki baz danych SQL Server 6.5 nie zmienione. Podczas uaktualniania dane są eksportowane z SQL Servera 6.5 do SQL Server 2000. W wersji SQL Server 2000 tworzone są nowe bazy danych i pliki. Można zaktualizować wcześniejszą instalację SQL Servera na tym samym komputerze lub można zainstalować SQL Server 2000 na drugim komputerze a następnie uaktualnić do nowego komputera z SQL Serverem 2000.
Microsoft SQL Server 6.x Switch
Pozycja grupy programów Microsoft SQL Server Switch jest dostępna jedynie w systemach, w których jest zainstalowany SQL Server 6.5. Po kliknięciu tej opcji, następuje przełączenie do instalacji SQL Server 6.5. Zmienia się menu Start, pokazując narzędzia wersji SQL Server 6.5 (narzędzia SQL Server 2000 są również dostępne) i wcześniejszą wersję SQL Server dostępną do uruchomienia. Po uruchomieniu SQL Servera 6.5, wpis w menu Switch zostaje zmieniony na Microsoft SQL Server 2000. Po wybraniu tej pozycji menu, następuje ponownie powrót do wersji SQL Server 2000, a narzędzia z wersji SQL Server 6.5 są ponownie ukrywane.
Opcje te mają zastosowanie jedynie do przełączania pomiędzy SQL Serverem 6.5 i domyślną kopią SQL Servera 2000. Jak zostało wcześniej wspomniane, można zawsze uruchomić jednocześnie SQL Server 6.5, SQL Server 7.0 lub SQL Server 2000 jako kopię domyślną oraz wiele kopii nazwanych (maksymalnie 16).
Uninstal SQL Server 6.x
Pozycja menu Uninstall SQL Server 6.x występuje jedynie w systemach, w których jest zainstalowane wcześniejsze wydanie SQL Servera. Po kliknięciu tej opcji, wcześniejsza wersja SQL Servera zostaje odinstalowana. Program ten bezpiecznie usuwa wcześniejszą wersję SQL Servera.
Do usuwania starej wersji SQL Server 6.5 nie należy stosować programu instalacyjnego. Korzystanie z osobno zdefiniowanej w menu opcji odinstalowania jest jedynym bezpiecznym sposobem usunięcia wcześniejszej wersji, bez narażenia na uszkodzenia instalacji SQL Server 2000.
Inne narzędzia/usługi SQL Servera
Dostępnych jest kilka narzędzi nie mających skrótów w menu Start. Narzędzia te są jednak bardzo przydatne. Są one pogrupowane w grupy związane z połączeniami, narzędzia diagnostyczne serwera oraz narzędzia konserwacji.
Narzędzia związane z połączeniami
Narzędzia związane z połączeniami są uruchamiane z wiersza poleceń. Dostarczają interfejsu zapytania lub służą do testowania sieci. Pierwsze dwa z omówionych narzędzi, OSQL i ISQL pozwalają na podłączenie do SQL Servera i uruchamianie poleceń Transact-SQL. Narzędzia te są tekstowym odpowiednikiem aplikacji SQL Server Query Analyzer. Kolejne dwa zbiory narzędzi makepipe/readpipe i ODBCPing pozwalają na przetestowanie łączności sieciowej z danym serwerem SQL.
OSQL
Program Osql.exe dostarcza interfejsu dla zapytań opartych na ODBC dla SQL Servera. Narzędzie to używa ODBC do połączenia z SQL Serverem. Można wykorzystywać to narzędzie do uruchamiania zapytań wsadowych do obsługi zadań produkcyjnych. Można również wpisać w plikach poleceń systemowych Windows aby uruchamiały one OSQL i polecenia Transact-SQL, w celu dodawania nowych danych, zmiany lub usunięcia danych z bazy. Można również tworzyć skrypty (podobnie jak w Query Analyzer) a następnie uruchamiać je bez korzystania z interfejsu graficznego. Program OSQL może być wywołany z dwoma różnymi zestawami opcji:
osql [-L] [-?]
W tej prostej składni:
-L pokazuje listę wszystkich serwerów SQL znalezionych w sieci
-? jest standardowym żądaniem listy dostępnych parametrów.
osql {{ -U login_id [-P password]}|[-E]} [-S server_name] [-e] [-p] [-n]
[-I] [-b] [-O] [-u] [-R] [-d db_name] [-q „query”] [-Q „query”]
[-c cmd_end][-h headers][-w column_width][-s col_separator] [-t time_out]
[-m error_level] [-r {0 | 1}] [-H wksta_name] [-i input_file]
[-o output_file] [-a packet_size] [-l time_out] [-D DSN]
W powyższej składni:
-U jest identyfikatorem logowania ID do SQL Servera.
-P jest hasłem logowania do SQL Servera. Jeżeli hasło nie zostanie wpisane OSQL zażąda hasła podczas uruchamiania. Jeżeli została ustawiona zmienna środowiskowa nazywana OSQLPASSWORD, wtedy to hasło będzie wypróbowane najpierw, zanim program zażąda hasła od użytkownika.
-E wymaga połączenia Windows Authentication Mode, czyli nie ma potrzeby określania parametrów -U lub -P.
-S informuje OSQL, do którego serwera ma się podłączyć, w formie SERVER\kopia. Jeżeli serwer nie jest określony, OSQL łączy się z lokalną kopią domyślną.
-e wypisuje ponownie każde uruchomione polecenie na wyjściu danego polecenia.
-p drukuje informacje o wydajności zapytań.
-n usuwa numer i znak >, jakie są normalnie wyświetlane w każdym wierszu, w którym zostaje wpisany zbiór poleceń.
-I informuje, że QUOTED_IDENTIFIER powinien zostać włączony dla tego połączenia. Opcja ta określa kiedy elementy w cudzysłowiu są traktowane jako stały ciąg znaków („hello there” lub jako nazwa kolumny lub tabeli.
-b nakazuje OSQL aby ustawił poziom błędów na poziomie DOS, kiedy wystąpi błąd. OSQL zwraca 1 gdy pojawi się komunikat o błędzie na poziomie ważności wyższym niż 10.
-O nakazuje OSQL emulację ISQL w celu zachowania zgodności wstecz.
-u informuje OSQL, że wyniki zapytania w pliku wynikowym powinny być w postaci Unicode.
-R zezwala na konwersję po stronie klienta, podczas konwersji waluty i wartości daty i czasu z SQL Servera
-d określa do której bazy danych należy się przełączyć po uzyskaniu połączenia.
-q nakazuje OSQL uruchamiać zapytania wpisane w cudzysłowiu zaraz po starcie. OSQL pozostaje włączony po uruchomieniu zapytania. Jeżeli potrzeba użyć znaku cudzysłowu wewnątrz zapytania, należy użyć podwójnych cudzysłowów na zewnątrz zapytania i pojedynczych wewnątrz.
-Q informuje OSQL aby uruchomił zapytanie wpisane w cudzysłowiu zaraz po starcie a następnie zakończył działanie programu osql.exe.
-c ustawia znacznik separatora w pliku wsadowym. W skryptach SQL Servera, słowo GO informuje SQL Server aby przesłał zapytania do SQL Servera jako grupę (zwaną batch). Jednak można to ominąć używając własnego znacznika dla OSQL aby wysłać zapytania do SQL Servera. Nie powinno się zmieniać domyślnego znacznika.
-h sygnalizuje OSQL ile wierszy należy wstawić pomiędzy nagłówkami kolumn a wynikami zapytania. Jeżeli zostanie określone -h-1, nagłówki nie będą pokazywane w ogóle.
-w pozwala na ominięcie domyślnej szerokości (80 znaków) obszaru wyjściowego.
-s pozwala na ominięcie domyślnego separatora kolumn (pusta przestrzeń).
-t informuje OSQL jak długo ma czekać zanim stwierdzi, ze połączenie do serwera zakończyło się niepowodzeniem.
-m zmienia raportowanie komunikatów o błędach. Składnia to -m n, gdzie n jest poziomem ważności błędów. Poziomy błędów omówione są w rozdziale 20.
-r określa, że komunikaty o błędach powinny być wysyłane na wyjście stderr. Jeżeli ten parametr jest ustawiony na 0, jedynie komunikaty o błędach z poziomu 17 i wyższych zostaną wysłane na wyjście stderr. Ustawienie na 1 oznacza, że wszystkie komunikaty o błędach będą wysyłane do standardowego wyjścia błędów (stderr).
-H określa nazwę komputera, jeśli ma być wysłana do SQL Servera.
-i określa nazwę i ścieżkę do skryptu Transact-SQL, który ma zostać uruchomiony.
-o jest plikiem, w którym mają być przechowywane wyniki z działania skryptu. Plik wyjściowy zachowuje kodowanie Unicode, jeśli plik wejściowy był również w postaci Unicode.
-a określa rozmiar pakietu używanego w sieci.
-l (jest to mała litera L, nie cyfra 1) informuje OSQL o czasie trwania logowania (po jakim czasie OSQL ma przyjąć, że serwer nie działa).
-D określa nazwę SQL Server Data Source Name zdefiniowaną w programie Data Sources (ODBC) w folderze narzędzi administracyjnych (lub tych stworzonych programowo). Opcja ta działa jedynie dla źródeł danych SQL Servera.
Uruchamiając polecenia, jakie zostały wcześniej uruchomione w SQL Server Query Analyzer, w wierszu poleceń można zobaczyć:
Dla tego (i większości innych) narzędzi tekstowych, można określać parametry przy pomocy - lub /. Przykładowo, dla parametru nazwy serwera, można użyć OSQL /S lub OSQL -S. Obydwa wywołania oznaczają to samo.
C:\>osql /Usa
Password:
use pubs
select * from authors
go
Następnie zostaną wyświetlone wyniki zapytania, w następującej postaci:
893-72-1158 McBadden Heather
707 448-4982 301 Putnam
Vacaville CA 95688 0
899-46-2035 Ringer Anne
801 826-0752 67 Seventh Av.
Salt Lake City UT 84152 1
998-72-3567 Ringer Albert
Salt Lake City UT 84152 1
...
(23 rows affected)
1>
Słowo kluczowe GO spowodowało uruchomienie przez OSQL wpisanych poleceń. 1> na końcu obszaru wynikowego oznacza, że OSQL jest gotowy do wprowadzenia kolejnych poleceń Transact-SQL. Dwa inne warte omówienia polecenia to Reset i Exit:
Reset zatrzymuje przetwarzanie poleceń i powraca do znaku zachęty >1.
Exit opuszcza OSQL.
Plik wsadowy mógłby wyglądać tak:
osql -E -I „D:\Program files\ Microsoft SQL Server\mssql\runquery.sql” -o c:\results.txt
Plik wejściowy może zawierać zapytania i wyniki zostaną przedstawione w pliku results.txt. Polecenie to spowoduje połączenie z SQL Serverem przy użyciu autoryzacji przez system Windows. Plik wsadowy można użyć w dowolnym czasie, można nawet określić aby w przyszłości plik był uruchamiany w określonym terminie.
ISQL
ISQL.exe jest narzędziem, korzystającym z wiersza poleceń, pochodzącym z wcześniejszych wersji SQL Servera. Program ten korzysta z biblioteki DB-Library aby połączyć się z serwerem SQL. Ponieważ program jest oparty na bibliotece DB-Library, nie może współpracować i korzystać z nowych własności SQL Servera, włączając w to Unicode. Z tego powodu, należy zaprzestać używania tego programu , mając już ustawione zadania wsadowe, również nie należy używać go teraz.
isql -U login_id [-e] [-E] [-p] [-n] [-d db_name] [-q „query”]
[-Q „query”] [-c cmd_end][-h headers][-w column_width]
[-s col_separator] [-t time_out] [-m error_level] [-L] [-?]
[-r {0 | 1}] [-H wksta_name] [-P password] [-S server_name]
[-i input_file] [-o output_file] [-a packet_size]
[-b] [-o] [-l time_out] [-x max_text_size]
Wiele z tych parametrów jest podobnych do parametrów OSQL.exe, ale nie należy używać tego narzędzia w SQL Server 2000, z wyjątkiem obsługi zadań, które działają w poprzednich wersjach.
Makepipe/Readpipe
Narzędzi makepipe i readpipe można używać do weryfikacji integralności systemu plików Named Pipes. Ponieważ SQL Server 2000 nie korzysta już domyślnie z Named Pipes, narzędzia te nie są instalowane domyślnie. W przypadku problemów związanych z Named Pipes, można przekopiować te programy z katalogu x86\binn z płyty instalacyjnej CD do katalogu \binn SQL Servera. Instrukcje użytkowania tych narzędzi można znaleźć w SQL Server Books Online.
ODBCPing
ODBCPing pozwala na sprawdzenie czy ODBC działa prawidłowo od klienta do połączenia z SQL Serverem.
odbcping [-?] | [{-Sserver | -Ddatasource} [-Ulogin] [-Ppassword] }
Znaczenie składni:
-S określa serwer, do którego użytkownik chce się podłączyć.
-D określa nazwę źródła danych ODBC.
-U określa identyfikator logowania ID, jaki jest używany do połączenia z SQL Serverem.
-P określa hasło dla wybranego identyfikatora logowania (ID).
W przypadku SQL Servera 2000 program ten nie jest instalowany domyślnie. Jednak, jest on dostępny w katalogu x86\binn na płycie instalacyjnej SQL Servera 2000. Należy przekopiować program do katalogu \binn (w przypadku instalacji kopii domyślnej omówionej w tej książce jest to ścieżka d:\program Files\Microsoft SQL Server\mssql\binn). Następnie należy przetestować połączenie.
Po uruchomieniu wiersza poleceń, należy wpisać następujące polecenie aby połączyć się z kopią SQL Servera, wpisując nazwę własnego serwera w miejsce przykładowego (RHOME\Trade):
odbcping -Srhome\trade -Usa -P
Serwer powinien odpowiedzieć podobnie jak przedstawiono poniżej:
F:>odbcping -Srhome\trade -Usa -Ppassword
CONNECTED TO SQL SERVER
ODBC SQL Server Driver Version: 2000.80.0100
SQL Server Version: Microsoft SQL Server 2000 - 8.00.100 (Intel X86)
Apr 18 2000 01:19:00
Copyright (c) 1988-2000 Microsoft Corporration
Enterprise Edition on Windows NT 5.0 (Build 2195: )
Taka odpowiedź serwera oznacza, że ODBC działa bez zarzutu. Można również połączyć się z ODBC DSN (Data Source Name), które jest istniejącym połączeniem do serwera skonfigurowanym przy pomocy aplikacji Data Sources (ODBC) w folderze Administrative Tools.
Narzędzie ODBCPing nie obsługuje połączeń ze zintegrowanym zabezpieczeniem, czyli nie może być używane z instalacją domyślną SQL Servera, która jest w trybie dopuszczającym jedynie zintegrowane zabezpieczenie (tak jak kopia domyślna).
Narzędzia diagnostyczne i konserwacyjne serwera
Narzędzia diagnostycznie i konserwacyjne serwera jest to zbiór używany wielokrotnie po zainstalowaniu SQL Servera 2000.
SQLServr.exe
SQLServr.exe jest to konkretny program uruchamiający SQL Server (dla domyślnej kopii, jest to usługa MSSQLServer). Jednak, jest możliwość uruchomienia SQL Servera z wiersza poleceń. SQL Server byłby uruchamiany w ten sposób jeśli należało by go uruchomić w trybie pojedynczego użytkownika (single-user mode). Procedura ta jest omówiona szczegółowo w rozdziale 8 „Odtwarzanie bazy danych”, ponieważ w przypadku odtwarzania bazy danych SQL Server jest na ogół uruchamiany w trybie pojedynczego użytkownika.
sqlservr [-sinstancename] [-c][-f] [-dmaster_path] [lmaster_log_path]
[-m] [-n] [-eerror_log_path] [-pprecision_level] [-Ttrace#]
[-v] [-x] [-g number] [-O] [-y number]
Składnia:
-s określa nazwę uruchamianej kopii. Należy opuścić ten parametr jeśli zamierza się uruchamiać ręcznie domyślną kopię SQL Servera. W innym przypadku należy określić tą opcję, nawet jeśli wywołuje się SQLServr.exe z katalogu \binn kopii nazwanej.
-c określa, że SQL Server powinien działać jako program, a nie jako usługa Windows 2000. Używanie tego parametru powoduje, że SQL Server uruchamia się szybciej w oknie poleceń.
-f oznacza, że SQL Server powinien zostać uruchomiony w konfiguracji minimalnej. Należy określić tę opcję, kiedy ręcznie zostały ustawione własności konfiguracji, nie pozwalające na normalne uruchomienie SQL Servera. Jest to tryb awaryjny pozwalający na naprawę błędów jakie się popełniło przy konfiguracji ręcznej.
-d określa ścieżkę i nazwę pliku bazy danych master. Jeżeli opcja ta nie zostanie określona, w Rejestrze znajdzie się domyślna lokalizacja określona podczas instalacji i ta lokalizacja będzie używana. Domyślną lokalizacją jest: D:\Program Files\Microsoft SQL Server\mssql\data\master.mdf (lub inny napęd, wybrany podczas instalacji SQL Servera).
-l określa ścieżkę i nazwę pliku dziennika transakcji bazy danych master. Jeżeli opcja ta nie zostanie określona, w Rejestrze znajdzie się domyślna lokalizacja określona podczas instalacji i ta lokalizacja będzie używana. Domyślną lokalizacją jest D:\Program Files\Microsoft SQL Server\mssql\data\master.ldf (lub inny napęd, wybrany podczas instalacji SQL Servera).
-m określa, że SQL Server zostanie uruchomiony w trybie pojedynczego użytkownika i tylko jeden użytkownik może połączyć się z SQL Serverem w danym czasie. Można skorzystać z tej metody w sytuacji odzyskiwania bazy danych po utracie istotnych plików danych (np.: w przypadku odtwarzania bazy danych master z kopii bezpieczeństwa).
-n wyłącza rejestrację błędów w dzienniku zdarzeń Windows NT/2000 (nie zalecane).
-e podaje ścieżkę i nazwę pliku dziennika błędów SQL Servera. Domyślnie jest to D:\Program Files\ Microsoft SQL Server\mssql\log\errorlog (lub inny napęd, wybrany podczas instalacji SQL Servera).
-p określa maksymalną dozwoloną precyzję (dokładność) dla danych typu numerycznego i dziesiętnego. Domyślnie, SQL Server zezwala na przetrzymywanie do 38 cyfr w danych tego typu. Jednak, można zmienić to ustawienie przez określenie innej liczby od 1 do 38. Należy określić tą liczbę, jeśli nie chce się zezwalać na tak duże liczby w SQL Serverze, lub dla zachowania zgodności wstecz z wcześniejszymi wersjami (jak np.: SQL Server 7.0), które nie obsługiwały domyślnie takiej dużej precyzji.
-T określa znacznik śladu do wykorzystania w SQL Serverze. Znacznik śladu jest przełącznikiem numerycznym, który informuje SQL Server aby umożliwił specjalną (niestandardową) reakcję. Na ogół ustawia się te znaczniki na polecenie obsługi technicznej SQL Server Product Support. Aby określić więcej niż jeden, należy użyć wielu opcji -T.
-v wyświetla numer wersji sqlservr.exe.
-x wyłącza statystyki wydajności SQL Servera (nie zalecane).
-g określa ilość pamięci, jaką użytkownik chce zarezerwować dla aplikacji (takich jak rozszerzone procedury składowane) uruchamianych w procesach SQL Servera. Nie należy modyfikować tych zaawansowanych opcji konfiguracyjnych bez wyraźnego powodu.
-O wyłącza DCOM i zapytania rozproszone. Należy ustawić tę opcję, przy założeniu, że nie będzie się nigdy uruchamiać zapytań rozproszonych.
-y pobiera numer błędu jako parametr. Jeżeli opcja jest określona, zapisuje zrzut stosu do dziennika błędów SQL Servera, gdy napotka błąd o tym numerze. Nie powinno się używać tej opcji, chyba, że zaleci to inżynier wsparcia technicznego SQL Servera.
Dla przykładu należy zatrzymać SQL Server przy pomocy SQL Service Control Manager lub SQL Server Enterprise Manager, a następnie otworzyć wiersz poleceń. Przełączyć się do katalogu \binn kopii domyślnej i wpisać następujące polecenie:
D:\Program Files\Microsoft SQL Server\MSSQL\Binn>sqlservr.exe -c
SQL Server uruchomi się w oknie poleceń. Na rysunku 3.34 pokazano SQL Server, przygotowany do rozpoczęcia logowania przy pomocy narzędzia do wykonywania zapytań.
Rysunek 3.34 SQL Server uruchomiony w oknie poleceń. |
|
Aby zatrzymać sqlservr.exe, należy nacisnąć Ctl+C gdy okno poleceń jest aktywne; wtedy pojawi się komunikat:
Do you wish to Shutdown SQL Server (Y/N)?
Należy wpisać Y i SQL Server zostanie zatrzymany. Można potem, w razie potrzeby uruchomić SQL Server jako usługę.
Narzędzie Rebuild Master
Narzędzie Rebuild Master odbudowuje bazę danych master, jak również pozostałe bazy msdb, model, tempdb, pubs i Northwind. Narzędzie jest używane z następujących przyczyn:
dysk twardy został uszkodzony i nie istnieją kopie bezpieczeństwa
chce się zmienić domyślne ustawienie kodowania znaków
została uszkodzona baza danych master.
Po uruchomieniu tego narzędzia tworzone są nowe kopie każdej z baz danych, pobierane z płyty CD SQL Servera 2000, a następnie stosowany jest wybrany zestaw znaków. Żadna z baz danych (dodatkowych, oprócz wymienionych) zdefiniowanych we wcześniejszym SQL Serverze nie zostaje zachowana, należy je utworzyć ponownie lub „dołączyć ponownie” do danego SQL Servera.
Na ogół odbudowuje się bazę master w przypadku odzyskiwania baz danych po awarii. Zagadnienia te zostaną omówione w rozdziale 8.
Opcja Registry Rebuild
Można skorzystać z tej opcji, kiedy rejestry systemu Windows zostały z jakiegoś powodu uszkodzone lub kiedy wykonanie tej czynności zostaje zlecone przez pracownika wsparcia technicznego Microsoft SQL Servera. Registry Rebuild tworzy od nowa wszystkie klucze rejestru, które były wpisane podczas wcześniejszej instalacji.
Aby uruchomić Registry Rebuild, należy uruchomić ponownie program instalacyjny, wybrać konserwację bieżącej instalacji, określić nazwę kopii, jeżeli jest to kopia nazwana, a następnie kliknąć Advanced Options. Następnie należy wybrać z menu Registry Rebuild i postępować zgodnie z wymaganiami programu instalacyjnego. Należy wybrać dokładnie te same opcje, jak podczas poprzedniej instalacji, aby przywrócić rejestry do stanu używalności.
SQLMaint.exe
Polecenie SQLMaint.exe obsługuje standardową procedurę pielęgnacyjną systemu, włączając w to kopie zapasowe, sprawdzenie spójności i utrzymanie indeksu. Kreator w SQL Server Enterprise Manager, zwany Database Maintenance Plan Wizard, pomaga w konfiguracji planów konserwacji i tworzenia kopii bezpieczeństwa baz danych, nie wymagając specjalnej wiedzy na temat ich mechanizmów działania. Kreator konfiguruje automatyczne zadania, które wywołują to narzędzie. Istnieje wiele opcji tego narzędzia, wiele z nich ma mniejsze znaczenie w obecnej chwili. Jednak, po zapoznaniu się z rozdziałem 18 „Planowanie zadań z SQL Server Agentem”, który omawia konfigurację SQL Server Agenta, włączając w to ustawienie planowanych zadań, można wrócić do poniższej składni i przyglądnąć się, jak używać tego programu do zautomatyzowania większości zadań pielęgnacyjnych serwera baz danych. Podstawowa składnia została omówiona, jednak z ilości parametrów widać, że ręczna konfiguracja SQLMaint.exe może być nieco trudna:
sqlmaint [-?] | [-S server] [-U login_ID] [ -P password]]
{ [-D database_name | -PlanName name | -PlanID guid]
[ - Rpt report_file [-DelTxtRpt time_period] ] [-To operator_name]
[-HtmlRpt report_file [-DelHtmlRpt time_period] ]
[-RmUnusedSpace threshold_percent free_percent]
[-CkDB | -CkDBNoIdx] [-CkAl | -CkAlNoIdx] [-CkCat]
[-UpdSts] [-UpdOptiStats sample_percent]
[-RebldIdx free_space] [ -WriteHistory]
[ {-BkUpDB [backup_path] | -bkUpLog [backup_path] }
{-BkUpMedia {DISK [ [ -DelBkUps time_period]
[-CrBkSubDir] [ -UseDefDir] ]
| TAPE }}
[ -BkUpOnlyIfClean]
[-VrfyBackup] ] } ]
Składnia:
-S, jak w innych narzędziach, jest to nazwa serwera, na którym pracuje użytkownik (lub w przypadku kopii nazwanej serwer\nazwakopii)
-U określa nazwę użytkownika logującego się aby używać tego narzędzia
-P jest hasłem do określonej wcześniej nazwy użytkownika. Jeżeli parametry -U i -P zostaną opuszczone, tworzone jest zaufane połączenie (Windows Integrated) do SQL Servera.
-D określa nazwę bazy danych, którą się zarządza.
-Rpt jest parametrem, określającym gdzie umieszczać takie informacje jak wyjściowy plik raportowania błędów z działania tego narzędzia. Powinna zostać podana ścieżka i nazwa pliku.
-To jest to nazwa konta poczty elektronicznej, do której ma zostać wysłana kopia raportu. Integracja z pocztą elektroniczną (zwana SQLMAIL) zostanie omówiona w rozdziale 19.
-HtmlRpt jest parametrem określającym, gdzie umieszczać takie informacje jak wyjściowy plik raportowania błędów (w postaci strony HTML) z działania tego narzędzia. Powinna zostać podana ścieżka i nazwa pliku.
-RmUnusedSpace jest parametrem nakazującym SQLMaint.exe usunięcie całej wolnej przestrzeni w bazach danych większej niż określa parametr threshold_percent jeśli baza danych ma ustawiony (domyślnie) nieograniczony wzrost. Baza danych zmniejsza się, pozostawiając procent wolnej pamięci określony parametrem free_percent. Dlatego, w przypadku 100 MB bazy danych, w której jest używanych jedynie 50 MB, jeżeli parametr free_percent został ustawiony na 10, baza danych będzie mogła się rozrastać jedynie do 55 MB (ponieważ 10% z używanych 50 MB to 5 MB, baza danych będzie miała pozostawione 5 MB wolnej przestrzeni).
-CkDB | CkDBNoIdx - te parametry uruchamiają polecenie DBCC Checkdb. Polecenie to jest omówione szerzej w rozdziale 7 „Tworzenie kopii bezpieczeństwa baz danych”.
-CkAI | CkAINoIdx - te parametry uruchamiają polecenie DBCC Checkalloc. Więcej szczegółów dostarczy rozdział 7.
-CkTxtAl jest to polecenie DBCC Textall. Więcej szczegółów w rozdziale 7.
-CkCat jest to polecenie DBCC CHECKCATALOG. Więcej szczegółów w rozdziale 7.
-UpdSts uruchamia polecenie Update Statistics. Statystyki zostaną omówione w rozdziale 13.
-UpdOptiSts uruchamia polecenie Update Statistics z opcjonalnym parametrem. Statystyki zostaną omówione w rozdziale 13.
-Rebldldx uruchamia polecenie DBCC DBREINDEX w celu ponownego ustawienia współczynnika wypełnienia indeksów - szczegóły w rozdziale 13.
-WriteHistory rejestruje, że plan konserwacji był uruchamiany w tabeli systemowej bazy danych MSDB (tabela sysdbmaintplan_history).
-BkUpDB | BkUpLog określa miejsce składowania kopii bezpieczeństwa. Można tworzyć kopię całej bazy danych lub tylko dziennika transakcji. Kopie bezpieczeństwa zostaną omówione w rozdziale 7.
-BkUpMedia określa czy kopia bezpieczeństwa jest tworzona na dysku czy na taśmie.
-DelBkUps określa, jak długo mają być przechowywane kopie zapasowe na dysku. Parametr time_period jest określony w postaci number[minutes | hours | days | weeks | months].
-BkUpOnlyIfClean określa, że kopia bezpieczeństwa bazy danych powinna być tworzona tylko w przypadku gdy baza nie jest uszkodzona. Jest to bardzo istotna funkcja tego narzędzia, będzie ona omawiana w rozdziale 7.
-VrfyBackup sprawdza czy kopia bezpieczeństwa jest możliwa do odczytania po jej utworzeniu. Ten parametr jest omówiony w rozdziale 7.
Przykładowo, można wpisać:
sqlmaint -S rhome -D master -CkDB -Rpt d:\maint.txt
aby uruchomić polecenie DBCC CHCKDB w bazie danych master kopii domyślnej SQL Servera, raport zostanie umieszczony w katalogu głównym dysku D:, w pliku maint.txt.
Większość z przedstawionych opcji będzie bardziej zrozumiała po przestudiowaniu całości książki, dlatego też często występują tutaj odwołania do innych rozdziałów („szczegóły omówiono w rozdziale x”).
SQLDiag.exe
Narzędzie SQLDiag pomaga przygotować się do rozmowy z pracownikiem wsparcia technicznego SQL Server Product Support. SQLDiag gromadzi dzienniki błędów, informacje na temat konfiguracji serwera, wersje SQL Servera (włączając w to stosowane pakiety serwisowe), informacje o systemie operacyjnym, informacje systemowe komputera i inne informacje potrzebne do rozwiązywania problemów. SQLDiag umieszcza te wszystkie informacje w pojedynczym pliku. Plik ten, zwany SQLDIAG.txt umieszczony jest domyślnie w katalogu \mssql\log.
sqldiag [-S server] [-U login_ID] [-P password] [-e] [-O outputfile]
Znaczenie składni:
-S, jak w innych narzędziach, jest to nazwa serwera, na którym pracuje użytkownik (lub w przypadku kopii nazwanej serwer\nazwa_kopii)
-U określa nazwę użytkownika logującego się aby używać tego narzędzia
-P jest hasłem do określonej wcześniej nazwy użytkownika. Jeżeli parametry -U i -P zostaną opuszczone, tworzone jest zaufane połączenie (Windows Integrated) do SQL Servera.
-E określa, że użytkownik chce się połączyć przy pomocy zabezpieczenia zintegrowanego.
-O określa ścieżkę i nazwę pliku, do którego ma być kierowany raport.
Należy wydrukować powstały plik tekstowy (lub skopiować go w bezpieczne miejsce) ponieważ zawiera on wiele wartościowych informacji na temat danego systemu. Uruchomienie tego narzędzia i dostarczenie informacji pracownikom Microsoft's Product Support znacznie przyspieszy wszelką obsługę ze stron wsparcia technicznego firmy Microsoft.
BCP: Jedyny w swojej klasie
Skrót BCP oznacza Bulk Copy Program. Narzędzie to ładuje dane z pliku do SQL Servera lub eksportuje dane z SQL Servera do pliku. Szczegóły i składnia tego narzędzia zostaną omówione w rozdziale 19.
2 Część I ♦ Podstawy obsługi systemu WhizBang (Nagłówek strony)
2 E:\jowita\helion\MSSQLServ3.doc
[Author ID1: at Wed Feb 7 01:13:00 2001 ][Author ID1: at Wed Feb 7 01:13:00 2001 ][Author ID1: at Wed Feb 7 01:13:00 2001 ][Author ID1: at Wed Feb 7 01:13:00 2001 ][Author ID1: at Wed Feb 7 01:13:00 2001 ]Kopii czy instancji ?? Dylemat z poprzednich rozdziałów. [Author ID1: at Wed Feb 7 01:13:00 2001 ]Został jakoś wyjaśniony ?[Author ID1: at Wed Feb 7 01:14:00 2001 ][Author ID0: at Thu Nov 30 00:00:00 1899 ]
jdras, Nie mam pojęcia. [Author ID1: at Thu Feb 8 23:50:00 2001 ]Miał to wziąć na warsztat jakiś helionowy szpec od trudnych słów i słuch o tym zaginął. Moim zdaniem jedna[Author ID1: at Thu Feb 8 23:51:00 2001 ]k [Author ID1: at Thu Feb 8 23:51:00 2001 ]użycie w tym kontekście słowa 'kopia' jest błędem.[Author ID1: at Thu Feb 8 23:52:00 2001 ] [Author ID1: at Thu Feb 8 23:51:00 2001 ]
Jeśli taki jest polski tytuł?