sp_start_job (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

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

Transact-SQL-Syntaxkonventionen

Syntax

sp_start_job
    [ [ @job_name = ] N'job_name' ]
    [ , [ @job_id = ] 'job_id' ]
    [ , [ @error_flag = ] error_flag ]
    [ , [ @server_name = ] N'server_name' ]
    [ , [ @step_name = ] N'step_name' ]
    [ , [ @output_flag = ] output_flag ]
[ ; ]

Argumente

[ @job_name = ] N'job_name'

Der Name des Auftrags, der gestartet werden soll. @job_name ist "sysname" mit der Standardeinstellung "NULL.

Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.

[ @job_id = ] 'job_id'

Die ID des Auftrags, der gestartet werden soll. @job_id ist eindeutiger Bezeichner mit einem Standardwert von NULL.

Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.

[ @error_flag = ] error_flag

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

[ @server_name = ] N'server_name'

Der Zielserver, auf dem der Auftrag gestartet werden soll. @server_name ist "sysname" mit einem Standardwert von NULL. @server_name muss einer der Zielserver sein, auf die der Auftrag derzeit ausgerichtet ist.

[ @step_name = ] N'step_name'

Der Name des Schritts, mit dem die Ausführung des Auftrags beginnen soll. @step_name ist "sysname" mit der Standardeinstellung "NULL. Gilt nur für lokale Aufträge.

[ @output_flag = ] output_flag

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Keine.

Hinweise

Diese gespeicherte Prozedur befindet sich in der msdb Datenbank.

Diese gespeicherte Prozedur teilt den Namen sp_start_job mit einem ähnlichen Objekt für den Azure Elastic Jobs-Dienst für Azure SQL-Datenbank. Informationen zur Version der elastischen Aufträge finden Sie unter jobs.sp_start_job (Azure Elastic Jobs) (Transact-SQL).

Diese gespeicherte Prozedur gehört der db_owner Rolle. Sie können berechtigungen für jeden Benutzer erteilen EXECUTE , diese Berechtigungen können jedoch während eines SQL Server-Upgrades außer Kraft gesetzt werden.

Anderen Benutzern muss eine der folgenden SQL Server-Agent festen Datenbankrollen in der msdb Datenbank gewährt werden:

  • 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 Aufträge starten, die sie besitzen. Mitglieder von SQLAgentOperatorRole können alle lokalen Aufträge starten, einschließlich Aufträgen, die anderen Benutzern gehören. Mitglieder von sysadmin können alle lokalen und multiserver-Aufträ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