TechNet 3 kwartał


SERVER1: Wykorzystanie zjednoczonych serwerów baz danych



Pobieranie 3,43 Mb.
Strona4/11
Data24.02.2019
Rozmiar3,43 Mb.
1   2   3   4   5   6   7   8   9   10   11

SERVER1: Wykorzystanie zjednoczonych serwerów baz danych


Zadanie

Uwagi

Kroki

Pokaz użycia zjednoczonych serwerów BD.

Przegląd:

Zjednoczone serwery baz danych umożliwiają skalowanie serwera SQL na wiele maszyn. Podział bazy danych pomiędzy wiele wystąpień i/lub serwerów SQL umożliwia sprawniejszą obsługę większej liczby klientów.

Tabele w zjednoczonych bazach danych są dostępne przez widoki które można aktualizować, a które zawierają dwie lub więcej tabel rozłożonych pomiędzy komputerami i podzielonych przez ograniczenia dotyczące danych w każdej z tabeli.



Aktualizacje wykonywane przez widok nie wymagają podania nazwy konkretnej tabeli, tylko nazwy widoku zawierającego tabelę.

  1. Wybierz polecenie Start | Programs | Microsoft SQL Server | Query Analyzer.



Większość z uczestników może po raz pierwszy zobaczyć składnię wykorzystywaną przy łączeniu się z wystąpieniem serwera SQL Server 2000, dlatego warto zrobić w tym momencie chwilę przerwy.

  1. Po otworzeniu okna kliknij przycisk “…”, a następnie wybierz SERVER1\SQL2000 i kliknij przycisk OK. Upewnij się, że serwer pracuje w trybie SQL Server Authentication, zaś użytkownik SA ma puste hasło. Kliknij przycisk OK.






  1. Wybierz z menu polecenie File | Open, a następnie otwórz skrypt C:\FIELDCONTENT\TNT1-04\Demo\Demo Files\Scripts\FEDERATED (SQL 2000).SQL .



Kod w języku T-SQL w sekcji #1 tworzy zjednoczoną bazę danych w pierwszym wystąpieniu używanym w tej demonstracji (SQL2000). Następnie tworzy tabelę zatrudnionych (employees), która będzie wykorzystywana jako część widoku.

Bardzo ważne jest zwrócenie uwagi na następujące fakty: 1) tabela musi mieć klucz główny, 2) musi istnieć ograniczenie dotyczące danych wprowadzanych do tabeli.



  1. Podświetl tekst w sekcji #1 skryptu, a następnie wybierz z menu polecenie Query | Execute.



Teraz należy połączyć się z drugim wystąpieniem serwera SQL Server 2000 zainstalowanym na tej maszynie (SQL2000B).

  1. Wybierz z menu polecenie File | Connect. Kliknij przycisk “…”, a następnie wybierz SERVER1\SQL2000B i kliknij przycisk OK. Upewnij się, że serwer pracuje w trybie SQL Server Authentication, zaś użytkownik SA ma puste hasło. Kliknij przycisk OK.






  1. Wybierz z menu polecenie File | Open, a następnie otwórz skrypt C:\FIELDCONTENT\TNT1-04\Demo\Demo Files\Scripts\FEDERATED (SQL 2000B).SQL .



Kod w języku T-SQL w sekcji #1 tworzy zjednoczoną bazę danych na pierwszym wystąpieniu w tej demonstracji (SQL2000B). Następnie tworzy tabelę zatrudnionych (employees), która będzie wykorzystywana jako część widoku.

Warto podkreślić, że tym razem zastosowano inne ograniczenie. Zakres danych możliwych do wprowadzenia w tej tabeli jest inny niż zakres dla tabeli utworzonej wcześniej (w wystąpieniu SQL2000) – jest to warunek niezbędny do poprawnej pracy zjednoczonych serwerów. Jeśli warunek nie zostanie spełniony, to przy wyświetlaniu widoku zawierającego dane z obydwu tabeli pojawi się błąd.



  1. Zaznacz tekst w sekcji #1 skryptu, a następnie wybierz z menu polecenie Query | Execute.



Ten krok ma na celu pokazanie sposobu konfigurowania połączonych serwerów zainstalowanych na początku prezentacji.

  1. Uruchom program SQL Server Enterprise Manager. Znajdź gałąź drzewa SERVER1\SQL2000'>SERVER1\SQL2000 i otwórz w niej folder security.






  1. Kliknij symbol + obok elementu Linked Servers.



Należy wyjaśnić słuchaczom, że utworzenie relacji pomiędzy dwoma wystąpieniami serwera SQL wymaga skonfigurowania serwera dołączonego. Jest to krok, który umożliwi skryptowi utworzenie widoku odnoszącego się zarówno do danych lokalnych, jak i zdalnych.
Definicja serwera dołączonego składa się z dwóch kroków. Pierwszy z nich wymaga wskazania danych i serwera (tak jak pokazano w oknie początkowym).

Aby połączyć się z innym wystąpieniem serwera SQL na tej samej maszynie, należy wybrać usługę OLEDB provider for SQL Server, a następnie podać źródło danych (Data source) w postaci nazwaMaszyny\nazwaWystępienia.



  1. Kliknij prawym klawiszem myszy element SERVER1 i z menu podręcznego wybierz polecenie Properties.



W tym oknie konfiguruje się poświadczenia umożliwiające dostęp z serwera lokalnego do dołączonego.

Niektóre z opcji służą do tworzenia mapowań przy pomocy delegacji kont zabezpieczeń (security account) lub przy pomocy domyślnego konta (dla uproszczenia demonstracji).



  1. Kliknij zakładkę Security.







  1. Kliknij przycisk Cancel.







  1. Powróć do programu Query Analyzer i przy pomocy menu Window powróć do pierwszego z otwartych połączeń, odnoszącego się do SERVER1\SQL2000.






  1. Zaznacz tekst w sekcji #2 skryptu, a następnie wybierz z menu polecenie Query | Execute.







  1. Przy pomocy menu Window powróć do drugiego z otwartych połączeń, odnoszącego się do SERVER1\SQL2000B.



Uruchomienie sekcji #2

  1. Zaznacz tekst w sekcji #2 skryptu, a następnie wybierz z menu polecenie Query | Execute.







  1. Przy pomocy menu Window powróć do pierwszego z otwartych połączeń, odnoszącego się do serwera \SQL2000.



Sekcja #3 skryptu wykonuje dwie czynności: najpierw włącza opcję połączenia SET XACT_ABORT. Jest to niezbędny warunek działania zjednoczonych serwerów. Dopiero po włączeniu tej opcji można wstawić wiersz do tabeli.

Należy przeczytać rozdział BOL zatytułowany “Creating a Partitioned View”

W tym miejscu warto podać parę reguł obowiązujących przy tworzeniu widoków partycjonowanych.

Reguły dla tabel:





  • W kolumnach obliczanych nie może być indeksów

  • Tabele członkowskie (member tables) muszą mieć identyczny zbiór kolumn wchodzących w skład klucza podstawowego

  • Ustawienie ANSI_Padding musi być takie same



Reguły dla kolumn:



  • Wszystkie kolumny muszą znajdować się na liście wyboru

  • Kolumny muszą być w tej samej kolejności na liście wyboru

  • Kolumny na liście wyboru muszą być tego samego typu (np.: pierwsza kolumna jednej tabeli nie może być numeryczna, a drugiej tabeli – całkowita)



Niektóre reguły dotyczące partycjonowania kolumn:


  • Ograniczenia w poszczególnych tabelach nie mogą się pokrywać

  • Nie można pozwolić na stosowanie pustych wartości

  • Kolumna musi być częścią podstawowego klucza tabeli.


Niektóre reguły dotyczące modyfikowania danych:



  • Serwer SQL 2000 musi być w wersji Enterprise lub Developer

  • Nie wolno wykonywać operacji insert/update jeśli podstawowa tabela zawiera kolumnę timestamp

  • Nie wolno wykonywać operacji Insert jeśli tabela członkowska zawiera kolumnę identity

  • Nie można dołączyć serwera do samego siebie (nie można utworzyć pętli)

  • Opcja SET XACT_ABORT musi być włączona (ON).

  1. Zaznacz tekst w sekcji #3 skryptu, a następnie wybierz z menu polecenie Query | Execute.



Sekcja #4 wykonuje operację update i pokazuje uczestnikom, że wiersz, który został wstawiony do tabeli w pierwszym wystąpieniu serwera SQL (SQL2000), po wykonaniu operacji update został usunięty z tego wystąpienia serwera i przeniesiony do drugiego (SQL2000B).

W większości przypadków należy ograniczyć liczbę wierszy przenoszonych pomiędzy serwerami, ale w tej demonstracji chodziło o pokazanie faktu, że wstawiony wiersz po wykonaniu operacji update zostanie przeniesiony do tabeli której ograniczeniom będzie odpowiadał.



  1. Zaznacz tekst w sekcji #4 skryptu, a następnie wybierz z menu polecenie Query | Execute.

    Wyniki są lepiej widoczne, jeśli zostaną wyświetlone jako tekst (bez ramek). Aby wyłączyć wyświetlanie ramek, przed wykonaniem skryptu naciśnij klawisz CTRL+T.









  1. Zamknij wszystkie okna.






1   2   3   4   5   6   7   8   9   10   11


©operacji.org 2019
wyślij wiadomość

    Strona główna