| Termin | Definicja |
|---|---|
| Harmonogramy zadań | Harmonogramy zadań to zbiorcze określenie wszystkich zaplanowanych cykli wykonywania operacji przez SQL Server Agent. Budowa harmonogramu zadań w SQL Server AgentHarmonogramy zadań w SQL Server Agent określają, kiedy i z jaką częstotliwością ma zostać uruchomione zadanie zapisane w instancji SQL Server. Samo zadanie, czyli job, jest kontenerem obejmującym nazwę, opis, właściciela, kroki wykonawcze oraz przypisane harmonogramy. Harmonogram nie zawiera zwykle właściwej operacji biznesowej. Określa jedynie warunki czasowe, po których SQL Server Agent rozpocznie wykonywanie danego zadania. Jedno zadanie może mieć kilka kroków oraz więcej niż jeden harmonogram. Krok może wykonywać instrukcję Transact-SQL, uruchamiać pakiet SQL Server Integration Services, wywoływać polecenie systemu operacyjnego albo korzystać z innego typu podsystemu obsługiwanego przez SQL Server Agent. Przejścia między krokami zależą od wyniku poprzedniego kroku: można wskazać kontynuowanie pracy, zakończenie zadania albo przejście do określonego numeru kroku po sukcesie lub błędzie. Typy częstotliwości i zasady uruchamianiaDefinicja harmonogramu obejmuje między innymi typ częstotliwości, interwał, porę rozpoczęcia oraz ewentualną datę zakończenia. SQL Server Agent obsługuje harmonogramy jednorazowe, dzienne, tygodniowe i miesięczne. Dla częstotliwości dziennej można ustalić powtarzanie w określonych odstępach godzin, minut lub sekund w ramach wyznaczonego przedziału czasu. Harmonogram tygodniowy może obejmować wybrane dni tygodnia, a harmonogram miesięczny może wskazywać konkretny dzień miesiąca albo regułę typu określony dzień tygodnia w danym tygodniu miesiąca. Oprócz uruchamiania według zegara zadanie może być wyzwalane przez zdarzenie, na przykład zmianę stanu SQL Server Agent, pojawienie się określonego komunikatu, sygnał zewnętrzny albo zakończenie innego zadania. Dostępne wyzwalacze zależą od konfiguracji i wersji SQL Server. Istotne jest rozróżnienie między harmonogramem a wyzwalaczem: harmonogram opisuje przede wszystkim czas, natomiast wyzwalacz może reagować również na zdarzenie. Zadanie może być przypisane do harmonogramu współdzielonego albo do harmonogramu utworzonego wyłącznie dla tego zadania. Kontrola wykonania, zależności i historiiSQL Server Agent zapisuje informacje o uruchomieniach zadań w bazie systemowej Znaczenie ma także zachowanie przy nakładaniu się uruchomień. Jeżeli zadanie trwa dłużej niż odstęp między kolejnymi planowanymi startami, następne uruchomienie może zostać pominięte lub obsłużone zgodnie z zasadami działania SQL Server Agent i konfiguracją zadania. Warto sprawdzić czas rozpoczęcia, czas zakończenia oraz częstotliwość, ponieważ zbyt krótki interwał może powodować kolejkę pracy, wielokrotne równoległe operacje albo niepełne przetwarzanie danych. Dla zadań zależnych od siebie bezpieczniejszym mechanizmem bywa warunek oparty na zakończeniu poprzedniego zadania zamiast niezależnych godzin uruchomienia. Konfigurację można tworzyć i analizować w SQL Server Management Studio albo za pomocą procedur systemowych SQL Server Agent, takich jak Diagnozowanie nieprawidłowych uruchomieńAnalizę należy rozpocząć od sprawdzenia, czy usługa SQL Server Agent działa i czy samo zadanie oraz przypisany harmonogram są włączone. Następnie trzeba porównać bieżący czas serwera z ustawieniami harmonogramu, uwzględniając strefę czasową, czas letni i ustawioną datę rozpoczęcia. Warto również zweryfikować właściciela zadania, konto używane przez poszczególne kroki oraz uprawnienia do baz danych, plików i zasobów sieciowych. Zadanie może mieć poprawnie zdefiniowany czas uruchomienia, ale mimo to zakończyć się błędem, jeśli konto wykonawcze nie ma dostępu do wymaganego obiektu. Przydatne jest porównanie definicji zadania z jego historią w |