| Termin | Definicja |
|---|---|
| Widok msdb.dbo.sysjobsteps | Widok msdb.dbo.sysjobsteps zawiera definicje poszczególnych kroków zadań Agenta. Widok msdb.dbo.sysjobsteps jako katalog kroków zadaniaWidok Nie jest to tabela przeznaczona do ręcznego uzupełniania w ramach zwykłej administracji. Dane są tworzone i modyfikowane przez mechanizmy SQL Server Agent, na przykład podczas zakładania nowego kroku w SQL Server Management Studio, za pomocą procedur systemowych albo przez skrypt administracyjny. Odczyt z widoku ułatwia analizę konfiguracji bez konieczności otwierania kolejnych okien właściwości zadań. W praktyce widok bywa wykorzystywany do przygotowania inwentaryzacji automatyzacji, sprawdzania treści poleceń, wyszukiwania określonych procedur oraz porównywania konfiguracji między środowiskami. Należy pamiętać, że opis kroku nie jest równoznaczny z historią jego wykonań. Informacje o tym, czy krok rzeczywiście się zakończył, ile trwał i jaki komunikat zwrócił, należy analizować w historii zadań oraz w powiązanych źródłach diagnostycznych. msdb.dbo.sysjobsteps na tle definicji zadania i historii wykonańPełne zrozumienie widoku wymaga rozdzielenia trzech obszarów. Widok Najważniejszym powiązaniem jest identyfikator Istotne są także pola opisujące przepływ sterowania. Ustawienia dotyczące akcji po sukcesie i po błędzie wskazują, czy po zakończeniu kroku nastąpi przejście do kolejnego kroku, zakończenie zadania jako udane, zakończenie jako nieudane albo przejście do innego wskazanego kroku. Dzięki temu można odtworzyć logikę procesu, na przykład rozpoznać, czy etap kontrolny zatrzymuje kolejne działania, czy też błąd jest obsługiwany przez osobny krok powiadomienia. Warto odróżniać typ podsystemu od treści polecenia. Podsystem wskazuje sposób wykonania kroku, natomiast kolumna Typowe problemy wykrywane przez msdb.dbo.sysjobstepsJednym z częstszych problemów jest niespójna numeracja albo nieczytelne nazewnictwo kroków. Nazwa techniczna może być poprawna, lecz nie wyjaśniać celu operacji. Utrudnia to późniejszą diagnostykę, szczególnie gdy zadanie ma wiele etapów o podobnych poleceniach. Czytelne nazwy powinny wskazywać funkcję kroku, a opis powinien wyjaśniać oczekiwany rezultat oraz sposób obsługi błędu. Drugą grupę stanowią nieprawidłowe przejścia po sukcesie lub błędzie. Krok może kończyć się poprawnie, ale kierować wykonanie do niewłaściwego etapu. Możliwa jest też sytuacja odwrotna, w której pojedynczy błąd kończy całe zadanie, mimo że przewidziano krok naprawczy albo informacyjny. Analiza kolumn związanych z akcją po powodzeniu i po niepowodzeniu pozwala wykryć takie rozbieżności bez uruchamiania procesu. Problemy mogą dotyczyć również samego polecenia. W treści kroku może znajdować się odwołanie do obiektu, który został przeniesiony, zmieniono jego nazwę albo ograniczono dostęp do niego. Czasem skrypt działa w oknie zapytania, lecz nie działa jako zadanie, ponieważ używa innego kontekstu bazy danych, konta wykonującego lub ścieżki dostępu. Dlatego odczyt Warto zwrócić uwagę na kroki zawierające dane wrażliwe, hasła zapisane wprost, klucze dostępu albo niepotrzebnie szerokie uprawnienia. Widok może ujawnić treść polecenia osobie, która otrzymała dostęp do odpowiednich danych w bazie msdb. Zalecane jest ograniczanie uprawnień, unikanie umieszczania sekretów w skryptach oraz regularne przeglądanie kroków pod kątem nieaktualnych odwołań. Praktyczne wskazówki dla analizy msdb.dbo.sysjobstepsNajwygodniejsza analiza rozpoczyna się od połączenia kroków z nazwami zadań. Przykładowe zapytanie może zwrócić identyfikator zadania, jego nazwę, numer kroku, nazwę kroku, typ podsystemu, bazę domyślną oraz polecenie:
Takie zestawienie pozwala szybko zobaczyć, które zadania mają wiele kroków, gdzie występują polecenia wykonywane w konkretnej bazie oraz czy nazwy etapów odpowiadają ich przeznaczeniu. Przy większej liczbie zadań można dodać filtrowanie po nazwie zadania, podsystemie, bazie danych albo fragmencie polecenia. Należy jednak uważać na wyszukiwanie tekstowe, ponieważ polecenie może zawierać komentarze, zmienne, skrócone nazwy obiektów lub dynamicznie budowany tekst. Przed zmianą konfiguracji dobrze jest zapisać aktualny stan kroków, udokumentować cel modyfikacji i odnotować oczekiwany sposób zakończenia zadania. Po zmianie warto sprawdzić nie tylko treść kroku, lecz także kolejność, przejścia warunkowe, właściciela zadania, harmonogram i historię kolejnych wykonań. Szczególną uwagę należy poświęcić zadaniom uruchamianym cyklicznie, ponieważ błędna konfiguracja może powtarzać ten sam problem przy każdym uruchomieniu. Do diagnostyki przydatne jest porównanie konfiguracji z historią. Jeżeli treść kroku wygląda prawidłowo, ale historia wskazuje błąd, należy sprawdzić komunikat wykonania, kontekst bazy, dostępność obiektów, uprawnienia oraz ewentualne zależności zewnętrzne. Jeżeli natomiast historia pokazuje sukces, a oczekiwany efekt nie występuje, trzeba zweryfikować, czy krok wykonuje właściwe polecenie i czy przepływ przechodzi przez wszystkie wymagane etapy. Kiedy zgłosić się w sprawie msdb.dbo.sysjobsteps do serwisuDo serwisu warto zgłosić się wtedy, gdy analiza konfiguracji zadań łączy się z problemami sprzętowymi lub systemowymi, na przykład niestabilnym działaniem komputera, błędami dysku, problemami z uruchamianiem systemu albo utratą dostępu do danych potrzebnych do pracy. W takich przypadkach pomoc może obejmować sprawdzenie komputera, przygotowanie kopii danych, uporządkowanie środowiska pracy oraz podstawową ocenę przyczyn, dla których zadania nie wykonują się prawidłowo. W Warszawie takie zgłoszenie można skierować do firmy Warszawskie Pogotowie Komputerowe 24/7, przekazując model urządzenia, objawy, treść komunikatu oraz informację, czy problem dotyczy jednego zadania, czy większej części środowiska. Przed przekazaniem sprzętu warto przygotować kopię ważnych danych i nie usuwać plików diagnostycznych, logów ani konfiguracji, które mogą pomóc w odtworzeniu problemu. Jeżeli problem dotyczy wyłącznie definicji kroków, przydatne będzie dostarczenie bezpiecznego eksportu konfiguracji oraz opisu oczekiwanego przebiegu zadania. Nie należy przekazywać haseł, kluczy ani innych poufnych danych w treści zgłoszenia. W razie wątpliwości można wcześniej usunąć sekrety z kopii polecenia, pozostawiając strukturę, nazwy kroków, kolejność i ustawienia przejść potrzebne do analizy. |