sp_start_job (Transact-SQL)
Gilt für: SQL Server
Azure 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