sp_start_job (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Indique à SQL Server Agent d’exécuter immédiatement un travail.

Conventions de la syntaxe Transact-SQL

Syntaxe

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 ]
[ ; ]

Arguments

[ @job_name = ] N’job_name'

Nom du travail à démarrer. @job_name est sysname, avec la valeur par défaut NULL.

Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.

[ @job_id = ] 'job_id'

Numéro d'identification du travail à démarrer. @job_id est uniqueidentifier, avec la valeur par défaut NULL.

Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.

[ @error_flag = ] error_flag

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

[ @server_name = ] N’server_name'

Serveur cible sur lequel doit être lancé le travail. @server_name est sysname, avec la valeur par défaut NULL. @server_name doit être l’un des serveurs cibles auxquels le travail est actuellement ciblé.

[ @step_name = ] N’step_name'

Nom de l'étape où doit commencer l'exécution du travail. @step_name est sysname, avec la valeur par défaut NULL. S'applique uniquement aux travaux locaux.

[ @output_flag = ] output_flag

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Aucune.

Notes

Cette procédure stockée se trouve dans la msdb base de données.

Cette procédure stockée partage le nom d’un sp_start_job objet similaire pour le service Travaux élastiques Azure pour Azure SQL Database. Pour plus d’informations sur la version des travaux élastiques, consultez jobs.sp_start_job (Travaux élastiques Azure) (Transact-SQL).

Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE des autorisations pour n’importe quel utilisateur, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.

D’autres utilisateurs doivent disposer de l’un des rôles de base de données fixes SQL Server Agent suivants dans la msdb base de données :

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Pour en savoir plus sur les autorisations de ces rôles, consultez Rôles de base de données fixes de l'Agent SQL Server.

Les membres de SQLAgentUserRole et SQLAgentReaderRole ne peuvent démarrer que des travaux qu’ils possèdent. Les membres de SQLAgentOperatorRole peuvent démarrer tous les travaux locaux, y compris les travaux appartenant à d’autres utilisateurs. Les membres de sysadmin peuvent démarrer tous les travaux locaux et multiserveurs.

Exemples

L'exemple suivant démarre un travail appelé Weekly Sales Data Backup.

USE msdb;
GO

EXEC dbo.sp_start_job N'Weekly Sales Data Backup';
GO