MECHANIZMY AUTOMATYCZNE (SERVER AGENT): JOBS

Kursy Online SQL Server Bazy Danych Microsotf Automatyzacja Job Agent Andrzej Śmigielski

MECHANIZM AUTOMATYCZNY (SERVER AGENT) – JOB

 
          Jest to tak zwane „zadanie agenta”, czyli prostymi słowami mówiąc zadanie automatyczne, które wykonuje się wg określonego harmonogramu.

W tym temacie pokażę Ci w jaki sposób utworzyć JOB’a krok po kroku w SQL Server Management Studio.
Oczywiście całą procedurę tworzenia nowego JOB’a można zaimplementować w kodzie SQL, natomiast ja zademonstruję Ci „wyklikując” w SSMS – jest to zdecydowanie prostszy sposób, więc nie będę tego zbędnie komplikował.
 
 

UTWORZENIE JOB’a – KROK PO KROKU:

 
1. Na początku sprawdź, czy „SQL Server Agent” jest włączony, odpowiada on m.in. za pracę JOB’ów.
Jeżeli nie jest włączony to w menu rozwijanym klikając PPM na „SQL Server Agent” jest opcja „Start”, za pomocą której należy uruchomić agenta:

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

2. Następnie rozwiń węzeł „SQL Server Agent” i PPM kliknij na „Jobs” wybierając opcję „New Job…”:

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

3. Otworzy się okno „New Job”. W tym oknie na stronie „General” podaj/ustaw ogólne parametry JOB’a:
Nazwę JOB’a (Name): najlepiej adekwatną do tego, co robi.
Właściciela (Owner): tylko wskazana osoba będzie mogła edytować tego JOB’a albo użytkownik posiadający rolę sysadmin.
Kategorię (Category): JOB’y dzielą się na różne kategorie, wg rodzaju zadań, jakie wykonują.
Opis (Description): w kilku słowach co robi.
Oznacz jako aktywny (Enabled): Tak

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

4. Teraz przejdź do strony „Steps”, która dotyczy ustawienia kroku/kroków, jakie JOB będzie wykonywał. Na chwilę obecną nie ma jeszcze żadnego kroku, więc dodaj krok pierwszy klikając na „New…”. Otworzy się nowe okno „New Job Step”. W tym oknie na stronie „General” podaj/ustaw ogólne parametry kroku:
Nazwę kroku (Step name): najlepiej adekwatną do tego, co robi.
Typ kroku (Type): kroki dzielą się na różne kategorie, wg rodzaju zadań, jakie wykonują.
Uruchom jako (Run as): można wybrać użytkownika, czyli konto, na którym JOB będzie uruchamiany. Na chwilę obecną nie mamy nic do wyboru, więc zostawiamy tak jak jest.
Wybierz bazę (Database): czyli bazę, na której ten krok mechanizmu ma być wykonywany.
Wpisz kwerendę do wykonania (Command): w tym miejscu można zaimplementować własną kwerendę SQL.
W pierwszym przykładzie uruchomimy istniejącą procedurę (nic nie robiącą): EXEC dbo.KR20_P_Procedura_2_ParametrPrint 1:

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

5. Teraz w tym samym oknie „New Job Step” przejdź do strony „Advanced” w celu ustawień zaawansowanych opcji kroku:
Co ma się wydarzyć po zakończeniu działania kroku sukcesem (On success action): wybieramy przejście do następnego kroku. Jeśli jest tylko jeden krok tak, jak w naszym przypadku to JOB zakończy swoje działanie.
Czy mają być wykonywane kolejne próby wykonania kroku (Retry attempts): zostawiamy 0.
Jeżeli mają być kolejne próby wykonania tego kroku, to określamy interwał czasowy (Retry interval (minutes)): w naszym pierwszym JOB’ie nie ma kolejnych prób wykonania więc pozostawiamy ten parametr bez zmiany na 0.
Co ma się wydarzyć po zakończeniu działania kroku błędem (On failure action): ustawiamy wyjście z JOB’a z zapisaniem raportu o błędzie.
W razie potrzeby jest możliwość zapisywania logów w bazie danych. Jak później Ci pokażę jest dostęp do historii wykonań JOB’a, jednak administracyjnie można ograniczyć tą historię do określonej ilości z różnych (uzasadnionych oczywiście) powodów.
Uruchomienie kroku jako (Run as user): można wybrać użytkownika, czyli konto, na którym krok będzie uruchamiany. W tym celu kliknij na „…” przy tej opcji.
Otworzy się nowe okno „Select User”, w którym kliknij „Object Types…”. Otworzy się kolejne okno „Select Object Types”, w którym wybierz „User” i kliknij „OK”.

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

6. Teraz w oknie „Select User” kliknij opcję „Browse…”, otworzy się kolejne okno „Browse for Objects”, zaznacz w nim „[dbo]” i kliknij „OK”.

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

7. Teraz zamknij okno „Select User” klikając „OK”, oraz zamknij okno „New Job Step” klikając „OK”.
W tym momencie został utworzony pierwszy i w naszym przypadku jedyny krok JOB’a.

8. Teraz w oknie „New Job” przejdź do strony „Schedules” w celu ustalenia planu i kliknij „New…”. Otworzy się nowe okno „New Job Schedule”, w którym podaj/ustaw poniższe parametry:
Nazwę planu wykonania (Name): najlepiej adekwatną do tego, co robi.
Typ planu (Schedule Type): kiedy ten krok zadania ma być wykonywany.
Zwróć uwagę na checkbox „Enabled” – musi być oznaczony na Tak, żeby JOB w ogóle został wykonany.
Wszystkie pozostałe opcje zaznacz analogicznie, jak na zrzucie z ekranu. Zauważ, że w zależności od wybranej opcji częstotliwości, dostępne opcje są inne. W naszym przykładzie ustawimy dzienne działanie JOB’a, raz dziennie o godzinie 3:00 w nocy od dnia bieżącego do… brak określenia, czyli póki co, cały czas.

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

9. Kliknij „OK” zamykając okno „New Job Schedule” oraz zakończ tworzenie nowego JOB’a klikając „OK” w oknie „New Job”. To nie jest oczywiście koniec konfiguracji JOB’a. Zostało nam jeszcze wiele możliwych do ustawienia opcji, ale na obecną chwilę na tym zakończymy. Pozostałe opcje są stosunkowo zaawansowane – dotyczą opcji związanych z alertami oraz powiadomieniami, które wcześniej trzeba skonfigurować od strony administracyjnej.

10. Działanie JOB’a ustawiliśmy na godzinę 3:00 w nocy każdej doby, ale żeby od razu przetestować jego działanie, odśwież w SSMS w oknie „Object Explorer” węzeł „SQL Server Agent / Jobs” i PPM na JOB’ie „[ Pierwszy Job Uruchamiający Procedurę ]” kliknij opcję „Start Job at Step…”

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

11. Podczas działania JOB’a widoczne jest okno „Start Jobs – …”:

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

12. Klikając PPM na naszym JOB’ie wybierz „View History”:

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

13. Otworzy nam się okno „Log File Viewer”. Automatycznie w lewym panelu zaznaczony zostanie nasz JOB, a w prawym panelu są dostępne informacje dotyczące historii wykonań JOB’a – po rozwinięciu klikając w (+). Są tutaj istotne informacje szczególnie w przypadku wystąpienia błędu wykonania JOB’a:

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

14. JOB’a można włączać i wyłączać za pomocą opcji „Enable” i „Disable” w menu rozwijanym na wybranym JOB’ie:

Programowanie SQL Bazy Danych Mechanizmy Automatyczne Server Agent JOB

Przy wyłączonym agencie „SQL Server Agent” JOB’y nie są uruchamiane. Agent jest usługą odpowiadającą m.in. za uruchamianie naszych JOB’ów.
 
 

PLIKI DO ŚCIĄGNIĘCIA:

1. 011_Mechanizmy_Automatyczne_JOBS_Procedura.sql
 

KURSY SQL ONLINE