sp_stop_job (Transact-SQL)

Weist den SQL Server-Agent an, die Ausführung des Auftrags zu beenden.

Syntax

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

Argumente

  • [ @job_name =] 'job_name'
    Der Name des Auftrags, der beendet werden soll. job_name ist ein Wert vom Datentyp sysname. Der Standardwert ist NULL.
  • [ @job_id =] job_id
    Die ID des Auftrags, der beendet werden soll. job_id ist ein Wert vom Datentyp uniqueidentifier. Der Standardwert ist NULL.
  • [ @originating_server =] 'master_server'
    Der Name des Masterservers. Wenn dieses Argument angegeben wird, werden alle Multiserveraufträge beendet. master_server ist ein Wert vom Datentyp nvarchar(128). Der Standardwert ist NULL. Geben Sie diesen Parameter nur an, wenn Sie sp_stop_job auf einem Zielserver aufrufen.

    ms182793.note(de-de,SQL.90).gifHinweis:
    Es kann jeweils nur einer der ersten drei Parameter angegeben werden.
  • [ @server_name =] 'target_server'
    Der Name eines bestimmten Zielservers, auf dem ein Multiserverauftrag beendet werden soll. target_server ist ein Wert vom Datentyp nvarchar(128). Der Standardwert ist NULL. Geben Sie diesen Parameter nur an, wenn Sie sp_stop_job auf einem Masterserver für einen Multiserverauftrag aufrufen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Wenn ein Auftrag zurzeit einen Schritt vom Typ CmdExec ausführt, wird der ausgeführte Prozess (z. B. MyProgram.exe) vorzeitig beendet. Ein vorzeitiger Abbruch kann unvorhersehbare Folgen haben, z. B. dass Dateien, die von dem Prozess verwendet wurden, geöffnet bleiben. Deshalb sollte sp_stop_job nur in Ausnahmesituationen verwendet werden, falls der Auftrag Schritte vom Typ CmdExec enthält.

Berechtigungen

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Andere Benutzer müssen Mitglieder der festen SQL Server-Agent-Datenbankrollen in der msdb-Datenbank sein:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.

Mitglieder von SQLAgentUserRole und SQLAgentReaderRole können nur die Aufträge beenden, deren Besitzer sie sind. Mitglieder von SQLAgentOperatorRole können alle lokalen Aufträge einschließlich der Aufträge beenden, die sich im Besitz anderer Benutzer befinden. Mitglieder der sysadmin-Rolle können alle lokalen und Multiserveraufträge beenden.

Beispiele

Im folgenden Beispiel wird der Auftrag Weekly Sales Data Backup beendet.

USE msdb ;
GO

EXEC dbo.sp_stop_job
    N'Weekly Sales Data Backup' ;
GO

Siehe auch

Verweis

sp_delete_job (Transact-SQL)
sp_help_job (Transact-SQL)
sp_start_job (Transact-SQL)
sp_update_job (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005