| Termin | Definicja |
|---|---|
| Harmonogram zadania | Harmonogram zadania to ogólne określenie zaplanowanego cyklu wykonywania danej operacji przez SQL Server Agent. Rola harmonogramu w SQL Server AgentHarmonogram zadania w SQL Server Agent określa, kiedy i jak często ma zostać uruchomiony krok albo całe zadanie zdefiniowane w instancji SQL Server. Sam harmonogram nie zawiera instrukcji wykonywanej operacji. Jest powiązany z zadaniem, które składa się z jednego lub większej liczby kroków. Krok może uruchamiać polecenie Transact-SQL, pakiet SSIS, polecenie systemu operacyjnego albo inną czynność obsługiwaną przez SQL Server Agent. Dzięki oddzieleniu harmonogramu od definicji zadania tę samą operację można uruchamiać według różnych planów, a jedno zadanie może mieć przypisanych kilka harmonogramów. Konfiguracja harmonogramu obejmuje między innymi typ częstotliwości, godzinę rozpoczęcia, ewentualną datę zakończenia oraz zakres obowiązywania. SQL Server Agent rozróżnia harmonogramy jednorazowe i cykliczne. Dla cyklu można określić wykonywanie codzienne, tygodniowe albo miesięczne. Dostępne są również ustawienia częstotliwości w ciągu dnia, na przykład o określonej godzinie, co określoną liczbę minut lub co określoną liczbę godzin. Harmonogram może być aktywny albo nieaktywny, co pozwala zachować jego definicję bez uruchamiania powiązanego zadania. Częstotliwość, zakres czasu i warunki uruchomieniaW harmonogramie SQL Server Agent występują dwa uzupełniające się poziomy częstotliwości. Pierwszy określa dni, w których zadanie ma działać. Przy częstotliwości tygodniowej można wskazać konkretne dni tygodnia oraz interwał liczony w tygodniach. Przy częstotliwości miesięcznej można wybrać konkretny dzień miesiąca albo regułę typu określony dzień tygodnia w danym tygodniu miesiąca. Drugi poziom wskazuje porę wykonywania w wybranym dniu: pojedynczą godzinę albo przedział dobowy z powtarzaniem co ustalony interwał. Istotne jest rozróżnienie czasu rozpoczęcia harmonogramu od czasu rozpoczęcia zadania. Harmonogram może obowiązywać od wskazanej daty, a jego aktywność może zostać ograniczona datą końcową. Przy wykonywaniu wielokrotnym można określić godzinę rozpoczęcia i zakończenia przedziału dziennego. Jeżeli zadanie trwa dłużej niż odstęp pomiędzy kolejnymi uruchomieniami, SQL Server Agent nie powinien być traktowany jako mechanizm kolejkowania wielu równoległych kopii tego samego zadania. W praktyce trzeba sprawdzić historię zadań, czas trwania kroków i zachowanie konkretnej konfiguracji, ponieważ nakładanie się uruchomień może prowadzić do blokad, konfliktów danych albo odrzucenia kolejnego wykonania. Powiązanie harmonogramu z zadaniem i historia wykonańHarmonogram jest osobnym obiektem SQL Server Agent i musi zostać przypisany do zadania, aby wywoływał jego wykonanie. W środowisku wieloinstancyjnym trzeba zweryfikować, na której instancji utworzono zadanie oraz harmonogram. Nazwa widoczna w SQL Server Management Studio nie jest wystarczającym dowodem, że operacja działa zgodnie z oczekiwaniem. Należy sprawdzić status zadania, przypisane harmonogramy, daty następnego i poprzedniego uruchomienia oraz komunikaty zapisane w historii SQL Server Agent. Do analizy konfiguracji używa się między innymi widoków katalogowych w bazie Weryfikacja poprawności planu wykonywaniaSprawdzenie harmonogramu powinno rozpocząć się od porównania oczekiwanego cyklu z faktyczną konfiguracją. Trzeba zweryfikować, czy SQL Server Agent jest uruchomiony, czy harmonogram jest włączony oraz czy zadanie nie zostało wyłączone. Następnie należy porównać częstotliwość, dni tygodnia, zakres godzin i daty obowiązywania z wymaganiem operacyjnym. Błąd może wynikać nie tylko z nieprawidłowego interwału, lecz także z ustawienia jednorazowego uruchomienia, niewłaściwej strefy czasowej serwera albo braku przypisania harmonogramu do zadania. W diagnostyce warto analizować osobno wyzwolenie zadania i rezultat jego kroków. Jeżeli historia nie zawiera żadnej próby uruchomienia, przyczyną może być nieaktywny Agent, wyłączony harmonogram, błędna data rozpoczęcia lub brak powiązania. Jeżeli zadanie uruchamia się, lecz kończy błędem, sam harmonogram może działać prawidłowo, a problem może znajdować się w uprawnieniach konta uruchamiającego, treści kroku, dostępności pliku albo zależności od innego procesu. Przy pracy z komputerem, na którym zainstalowano narzędzia administracyjne SQL Server, analiza powinna obejmować również usługi, konfigurację instancji i logi systemowe. Diagnostyka takiego środowiska wymaga odtworzenia rzeczywistego przepływu: od aktywnego harmonogramu, przez uruchomienie zadania, aż po wykonanie każdego kroku i zapis wyniku. |