Bazy danych systemów SQL Server

Bazy danych systemów SQL Server

Witamy, moi koledzy twórcy baz danych, w innym samouczku SQL Server.

W tym artykule wyrównamy naszą wiedzę SQL Server, rozumiejąc bazy danych systemowych dostarczone przez SQL Server i jaki jest dokładnie ich cel. Omówimy również DOS i nie, jeśli chodzi o system systemu SQL Server.

Bazy danych systemowych na SQL Server

W zależności od wersji i metody instalacji SQL Server, SQL Server zapewnia nam pięć głównych baz danych systemowych.

Te bazy danych obejmują:

  1. Baza danych główna
  2. Baza danych MSDB
  3. Baza danych modeli
  4. Baza danych zasobów
  5. Baza danych TEMPDB

Szybko przejdźmy przez to, co robią.

SQL Server Master baza danych

Pierwsza to główna baza danych. Ta baza danych systemowych przechowuje wszystkie informacje na poziomie systemu dla instancji serwera.

W tej bazie danych znajdziesz informacje, takie jak:

  1. Konta logowania
  2. Punkty końcowe
  3. Połączone serwery
  4. Ustawienia konfiguracji systemu
  5. Lokalizacje plików baz danych

Dlatego byłoby ogromnym niedopowiedzeniem, aby stwierdzić, że jest to krytyczna baza danych systemu. Jeśli główna baza danych jest uszkodzona lub brakuje, serwer SQL nie może uruchomić, dopóki nie zostanie naprawiony.

Jak można się domyślić, SQL Server ogranicza to, co możesz wykonać w podstawowych bazach danych.

Dlatego jesteś ograniczony od następujących:

  1. Upuść główną bazę danych
  2. Ustaw bazę danych na offline
  3. Ustaw bazę danych lub podstawową grupę plików na odczytanie
  4. Dodaj nowe pliki lub grupy plików do bazy danych
  5. Wykonaj dowolny inny rodzaj kopii zapasowej oprócz pełnej kopii zapasowej
  6. Zmień domyślną kolację lub właściciel głównej bazy danych. Domyślnie główna baza danych jest własnością użytkownika SA, a Server Collation jako domyślnie.
  7. Dodaj wyzwalacze w tabelach systemowych w głównej bazie danych
  8. Włącz przechwytywanie danych zmiany
  9. Zmień nazwę bazy danych lub podstawowej grupy plików
  10. Zarejestruj podstawową bazę danych w operacji lustra bazy danych
  11. Usuń użytkownika gościa z głównej bazy danych
  12. Utwórz wszelkie wyzwalacze w głównym DB

To jest ciężka baza danych.

Baza danych systemu SQL Server MSDB

Druga baza danych w bazach danych systemów SQL Server to baza danych MSDB. Ta baza danych jest odpowiedzialna za planowanie powiadomień i zadań używanych przez agenta SQL Server. Jest również używany przez inne funkcje, takie jak SSM, broker serwisowy i poczta bazy danych.

Podobnie upewnienie się, że masz zaktualizowaną kopię kopii zapasowej bazy danych MSDB, jest dobre.

Poniżej znajdują się ograniczenia bazy danych MSDB. Nie możesz zrobić następujących czynności:

  1. Zmień zestawienie bazy danych MSDB
  2. Upuść bazę danych
  3. Upuść użytkownika gościa z bazy danych MSDB
  4. Włącz przechwytywanie danych Zmiana
  5. Ustaw podstawową grupę plików na odczyt_only
  6. Usuń podstawową grupę plików, pliku dziennika lub podstawowego pliku danych
  7. Zmień nazwę bazy danych lub podstawowej grupy plików
  8. Ustaw bazę danych jako offline
  9. Zapisz lustrzanie bazy danych

SQL Server Model System baza danych

Baza danych modeli na serwerze SQL działa jako plan lub szablon dla wszystkich baz danych utworzonych na tym serwerze.

Po utworzeniu nowej bazy danych na serwerze pierwsza część bazy danych jest budowana przez kopiowanie treści modeli bazy danych. Następnie serwer SQL wypełnia resztę pustymi stronami.

Dlatego ważne jest, aby modelu baza danych istniała na serwerze. Wynika to z faktu, że serwer SQL tworzy tempdb na każdym uruchomieniu, który dziedziczy ustawienia modelu bazy danych.

NOTATKA: Wprowadzanie zmian w bazach danych modeli zapewniają, że wszystkie utworzone bazy danych odziedziczą wszystkie jego modyfikacje.

Podobnie modele baz danych dziedziczy podobne ograniczenia jak MSBD i główna baza danych. Jednak ponadto nie możesz zrobić:

  1. Utwórz procedury, widoki i wyzwalacze z opcją szyfrowania.

Baza danych systemu zasobów SQL Server

Baza danych zasobów to DB tylko do odczytu, który jest odpowiedzialny za przechowywanie wszystkich obiektów systemowych zawartych w serwerze SQL.

Ta baza danych nie przechowuje żadnych danych użytkownika ani metadanych użytkownika. Ta baza danych ułatwia aktualizację do nowszej wersji SQL Server.

Proces aktualizacji kopiuje plik bazy danych zasobów do serwera lokalnego i przetwarza aktualizację przez użytkownika bazy danych zasobów.

NOTATKA: W przeciwieństwie do innych baz danych systemowych, serwer SQL nie może utworzyć kopii zapasowej bazy danych zasobów. Jednak możesz to ręcznie poprzeć.

Baza danych SQL Server TEMPDB

Prawdopodobnie znasz tempdb na serwerze SQL. Ta baza danych przechowuje tymczasowe obiekty użytkownika, takie jak tabele tymczasowe, indeksy, procedury przechowywane, zmienne tabeli, kursory, funkcje itp.

Przechowuje także obiekty wewnętrzne, które są tworzone przez silnik bazy danych. Obejmują one tabele robocze, pliki robocze itp.

Wreszcie, TEMPDB przechowuje również sklepy z wersją. Sklepy wersji to zbiór stron danych, które zawierają wiersze danych do wersji wiersza.

DOS:

Poniżej znajdują się niektóre z operacji i zadań, które należy przestrzegać w zakresie baz danych systemowych:

  1. Aby uniknąć uszkodzenia instancji SQL Server, zawsze miej kopię zapasową dowolnych/wszystkich systemów baz danych przed wprowadzeniem jakichkolwiek zmian na serwerze.
  2. Przed zaangażowaniem.
  3. Jeśli chcesz pobrać informacje o systemie, użyj widoków katalogu systemu, SQL-SMO, procedur przechowywanych przez system i wbudowanych funkcji, funkcji katalogowych, metod i atrybutów oraz interfejsu WMI. Nigdy nie zapytaj BATES BATEABASE.

Donkty:

  1. Nigdy nie modyfikuj żadnej wartości bezpośrednio w bazach danych systemowych (z wyjątkiem tempdb).
  2. Nigdy nie włącz wiarygodnej właściwości w głównej bazie danych. To dramatycznie zmniejsza bezpieczeństwo twojego serwera, ponieważ serwer SQL zawsze ufa zawartości głównej bazy danych, złośliwy lub nie.
  3. Nigdy nie pisz zapytań Transact-SQL, które bezpośrednio zapytają dane z baz danych systemowych. Chyba że zapytanie o bazy danych systemowych jest jedynym sposobem na uzyskanie wspomnianych informacji.
  4. Nigdy nie modyfikuj ani bezpośrednio zapisz do żadnej bazy danych systemu.

To są pewne zasady i środki ostrożności dotyczące bazy danych systemu. Chociaż możliwe jest naprawa niektórych baz danych systemowych, prowadzi to do poważnej utraty danych i/lub może uczynić całą instancję SQL Server bezużyteczną.

Wniosek

Cieszymy się, że dołączyłeś do nas w naszej podróży, aby zbadać bazy danych systemowych na serwerze SQL. Mamy nadzieję, że nauczyłeś się czegoś, aby poprawić swoje umiejętności SQL Server i zostać lepszym administratorem bazy danych.

Dziękuje za przeczytanie! Do zobaczenia w naszym następnym samouczku.