Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uruchomić zadanie agenta SQL Server przy użyciu T-SQL

Kiedy po raz pierwszy tworzysz zadanie SQL Server Agent, możesz wykonać szybki test, aby sprawdzić, czy rzeczywiście będzie działać bez żadnych problemów.

Jest to całkiem proste w przypadku korzystania z GUI SSMS, ale jak to zrobić w T-SQL?

Odpowiedź:sp_start_job procedura składowana.

Przykład

Oto przykład do zademonstrowania:

USE msdb;  
GO  
  
EXEC sp_start_job N'BackupKrankyKranesDB';
GO

W tym przypadku uruchomiłem zadanie o nazwie BackupKrankyKranesDB .

Procedura nie zwraca żadnych zestawów wyników. Jeśli jednak uruchomisz go w SSMS, możesz zobaczyć następujący komunikat:

Job 'BackupKrankyKranesDB' started successfully.
 Completion time: 2020-12-13T19:54:18.3503521-08:00

Parametry

Możesz również podać nazwy parametrów. W takim przypadku mógłbym to zrobić:

USE msdb;  
GO  
  
EXEC sp_start_job @job_name = N'BackupKrankyKranesDB';
GO

Możesz podać nazwę pracy lub identyfikator pracy (ale nie oba). Identyfikator pracy to unikalny identyfikator z wartością domyślną NULL .

Dlatego moglibyśmy alternatywnie zrobić to:

USE msdb;  
GO  
  
EXEC sp_start_job @job_id = '4FAE7031-36E8-4934-81E6-0D561F375627';
GO

To jest identyfikator zadania powyższego zadania. Oczywiście musisz użyć identyfikatora zadania, które chcesz uruchomić. Możesz użyć sp_help_job procedura składowana, aby uzyskać identyfikator zadania.

Składnia

Rzeczywista składnia wygląda tak:

sp_start_job   
     {   [@job_name =] 'job_name'  
       | [@job_id =] job_id }  
     [ , [@error_flag =] error_flag]  
     [ , [@server_name =] 'server_name']  
     [ , [@step_name =] 'step_name']  
     [ , [@output_flag =] output_flag]

Zobacz sp_start_job na stronie Microsoft, aby uzyskać wyjaśnienie każdego argumentu.

Wyświetl historię zadań

Teraz, gdy już uruchomiliśmy zadanie, możemy teraz użyć sp_help_jobhistory aby sprawdzić, czy został dodany do historii zadań:

EXEC sp_help_jobhistory 
	@job_name = 'BackupKrankyKranesDB',
	@mode = 'FULL';

Korzystanie z @mode = 'FULL' zapewnia, że ​​otrzymamy bardziej szczegółowe informacje.

Oto, co otrzymałem po uruchomieniu zadania:

Zobacz sp_help_jobhistory w witrynie firmy Microsoft, aby uzyskać więcej informacji na temat tej procedury składowanej.

Zobacz także 4 sposoby uzyskania historii zadań SQL Server, aby uzyskać więcej opcji zwracania historii zadań.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zamień wiele znaków w ciągu w SQL Server (T-SQL)

  2. Jak usunąć spacje nierozdzielające z kolumny na serwerze SQL?

  3. Jak sprawdzić wyniki zadania pakietu SSIS po jego zakończeniu?

  4. Chcę użyć instrukcji CASE do aktualizacji niektórych rekordów w serwerze sql 2005

  5. JPA SQL Server bez mapowania dialektu dla typu JDBC:-9