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

Konfiguracja SQL Server Agent

Termin Definicja
Konfiguracja SQL Server Agent

Konfiguracja SQL Server Agent to ustawienie usługi odpowiedzialnej za harmonogramowanie i uruchamianie zadań serwera.

Rola SQL Server Agent w środowisku Microsoft SQL Server

SQL Server Agent jest usługą systemu Microsoft SQL Server przeznaczoną do automatyzowania zadań wykonywanych przez instancję bazy danych. Harmonogramuje i uruchamia obiekty nazywane jobs, czyli zadania składające się z jednego lub większej liczby kroków. Krok może uruchamiać instrukcję Transact-SQL, pakiet SQL Server Integration Services, polecenie systemu operacyjnego albo skrypt PowerShell, zależnie od używanej wersji SQL Server i konfiguracji środowiska. Agent może wykonywać zadanie według harmonogramu, w reakcji na alert lub na żądanie administratora.

Konfiguracja SQL Server Agent obejmuje zarówno uruchomienie samej usługi, jak i przygotowanie sposobu wykonywania zadań. W SQL Server Management Studio ustawienia znajdują się w węźle SQL Server Agent konkretnej instancji. Po rozwinięciu tego węzła można zarządzać zadaniami, harmonogramami, operatorami, alertami oraz proxy. Usługa musi działać, aby zadania zaplanowane i wyzwalane zdarzeniami mogły zostać uruchomione. Samo utworzenie joba nie oznacza jeszcze, że będzie on wykonywany, jeśli usługa pozostaje zatrzymana albo harmonogram jest nieaktywny.

Elementy zadania, harmonogramu i warunków uruchomienia

Podstawowym obiektem konfiguracji jest job. Każdy job ma nazwę, właściciela, opcjonalny opis oraz co najmniej jeden krok. Kroki są wykonywane w określonej kolejności, a dla każdego z nich można zdefiniować reakcję na sukces lub błąd, na przykład przejście do następnego kroku, zakończenie zadania albo przejście do wskazanego kroku. W kroku Transact-SQL określa się bazę, w której ma zostać wykonane polecenie. Jest to istotne, ponieważ niepoprawnie wskazany kontekst bazy może spowodować wykonanie instrukcji w innej bazie niż zakładano.

Harmonogram określa, kiedy job ma się uruchamiać. SQL Server Agent obsługuje między innymi harmonogramy jednorazowe, cykliczne, dzienne, tygodniowe i miesięczne. Przy konfiguracji cyklicznej ustala się częstotliwość, porę rozpoczęcia oraz opcjonalnie datę zakończenia. Harmonogram może być przypisany do jednego lub kilku zadań, dlatego zmiana jego parametrów może wpłynąć na więcej niż jeden proces. Oprócz harmonogramu można ustawić uruchamianie joba po wystąpieniu alertu, po zmianie stanu usługi albo na żądanie za pomocą narzędzi administracyjnych.

Uprawnienia, właściciel zadania i bezpieczne wykonanie kroków

Ważną częścią konfiguracji jest konto używane przez usługę SQL Server Agent oraz kontekst zabezpieczeń poszczególnych kroków. Zadanie może wykonać się z innymi uprawnieniami niż osoba, która utworzyła je w SQL Server Management Studio. Dotyczy to szczególnie kroków uruchamiających polecenia systemu Windows, skrypty PowerShell, pakiety SSIS lub operacje wymagające dostępu do zasobów sieciowych. Uprawnienia konta usługi powinny obejmować tylko zasoby niezbędne do wykonania zaplanowanych operacji.

Do delegowania określonych czynności służą konta proxy powiązane z podsystemami SQL Server Agent. Proxy pozwala wskazać poświadczenia używane przez wybrane typy kroków, bez nadawania szerokich uprawnień całej usłudze. Należy także sprawdzić właściciela joba, dostęp do baz danych oraz uprawnienia wymagane przez procedury, tabele, pliki i udziały sieciowe wykorzystywane w zadaniu. Błąd konfiguracji uprawnień może objawiać się tym, że job działa uruchomiony ręcznie przez administratora, lecz kończy się błędem podczas pracy według harmonogramu.

Kontrola historii wykonań i diagnostyka nieudanych jobów

Weryfikacja konfiguracji SQL Server Agent nie kończy się na zapisaniu parametrów joba. W SQL Server Management Studio należy sprawdzić historię wykonań zadania, komunikaty poszczególnych kroków, czas rozpoczęcia, czas zakończenia oraz kod wyniku. Historia pozwala odróżnić błąd samego polecenia od problemu z harmonogramem, poświadczeniami, dostępem do pliku lub zatrzymaniem usługi. Przydatny jest także dziennik SQL Server Agent, w którym zapisywane są informacje o uruchomieniach usługi, zadaniach oraz zdarzeniach związanych z wykonaniem operacji.

Podczas analizy warto porównać ustawiony harmonogram z czasem systemowym serwera, strefą czasową i kalendarzem dni roboczych. Należy również sprawdzić, czy job jest włączony, czy przypisano mu aktywny harmonogram oraz czy nie został pominięty z powodu trwającego poprzedniego uruchomienia. Alerty i operatorzy mogą wysyłać powiadomienia o niepowodzeniu, ale wymagają poprawnie skonfigurowanego profilu Database Mail i ustawień powiadomień. W przypadku problemów z komputerem, na którym zainstalowano narzędzia administracyjne lub komponenty SQL Server, diagnostyka może obejmować stan usług, logi systemowe, dostępność dysków i poprawność instalacji używanych składników.

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