Start > Kursy on-line > MS SQL Server Express

MS SQL Server Express


Tworzenie bazy danych i jej backup

W poprzednim rozdziale zasygnalizowaliśmy polecenie tworzenia nowej bazy danych. Dostępne ono było pod menu kontekstowym, dostępnym po użyciu prawego klawisza myszy w odpowiednim miejscu okna Object Explorer:



Po czym otworzy się okno, w którym będziemy mogli podać/ustawić właściwości nowotworzonej bazy danych:



W tym miejscu, zachowując domyślne ustawienia serwera, możemy podać po prostu nazwę nowej bazy (w oknie zaznaczonym na czerwono - my nadamy jej nazwę: "nowa_baza") i kliknąć przycisk OK. Na drzewie obiektów powinna być ona już widoczna, gdyby jednak jeszcze tak nie było, wystarczy kliknąć ikonę zaznaczoną na czerwono (polecenie Refresh, czyli odśwież - które uaktualnia listę obiektów):



Użyjmy teraz na nowym obiekcie prawego klawisza myszy, wyświetlając menu kontekstowe:



Kolejne polecenia umożliwiają:

  • New Database" - identyczne polecenie jak powyższe, które utworzyło bazę
  • New Query - otwiera puste okno, w którym możemy napisać dowolne zapytanie
  • Script Database as - rozwijany element menu, który zawiera funkcje generujące gotowe polecenia SQL:



    W przypadku bazy danych dostępne są jedynie "CREATE To" oraz "DROP To", oznaczające skrypty tworzenia lub usuwania bazy. Słowo "To" jest oznaczeniem gdzie ma być utworzony dany skrypt. W przypadku każdego skryptu mamy możliwość utworzenia go w oknie edytora ("New Query Editor Window"), zapisania od razu do pliku ("File"" - wówczas otworzy się okno z prośbą o podanie lokalizacji i nazwy pliku, w którym zapiszemy generowane polecenie), lub skopiowania polecenia do schowka systemu ("Clipboard"). Użyjmy pierwszej opcji i wyświetlmy polecenie SQL w oknie edytora:



    widzimy kompletne polecenie utworzenia nowej bazy o nazwie "nowa_baza", które odzwierciedla to, co zrobiliśmy podczas jej tworzenia wcześniej za pomocą poleceń graficznych. Zauważmy, że poza widniejącymi tu poleceniami SQL (CREATE - czyli utwórz, ALTER - czyli zmień) mamy też elementy związane ze wspomnianym wcześniej Transact SQL: EXEC - czyli uruchom, IF - czyli instrukcja warunkowa typu JEŻELI. Wszystko to powoduje, iż wygenerowany ciąg poleceń można by traktować niemal jako mały program. Kończąc ten wątek, należy podkreślić iż wystarczyło by użyć polecenia:

    CREATE DATABASE [nowa_baza]

    aby utworzyć nową bazę, a jej właściwości można poustawiać w późniejszym czasie. To polecenie jest tu kluczowe.
    Gdybyśmy wygenerowali skrypt dla polecenia typu DROP, czyli usuń - okno edytora wyglądałoby następująco:




    W tym przypadku najważniejsze jest polecenie:

    DROP DATABASE [nowa_baza]

    Samo jego użycie, spowoduje usunięcie bazy o nazwie "nowa_baza".
    Warto zauważyć jeszcze, że program automatycznie wziął nazwę obiektu bazy danych w kwadratowy nawias - zabezpieczył tym samym skrypt polecenia przed ewentualnością, iż w nazwie bazy jest znak spacji (jest to dopuszczalne, aczkolwiek niezalecane). Taki nawias należy stosować właśnie tam, gdzie występują nazwy obiektów zawierające spację - ma to odniesienie to wszystkich typów poleceń SQL.
  • Tasks - grupa pierwotnie omawianego menu kontekstowego, która zawiera szereg poleceń typowo administracyjnych:



    - Detach - służy "odłączaniu bazy" od danej instancji serwera SQL. W naszym przypadku mamy zainstalowany tylko jeden SQL Server, natomiast nietrudno sobie wyobrazić, że może być ich więcej (czy to na danym komputerze, czy też np. w sieci lokalnej) - wówczas może zajść potrzeba przeniesienia danej bazy z jednego serwera na drugi - w czym właśnie pomocne jest to polecenie. Po jego użyciu, kiedy baza jest odłączona, na obiekcie odpowiedniej instancji możemy przyłączyć ją ponownie wskazując plik bazy danych:



    po czym:



    - Shrink - polecenie służące do zmniejszania rozmiarów bazy danych:



    Ma za zadanie zwolnić niewykorzystywane miejsce, aby zmniejszyć rozmiary pojedynczych plików używanych przez bazę (opcja "Files") lub też całej bazy - czyli wszystkich plików związanych z daną bazą (opcja "Database").
    - Back Up... - polecenie umożliwiające zapis bazy danych na dysku lokalnym serwera. Po jego użyciu pojawi się okno, pytające o opcje zapisu:




    pozostawienie wszystkich opcji jako domyślne, spowoduje zapis całości bazy (wraz z danymi) na dysku serwera. Utworzony plik będzie miał rozszerzenie *.bak.
    - Restore - polecenie przeciwne do poprzedniego - służy przywracaniu bazy na serwerze SQL z pliku kopii zapasowej. Po jego użyciu pojawi się okno, w którym możemy wskazać plik:




    i następnie:



    - Generate Scripts - polecenie uruchamia kreatora generatora skryptów, które dotyczą określonej bazy danych. W zależności od podanych warunków, można np. wygenerować jeden wielki skrypt, odtwarzający całą strukturę bazy danych wraz z tabelami, procedurami składowanymi i innymi. Z mojego doświadczenia wynika niestety, iż narzędzie to nie jest doskonałe i czasami (w przypadku bardziej rozbudowanych baz, zawierających wiele tabel, widoków oraz procedur składowanych) tworzy skrypty z błędami.


Ostatnie cztery polecenia menu kontekstowego, na którym się skupialiśmy od początku to:

  • Rename - czyli zmiana nazwy bazy danych
  • Delete - usuwanie bazy danych
  • Refresh - odświeżanie wyświetlanych na drzewie obiektów
  • Properties - wyświetla okno właściwości bazy danych, gdzie możemy ustawić podobne jej cechy jak w oknie wyświetlanym w momencie jej tworzenia.