Freigeben über


sp_start_job (Transact-SQL)

Weist den SQL Server-Agent an, einen Auftrag sofort auszuführen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

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