Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Tworzenie i planowanie zadań

Termin Definicja
Tworzenie i planowanie zadań

Tworzenie i planowanie zadań to definiowanie ich kroków oraz harmonogramu wykonania w SQL Server Agent.

Elementy zadania w SQL Server Agent

Tworzenie zadania w SQL Server Agent polega na zdefiniowaniu obiektu, który opisuje czynność wykonywaną przez usługę agenta. Zadanie może zawierać nazwę, opis, właściciela, kategorię oraz jeden lub więcej kroków. Każdy krok określa konkretną operację i sposób jej wykonania, a kolejność kroków wyznacza przebieg całego procesu. Zadanie może uruchamiać instrukcje Transact-SQL, polecenia systemu operacyjnego, skrypty PowerShell, pakiety SQL Server Integration Services albo inne typy działań dostępne w danej instalacji SQL Server.

Kroki mają własne ustawienia wyniku. Dla każdego z nich można wskazać, co ma nastąpić po powodzeniu lub błędzie: przejście do kolejnego kroku, zakończenie zadania jako zakończonego powodzeniem albo zakończenie jako zakończonego błędem. Możliwe jest także przejście do wskazanego numeru kroku. Taki mechanizm pozwala budować procedury wieloetapowe, na przykład najpierw wykonać kontrolę stanu bazy, następnie przeprowadzić operację konserwacyjną, a na końcu zapisać wynik lub wysłać powiadomienie.

Harmonogramy, częstotliwość i warunki uruchomienia

Harmonogram SQL Server Agent określa, kiedy zadanie ma zostać uruchomione. Można ustawić wykonanie jednorazowe albo cykliczne, na przykład w określonych dniach tygodnia, dniach miesiąca lub w wybranych odstępach czasu. Harmonogram zawiera między innymi datę rozpoczęcia, opcjonalną datę zakończenia, godzinę rozpoczęcia okna wykonywania oraz częstotliwość powtarzania. W przypadku zadań cyklicznych istotne jest rozróżnienie między częstotliwością dzienną, tygodniową i miesięczną, ponieważ każda z nich ma odrębne reguły wyboru terminów.

Jedno zadanie może korzystać z więcej niż jednego harmonogramu. Oprócz uruchamiania według kalendarza zadanie może być wywołane ręcznie, przez alert SQL Server Agent albo przez inne mechanizmy automatyzacji. Przy planowaniu należy uwzględnić czas trwania operacji, możliwe nakładanie się kolejnych uruchomień oraz zależności od innych zadań. Jeżeli operacja konserwacyjna trwa dłużej niż odstęp między uruchomieniami, kolejne wykonanie może zostać opóźnione lub nie dojść do skutku zgodnie z konfiguracją agenta.

Kontrola przebiegu i obsługa błędów

SQL Server Agent zapisuje historię wykonania zadań, w tym czas rozpoczęcia, czas zakończenia, status oraz komunikaty dotyczące poszczególnych kroków. Historia umożliwia sprawdzenie, czy zadanie zakończyło się powodzeniem, ile trwało wykonanie i na którym etapie wystąpił problem. Dla kroków Transact-SQL komunikaty mogą zawierać informacje zwrócone przez silnik SQL Server, w tym błędy składni, błędy uprawnień, problemy z obiektami bazy danych albo przekroczenie limitu czasu.

Przy projektowaniu zadania warto jawnie określić reakcję na błąd. Samo uruchomienie polecenia nie gwarantuje poprawnego zakończenia całego procesu, jeśli skrypt nie zwraca właściwego kodu błędu lub nie przerywa działania po nieudanej operacji. W procedurach T-SQL stosuje się obsługę wyjątków, kontrolę wartości zwracanych oraz warunki sprawdzające stan danych. SQL Server Agent może również wysyłać powiadomienia operatorom po zakończeniu zadania, wystąpieniu błędu albo przekroczeniu określonego czasu wykonywania. Do analizy problemu przydatne są także dzienniki SQL Server Agent oraz komunikaty zapisane przez sam skrypt.

Planowanie zadań administracyjnych na serwerze SQL Server

Tworzenie zadań w SQL Server Agent jest funkcją administracyjną związaną z serwerem baz danych, dlatego wymaga prawidłowo skonfigurowanej usługi SQL Server Agent oraz odpowiednich uprawnień. Dostęp do zadań i możliwość ich uruchamiania zależą między innymi od członkostwa w rolach stałej bazy danych msdb: SQLAgentUserRole, SQLAgentReaderRole lub SQLAgentOperatorRole. Zakres widoczności i kontroli zadań różni się między tymi rolami, a właściciel zadania powinien mieć możliwość wykonywania czynności używanych przez jego kroki.

Przed wdrożeniem harmonogramu należy przetestować każdy krok ręcznie, sprawdzić konto wykonujące operację oraz zweryfikować zachowanie zadania po błędzie. Trzeba również ocenić, czy zaplanowane kopie zapasowe, sprawdzanie integralności i operacje indeksowania nie kolidują z obciążeniem produkcyjnej bazy. W przypadku problemów diagnostyka obejmuje historię zadania, logi agenta, konfigurację harmonogramu, stan usługi oraz uprawnienia użytego właściciela i podmiotu wykonującego krok. Neutralna naprawa komputera może obejmować także sprawdzenie stacji administracyjnej, z której zarządza się SQL Server Agent, w tym systemu Windows, połączenia z serwerem i poprawności działania narzędzi klienckich.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę