sp_stop_job (Transact-SQL)

Demande à SQL Server Agent d'arrêter l'exécution d'un travail.

Syntaxe

sp_stop_job 
      [@job_name =] 'job_name'
    | [@job_id =] job_id 
    | [@originating_server =] 'master_server'
    | [@server_name =] 'target_server'

Arguments

  • [ @job_name =] 'job_name'
    Nom du travail à arrêter. job_name est de type sysname, avec une valeur par défaut NULL.
  • [ @job_id =] job_id
    Numéro d'identification du travail à arrêter. job_id est de type uniqueidentifier, avec une valeur par défaut NULL.
  • [ @originating_server =] 'master_server'
    Nom du serveur maître. Si ce nom est spécifié, tous les travaux multiserveurs sont arrêtés. master_server est de type nvarchar(128), avec une valeur par défaut NULL. Spécifiez ce paramètre uniquement lorsque vous appelez sp_stop_job sur un serveur cible.

    ms182793.note(fr-fr,SQL.90).gifRemarque :
    Seul un des trois premiers paramètres peut être précisé.
  • [ @server_name =] 'target_server'
    Nom du serveur cible spécifique sur lequel sera arrêté un travail multiserveur. target_server est de type nvarchar(128), avec NULL comme valeur par défaut. Spécifiez ce paramètre uniquement lorsque vous appelez sp_stop_job sur un serveur maître pour un travail multiserveurs.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Jeux de résultats

Aucun

Notes

Si un travail exécute actuellement une étape de type CmdExec, le processus en cours d'exécution (par exemple, MyProgram.exe) est obligé de s'arrêter prématurément. La fin prématurée peut aboutir à un comportement imprévisible ; les fichiers que le processus utilise risquant, par exemple, d'être bloqués alors qu'ils sont ouverts. Par conséquent, sp_stop_job doit être utilisée uniquement dans des circonstances extrêmes si le travail contient des étapes de type CmdExec.

Autorisations

Seuls les membres du rôle de serveur fixe sysadmin peuvent exécuter cette procédure stockée. Les autres utilisateurs doivent disposer de l'un des rôles de base de données fixes SQL Server Agent suivants dans la base de données msdb.

  • 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 des rôles SQLAgentUserRole et SQLAgentReaderRole peuvent interrompre uniquement les travaux dont ils sont propriétaires tandis que les membres de SQLAgentOperatorRole peuvent suspendre tous les travaux locaux, y compris ceux qui appartiennent à d'autres utilisateurs. Les membres de sysadmin peuvent arrêter tous les travaux locaux et multiserveurs.

Exemples

L'exemple suivant arrête un travail nommé Weekly Sales Data Backup.

USE msdb ;
GO

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

Voir aussi

Référence

sp_delete_job (Transact-SQL)
sp_help_job (Transact-SQL)
sp_start_job (Transact-SQL)
sp_update_job (Transact-SQL)
Procédures stockées système (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005