| Termin | Definicja |
|---|---|
| msdb | msdb to baza systemowa SQL Server przechowująca definicje zadań Agenta, historię kopii zapasowych i alerty. Rola bazy msdb w SQL Servermsdb jest systemową bazą danych używaną przez Microsoft SQL Server do przechowywania informacji potrzebnych między innymi do obsługi SQL Server Agent, historii kopii zapasowych, alertów oraz części zadań administracyjnych. W przeciwieństwie do baz zawierających dane aplikacji nie służy ona do przechowywania tabel biznesowych sklepu, programu księgowego czy systemu magazynowego. Jej zawartość opisuje konfigurację i przebieg operacji wykonywanych przez sam silnik SQL Server oraz jego składniki. W msdb zapisywane są definicje zadań SQL Server Agent, czyli między innymi ich nazwy, kroki, harmonogramy, właściciele i warunki uruchamiania. Baza przechowuje także historię wykonań zadań, dzięki której administrator może sprawdzić, czy zlecona operacja zakończyła się powodzeniem, ile trwała i jaki komunikat zwrócił konkretny krok. Jeżeli msdb jest uszkodzona, niedostępna albo przywrócona w niespójnym stanie, automatyczne kopie zapasowe, konserwacja baz i inne zaplanowane czynności mogą przestać działać. Jakie informacje SQL Server zapisuje w msdbHistoria kopii zapasowych przechowywana w msdb pozwala odtworzyć informacje o wykonanych backupach baz danych. SQL Server zapisuje między innymi dane o bazie źródłowej, rodzaju kopii, czasie jej rozpoczęcia i zakończenia, urządzeniu lub pliku docelowym oraz identyfikatorze zestawu backupu. W praktyce administrator może na tej podstawie ustalić, kiedy wykonano ostatnią pełną kopię, czy istnieje odpowiedni backup różnicowy oraz jakie kopie dziennika transakcji są dostępne do odtworzenia. Same pliki kopii zapasowych nie znajdują się w msdb, chyba że ktoś celowo skonfigurował nietypowy mechanizm przechowywania danych; standardowo msdb zawiera ich metadane i historię. msdb zawiera również konfigurację alertów i operatorów używanych przez SQL Server Agent. Alert może reagować na określony błąd silnika, poziom ważności komunikatu albo zdarzenie wydajnościowe. Operator jest odbiorcą powiadomień, na przykład wiadomości wysyłanych przez Database Mail. W tej bazie mogą znajdować się także profile pocztowe, konta pocztowe, informacje o planach konserwacji oraz dane pomocnicze wykorzystywane przez komponenty administracyjne SQL Server. Zakres tabel i rekordów zależy od wersji oraz skonfigurowanych funkcji, dlatego nie każda instalacja ma identyczną zawartość msdb. Konserwacja, rozmiar i historia zadańmsdb jest bazą użytkową dla administracji SQL Server, dlatego wymaga regularnego nadzoru. Szczególną uwagę należy zwrócić na tabele historii zadań i kopii zapasowych. Przy dużej liczbie zadań, częstych backupach lub braku polityki czyszczenia historia może szybko zwiększać rozmiar pliku danych. SQL Server Agent udostępnia mechanizmy ograniczania historii zadań, a informacje o historii backupów można usuwać za pomocą procedur systemowych, takich jak Nie należy usuwać ręcznie rekordów z systemowych tabel msdb ani zmieniać ich struktury. Takie działania mogą naruszyć zależności między definicjami zadań, harmonogramami, właścicielami i historią wykonań. Przy analizie problemu warto najpierw sprawdzić stan bazy poleceniem Przywracanie msdb i analiza awarii automatyzacjimsdb powinna być objęta planem kopii zapasowych, ponieważ utrata tej bazy może oznaczać utratę definicji zadań Agenta, harmonogramów, operatorów, alertów i historii backupów. Przywrócenie msdb wymaga zgodności z konkretną instancją SQL Server oraz odpowiedniego przygotowania usługi. Po odtworzeniu należy zweryfikować, czy zadania mają prawidłowych właścicieli, czy harmonogramy są aktywne, czy SQL Server Agent może się uruchomić oraz czy zaplanowane powiadomienia działają. Jeżeli problem dotyczy braku oczekiwanej kopii zapasowej, sama obecność rekordu w msdb nie potwierdza istnienia pliku backupu. Trzeba dodatkowo sprawdzić wskazaną lokalizację, dostępność urządzenia lub udziału sieciowego oraz możliwość odczytu zestawu kopii za pomocą funkcji i poleceń przeznaczonych do weryfikacji backupów. W przypadku błędów zadań należy rozdzielić awarię definicji przechowywanej w msdb od problemu z uprawnieniami, ścieżką pliku, miejscem na dysku, usługą SQL Server Agent albo samym krokiem T-SQL. Taka separacja pozwala ustalić, czy źródłem usterki jest baza konfiguracyjna, wykonanie operacji, czy środowisko instancji SQL Server. |