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)