Udostępnij za pośrednictwem


sp_stop_job (języka Transact-SQL)

Powoduje, że SQL Server agenta, aby zatrzymać wykonywanie zadanie.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_stop_job 
      [@job_name =] 'job_name'
    | [@job_id =] job_id 
    | [@originating_server =] 'master_server'
    | [@server_name =] 'target_server'

Argumenty

  • [ @ job_name =] 'job_name"
    Nazwa zadanie zatrzymania.job_namejest sysname, domyślna wartość NULL.

  • [ @ job_id =] job_id
    Numer identyfikacyjny zadanie zatrzymania.job_idjest uniqueidentifier, domyślna wartość NULL.

  • [ @ originating_server =] 'master_server"
    Nazwa serwer główny.Jeśli określony, wszystkie zadania propagując są zatrzymywane.master_serverjest nvarchar(128), domyślna wartość NULL.Ten parametr jest określony tylko podczas wywoływania sp_stop_job na serwerze miejsce docelowe .

    Ostrzeżenie

    Można określić tylko jeden z pierwszych trzech parametrów.

  • [ @ nazwa_serwera =] 'target_server"
    Nazwa serwer określonego miejsce docelowe , na którym przestanie propagując zadanie.target_serverjest nvarchar(128), domyślna wartość NULL.Ten parametr jest określony tylko podczas wywoływania sp_stop_job na serwer główny propagując zadanie.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Zestawy wyników

Brak

Uwagi

Gdy SQL Server Agent otrzyma stop powiadomienie, czeka na krok zadanie działa obecnie na zakończenie przed przetwarza żądanie Anuluj.Niektóre długim Transact-SQL sprawozdania, takie jak Kopia zapasowa, Przywracanie i niektóre can polecenia DBCC zająć dużo czas na zakończenie.Gdy te działają może zająć trochę czasu zanim zadanie zostanie anulowane.Zatrzymywanie zadanie powoduje, że "zadanie anulowana" wpis mają być rejestrowane whistoria zadanie.

Jeśli zadanie jest w trakcie wykonywania kroku typu CmdExec lub PowerShell, proces uruchamiania (na przykład MyProgram.exe) jest zmuszony do przedwczesne zakończenie.Przedwczesne zakończenie może powodować nieprzewidywalne zachowanie, takich jak pliki używane przez proces są utrzymywane w stanie otwartym.W konsekwencji sp_stop_job powinien być używany tylko w skrajnych okolicznościach, jeżeli zadanie zawiera kroki typu CmdExec lub PowerShell.

Uprawnienia

Domyślnie członkowie sysadmin stała rola serwera można wykonać tę procedura składowana.Inni użytkownicy muszą być przyznawane jedną z następujących SQL Server Agent ról stałej bazy danych w msdb bazy danych:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Szczegółowe informacje na temat uprawnień tych ról, zobacz Ról stałej bazy danych programu SQL Server Agent.

Członkowie SQLAgentUserRole i SQLAgentReaderRole można zatrzymać tylko zadania, których jest właścicielem.Członkowie SQLAgentOperatorRole można zatrzymać wszystkie zadania lokalnego, łącznie z tymi, które są własnością innych użytkowników.Członkowie sysadmin można zatrzymać wszystkie lokalne i propagując zadania.

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