Condividi tramite


sp_stop_job (Transact-SQL)

Richiede a SQL Server Agent di interrompere l'esecuzione di un processo.

Sintassi

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

Argomenti

  • [ @job_name =] 'job_name'
    Nome del processo da interrompere. job_name è di tipo sysname e il valore predefinito è NULL.
  • [ @job_id =] job_id
    Numero di identificazione del processo da interrompere. job_id è di tipo uniqueidentifier e il valore predefinito è NULL.
  • [ @originating_server =] 'master_server'
    Nome del server master. Se viene specificato, vengono interrotti tutti i processi multiserver. master_server è di tipo nvarchar(128) e il valore predefinito è NULL. Specificare questo parametro solo quando si chiama sp_stop_job in un server di destinazione.

    [!NOTA] È possibile specificare solo uno dei primi tre parametri.

  • [ @server_name =] 'target_server'
    Nome del server di destinazione specifico in cui interrompere un processo multiserver. target_server è di tipo nvarchar(128) e il valore predefinito è NULL. Specificare questo parametro solo quando si chiama sp_stop_job in un server master per un processo multiserver.

Set di risultati

Nessuno

Osservazioni

Se in un processo è in esecuzione un passaggio di tipo CmdExec, viene impostata l'interruzione anticipata del processo eseguito, ad esempio MyProgram.exe. Tale interruzione può causare comportamenti imprevisti, ad esempio i file utilizzati dal processo potrebbero restare aperti. Se un processo contiene passaggi di tipo CmdExec, è pertanto necessario eseguire sp_stop_job solo in casi estremi.

Autorizzazioni

Per impostazione predefinita, questa stored procedure può essere eseguita dai membri del ruolo predefinito del server sysadmin. Gli altri utenti devono appartenere a uno dei seguenti ruoli predefiniti del database di SQL Server Agent nel database msdb:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Per informazioni sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.

I membri di SQLAgentUserRole e SQLAgentReaderRole possono interrompere solo i processi di cui sono proprietari. I membri di SQLAgentOperatorRole possono interrompere tutti i processi locali, inclusi quelli di proprietà di altri utenti. I membri di sysadmin possono interrompere tutti i processi locali e multiserver.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

Nell'esempio seguente viene interrotto un processo denominato Weekly Sales Data Backup.

USE msdb ;
GO

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

Vedere anche

Riferimento

sp_delete_job (Transact-SQL)
sp_help_job (Transact-SQL)
sp_start_job (Transact-SQL)
sp_update_job (Transact-SQL)
Stored procedure di sistema (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005