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

Typ kroku (T-SQL

Termin Definicja
Typ kroku (T-SQL

Typ kroku zadania określa, jaki rodzaj polecenia zostanie wykonany, np. T-SQL, PowerShell czy plik wsadowy.

Rola kroku T-SQL w zadaniu SQL Server Agent

Krok typu T-SQL jest elementem zadania uruchamianego przez SQL Server Agent i służy do wykonania instrukcji języka Transact-SQL w określonej bazie danych. T-SQL jest językiem używanym przez Microsoft SQL Server do odczytywania i modyfikowania danych, definiowania obiektów bazy oraz zarządzania transakcjami. W konfiguracji kroku wskazuje się między innymi treść skryptu, bazę danych, w której ma zostać wykonany, oraz reakcję agenta na powodzenie albo błąd polecenia.

Przykładowy krok T-SQL może wywoływać procedurę składowaną, aktualizować rekordy, tworzyć tabelę tymczasową, wykonywać kontrolę warunku lub zapisywać wynik operacji w tabeli dziennika. Typowy fragment może zawierać polecenie EXEC dbo.NazwaProcedury;, instrukcję UPDATE albo blok BEGIN TRANSACTION z późniejszym COMMIT lub ROLLBACK. Sam wybór typu T-SQL nie oznacza uruchomienia programu systemu Windows ani polecenia powłoki. Kod jest interpretowany przez silnik SQL Server zgodnie z uprawnieniami konta używanego przez SQL Server Agent.

Zakres wykonywania i kontekst bazy danych

Instrukcje kroku T-SQL są wykonywane w kontekście instancji SQL Server oraz bazy wskazanej w ustawieniach kroku. Ma to znaczenie dla odwołań do obiektów zapisanych bez pełnej nazwy. Polecenie SELECT * FROM dbo.Produkty; zostanie skierowane do schematu dbo w aktualnie wybranej bazie, natomiast zapis trzyczęściowy, na przykład Raportowanie.dbo.Wyniki, jednoznacznie wskazuje bazę, schemat i tabelę na tej samej instancji. Błędny wybór bazy może spowodować wykonanie poprawnego składniowo skryptu na niewłaściwych danych.

Krok może również korzystać ze zmiennych, parametrów oraz procedur systemowych dostępnych w SQL Server, ale ich działanie zależy od wersji silnika, konfiguracji i uprawnień. W praktyce należy sprawdzić, czy konto wykonujące zadanie ma wymagane prawa do odczytu, zapisu, uruchamiania procedur i modyfikowania obiektów. Uprawnienia osoby tworzącej zadanie nie muszą być takie same jak uprawnienia używane podczas automatycznego uruchomienia. Szczególnej uwagi wymagają odwołania do innych baz, obiektów zdalnych i zasobów chronionych.

Obsługa błędów, transakcji i wyników kroku

SQL Server Agent pozwala określić, co ma nastąpić po zakończeniu kroku T-SQL. W zależności od konfiguracji zadanie może przejść do kolejnego kroku, zakończyć się sukcesem, zakończyć się niepowodzeniem albo wykonać wskazany krok. T-SQL może zgłosić błąd składni, błąd uprawnień, konflikt blokad, naruszenie ograniczenia integralności lub przekroczenie limitu czasu. Dobrze zaprojektowany skrypt powinien przewidywać takie sytuacje i zwracać jednoznaczny stan wykonania.

Do kontrolowania błędów można użyć konstrukcji TRY...CATCH oraz funkcji błędów dostępnych w bloku CATCH, takich jak ERROR_MESSAGE() i ERROR_NUMBER(). Jeżeli operacja obejmuje kilka powiązanych zmian, transakcja pozwala zatwierdzić je razem albo wycofać po wystąpieniu problemu. Należy jednak uważać na długie transakcje, ponieważ mogą utrzymywać blokady i opóźniać inne zapytania. W skrypcie warto także jasno określić warunki aktualizacji, sprawdzać liczbę zmienionych wierszy oraz zapisywać istotne informacje diagnostyczne w kontrolowanym miejscu.

Weryfikacja kroku T-SQL przed uruchomieniem zadania

Przed włączeniem automatycznego zadania warto uruchomić skrypt ręcznie w SQL Server Management Studio w tej samej bazie i z kontem o możliwie zbliżonych uprawnieniach. Należy sprawdzić składnię, plan działania zapytań, wpływ na liczbę rekordów oraz zachowanie przy braku danych i przy wielokrotnym uruchomieniu. Polecenia modyfikujące dane powinny mieć precyzyjny warunek WHERE, a operacje tworzące obiekty powinny uwzględniać możliwość ich wcześniejszego istnienia.

W diagnostyce problemu analizuje się historię zadania SQL Server Agent, komunikat błędu, czas trwania kroku, wybraną bazę i konfigurację reakcji na niepowodzenie. Trzeba rozróżnić błąd samego kodu T-SQL od problemu z harmonogramem, połączeniem z instancją, blokadą lub uprawnieniami. W środowisku lokalnym usterka może objawiać się między innymi nieudaną aktualizacją danych, brakiem oczekiwanego raportu albo zatrzymaniem kolejnych kroków zadania. Prawidłowa analiza obejmuje zarówno treść skryptu, jak i kolejność kroków oraz zależności między nimi.

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