sp_stop_job (Transact-SQL)
Powoduje, że SQL Server Agent, aby zatrzymać wykonywanie zadanie.
sp_stop_job
[@job_name =] 'job_name'
| [@job_id =] job_id
| [@originating_server =] 'master_server'
| [@server_name =] 'target_server'
Argumenty
[ @job_name =] 'job_name'
The name of the job to stop.job_name is sysname, with a default of NULL.[ @job_id =] job_id
The identification number of the job to stop.job_id is uniqueidentifier, with a default of NULL.[ @originating_server =] 'master_server'
Nazwa serwer główny.If specified, all multiserver jobs are stopped.master_server is nvarchar(128), with a default of NULL.Ten parametr jest określony tylko wtedy, gdy wywołanie sp_stop_job serwer miejsce docelowe.Uwaga
Można określić tylko jeden z pierwszych trzech parametrów.
[ @server_name =] 'target_server'
The name of the specific target server on which to stop a multiserver job.target_server is nvarchar(128), with a default of NULL.Ten parametr jest określony tylko wtedy, gdy wywołanie sp_stop_job serwer główny wieloserwerowych zadanie.
Wartości kodów powrotnych
0 (sukces) lub 1 (brak)
Zestawy wyników
None
Remarks
Kiedy SQL Server Agent odbiera powiadomienie zatrzymania, oczekuje na kroku zadanie, które jest aktualnie uruchomione na zakończenie przed przetwarza żądanie anulowania. Niektóre długim Transact-SQL Instrukcje takie jak kopia zapasowa i przywracanie niektóre polecenia DBCC może zająć dużo czas na zakończenie. Gdy są one uruchomione, może zająć chwilę przed anulowaniem zadanie.Zatrzymywanie zadanie powoduje, że wpis "Anulowane zadanie" mają być rejestrowane w historia zadanie.
Jeśli zadanie jest aktualnie wykonywanych kroku typu CmdExec or PowerShell, proces uruchamiania (na przykład MyProgram.exe) jest zmuszony do przedwczesne zakończenie.Przedwczesne zakończenie może spowodować nieprzewidywalne zachowanie, takich jak pliki używane przez proces odbywają się otwarte.W związku z tym sp_stop_job należy używać tylko w sytuacjach skrajnych, jeśli zadanie zawiera kroki typu CmdExec or PowerShell.
Uprawnienia
Domyślnie członkowie sysadmin stała rola serwera możliwość wykonać tej procedura przechowywana.Inni użytkownicy klastrowa musi mieć jedną z następujących czynności SQL Server Agent stałe role bazy danych w msdb bazy danych:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Aby uzyskać szczegółowe informacje o uprawnieniach z tych ról zobacz SQL Server Agent Fixed Database Roles.
Członkowie SQLAgentUserRole and SQLAgentReaderRole tylko zatrzymanie zadania, na których jest właścicielem.Członkowie SQLAgentOperatorRole zatrzymanie wszystkich zadań lokalnego, łącznie z tymi, które są własnością innych użytkowników.Członkowie sysadmin zatrzymanie wszystkich lokalnych i wieloserwerowych zadań.
Przykłady
W następującym przykładzie zatrzymano zadanie o nazwie Weekly Sales Data Backup.
USE msdb ;
GO
EXEC dbo.sp_stop_job
N'Weekly Sales Data Backup' ;
GO