Ćwiczenie 3
Podstawy zarządzania bazami
danych MS SQL Server 2005.
Podstawowe czynności
administracyjne
Systemowe bazy danych
•
Otworzyć narzędzie SSMS
•
Połączyć się z lokalnym serwerem
•
Zapoznać się z systemowymi bazami
danych master, model, msdb, temp
danych master, model, msdb, temp
Utworzenie nowej bazy danych
•
Za pomocą SSMS utworzyć nową pustą bazę
danych o nazwie TEST i domyślnych parametrach
•
Wygenerować skrypt zakładający bazę i zapoznać
się z opcjonalnymi parametrami
•
Zmienić skrypt tak by baza była zakładana w
•
Zmienić skrypt tak by baza była zakładana w
wybranym katalogu
•
Zdefiniować w skrypcie rozmiar minimalny pliku
danych bazy
•
Założyć nową bazę danych o zmodyfikowanych
parametrach i sprawdzić czy wszystkie ustawione
opcje działają poprawnie
Grupy plików
•
Otworzyć okno tworzenia nowej bazy
SSMS
•
Wprowadzić nazwę bazy danych TEST
•
Przejść na zakładkę [Filegroups]
•
Przejść na zakładkę [Filegroups]
•
Dodać nową grupę plików SECO
•
Wrócić na zakładkę [General]
•
Za pomocą przycisku [Add] dodać nowy
plik danych o nazwie logicznej TEST_seco
•
Zakończyć proces zakładania bazy po OK
Grupy plików (c.d.)
•
Rozwinąć zakładkę [Tables] bazy TEST
•
Dodać nową tabelę PRIM o dowolnej
strukturze
–
W opcjach tabeli wybieramy grupę plików
PRIMARY
PRIMARY
•
Dodać nową tabelę SECOND o dowolnej
strukturze
–
W opcjach tabeli wybieramy grupę plików SECO
•
Wywołać okno wykonania kopii zapasowej i
zapoznać się z możliwościami kopiowania
poszczególnych grup plików bazy danych
Zmiana nazwy bazy
•
Zmienić nazwę bazy danych TEST na
dowolną wybraną za pomocą:
–
SSMS
–
T-SQL
–
T-SQL
•
Sprawdzić jak zmiana nazwy bazy danych
wpływa na nazwy jej plików na dysku
Przeniesienie bazy danych
•
Przenieść bazę danych wskazaną przez
wykładowcę do innej lokalizacji metodą:
–
Attach / detach
•
Z użyciem procedur oraz T-SQL
•
Z użyciem procedur oraz T-SQL
–
Backup / Restore
•
Do tej samej bazy
•
Do innej bazy
–
Kreator ‘Copy Database’
–
Kreator ‘Export Data’
Zarządzanie trybem
funkcjonowania bazy danych
•
Tryb pracy online / offline / emergency
–
Przeprowadzić bazę danych do w/w trybów
za pomocą poleceń
•
ALTER DATABASE [NAME] SET ONLINE
•
ALTER DATABASE [NAME] SET ONLINE
•
ALTER DATABASE [NAME] SET OFFLINE
•
ALTER DATABASE [NAME] SET
EMERGENCY
–
W każdym z tych trybów:
•
Nawiązać połączenie z bazą danych
•
Skopiować pliki danych *.mdf
•
Zmodyfikować zawartość bazy danych
Zarządzanie trybem
funkcjonowania bazy danych
•
Tryb pracy read-only / read-write
–
Przeprowadzić bazę danych do w/w trybów za
pomocą poleceń
•
ALTER DATABASE [NAME] SET READ_ONLY
•
ALTER DATABASE [NAME] SET READ_WRITE
–
W każdym z tych trybów:
•
Nawiązać połączenie z bazą danych
•
Spróbować zmodyfikować zawartość bazy danych
•
Pytanie: jak się będzie zachowywał dziennik
transakcji w każdym z tych trybów?
Zarządzanie trybem
funkcjonowania bazy danych
•
Tryb pracy multi/single/ restricted user
–
Przeprowadzić bazę danych do w/w trybów za pomocą
poleceń
•
ALTER DATABASE [NAME] SET MULTI_USER
•
ALTER DATABASE [NAME] SET SINGLE_USER
•
ALTER DATABASE [NAME] SET SINGLE_USER
•
ALTER DATABASE [NAME] SET RESTRICTED_USER
–
W każdym z tych trybów:
•
Spróbować nawiązać połączenie z bazą danych
–
a) z konta administratora
–
b) z konta zwykłego użytkownika
»
Skrypt zakładający konto wygenerować
zgodnie z zaleceniami wykładowcy
Zarządzanie trybem
funkcjonowania bazy danych
•
Przełączenie trybów pracy bazy danych
–
Podłączyć się do bazy danych z konta zwykłego
użytkownika za pomocą SQLCMD
–
Z innego połączenia wykonać po kolei
polecenia:
polecenia:
•
ALTER DATABASE [name] SET OFFLINE
–
a) jw.
–
b) WITH NO_WAIT
–
c) WITH ROLLBACK AFTER [sekund]
–
d) WITH ROLLBACK IMMEDIATE
•
Jak poszczególne polecenia działają na:
–
a) zwykłych użytkowników
–
b) administratorów (dbo)
Zmiana właściciela bazy danych
•
Domyślnym właścicielem bazy danych
TEST jest użytkownik ‘dbo’ skojarzony z
loginem ‘sa’
•
Dodajemy nowy login ‘test’
•
Dodajemy nowy login ‘test’
•
Wykonujemy polecenie
–
Exec sp_changedbowner ‘test’
•
Weryfikujemy we właściwościach bazy
danych (zakładka [Files]) nowego
właściciela bazy
Usuwanie bazy danych
•
Odłączyć wszystkich użytkowników od bazy
danych TEST
•
Wykonać polecenie
–
DROP DATABASE TEST
•
Jeśli usuwanie nie powiodło się, przeanalizować
•
Jeśli usuwanie nie powiodło się, przeanalizować
komunikat o błędzie i spróbować przeprowadzić
bazę do trybu z którego ją można będzie bez
problemów usunąć
•
Czy usunięcie bazy danych usuwa również pliki z
dysku? Kopie zapasowe bazy? Historię wykonania
kopii zapasowych?
Generowanie skryptów bazy
danych
•
Wybrać niepustą bazę danych
•
Wygenerować skrypt zakładający bazę danych
–
Context Menu | Script Database As ... | Create new Query
Window ...
–
Zapoznać się z domyślną składnią polecenia CREATE
DATABASE
DATABASE
•
Jakie elementy zapytania mogą zostać usunięte bez większego
wpływu na wynik działania skryptu?
•
Wygenerować skrypt zakładający strukturę bazy
danych
–
Context Menu | Tasks | Generate Scripts ....
–
Zapisać wygenerowany skrypt do nowego okna
–
Zastosować skrypt na innej niż źródłowa bazie i porównać
wyniki