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.Hinweis: 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)