sp_start_job (Transact-SQL)
Weist den SQL Server-Agent an, einen Auftrag sofort auszuführen.
Syntax
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]
Argumente
[ @job_name= ] 'job_name'
Der Name des Auftrags, der gestartet werden soll. Es muss entweder job_id oder job_name angegeben werden, beide Angaben sind jedoch nicht möglich. job_name ist vom Datentyp sysname; der Standardwert ist NULL.[ @job_id= ] job_id
Die ID des Auftrags, der gestartet werden soll. Es muss entweder job_id oder job_id angegeben werden, beide Angaben sind jedoch nicht möglich. job_name ist vom Datentyp uniqueidentifier; der Standardwert ist NULL.[ @error_flag= ] error_flag
Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.[ @server_name= ] 'server_name'
Der Zielserver, auf dem der Auftrag gestartet werden soll. server_name hat den Datentyp nvarchar(128) und den Standardwert NULL. server_name muss einer der Zielserver sein, an die der Auftrag derzeit gerichtet ist.[ @step_name= ] 'step_name'
Der Name des Schritts, mit dem die Ausführung des Auftrags beginnen soll. Dies gilt nur für lokale Aufträge. step_name hat den Datentyp sysname und den Standardwert NULL[ @output_flag= ] output_flag
Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Keine
Hinweise
Diese gespeicherte Prozedur wird in der msdb-Datenbank gespeichert.
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 starten, deren Besitzer sie sind. Mitglieder von SQLAgentOperatorRole können alle lokalen Aufträge einschließlich der Aufträge starten, die sich im Besitz anderer Benutzer befinden. Mitglieder der sysadmin-Rolle können alle lokalen und Multiserveraufträge starten.
Beispiele
Im folgenden Beispiel wird ein Auftrag mit dem Namen Weekly Sales Data Backup gestartet.
USE msdb ;
GO
EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ;
GO