sp_stop_job (Transact-SQL)
Дает указание агенту SQL Server остановить выполнение текущего задания.
Синтаксис
sp_stop_job
[@job_name =] 'job_name'
| [@job_id =] job_id
| [@originating_server =] 'master_server'
| [@server_name =] 'target_server'
Аргументы
- [ @job_name =] 'job_name'
Имя останавливаемого задания. Аргумент job_name имеет тип sysname и значение по умолчанию NULL.
- [ @job_id =] job_id
Идентификационный номер останавливаемого задания. Аргумент job_id имеет тип uniqueidentifier и значение по умолчанию NULL.
[ @originating_server =] 'master_server'
Имя главного сервера. Если указано, останавливаются все многосерверные задания. Аргумент master_server имеет тип nvarchar(128) и значение по умолчанию NULL. Указывайте этот аргумент только при вызове хранимой процедуры sp_stop_job на целевом сервере.Примечание. Может быть задан только один из первых трех аргументов.
- [ @server_name =] 'target_server'
Имя конкретного целевого сервера, на котором необходимо остановить выполнение многосерверного задания. Аргумент target_server имеет тип nvarchar(128) и значение по умолчанию NULL. Указывайте этот аргумент только при вызове хранимой процедуры sp_stop_job для многосерверного задания.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
Нет
Замечания
Если задание в данный момент выполняет этап типа CmdExec, выполняемый процесс (например, MyProgram.exe) принудительно завершается раньше времени. Преждевременное завершение может привести к непредсказуемому поведению, например файлы, используемые процессом, могут остаться открытыми. Следовательно, если задание содержит шаги типа CmdExec, хранимую процедуру sp_stop_job нужно использовать только в экстренных ситуациях.
Разрешения
По умолчанию эту хранимую процедуру могут выполнять члены фиксированной серверной роли sysadmin. Другим пользователям должно быть предоставлено членство в одной из следующих фиксированных ролей базы данных агента SQL Server в базе данных msdb:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Подробности о разрешениях для этих ролей см. в разделе Фиксированные роли базы данных агента SQL Server.
Члены ролей SQLAgentUserRole и SQLAgentReaderRole могут останавливать задания, которыми владеют. Члены роли SQLAgentOperatorRole могут останавливать все локальные задания, включая те, которыми владеют другие пользователи. Члены роли sysadmin могут останавливать любые локальные и многосерверные задания.
Примеры
В следующем примере останавливается задание с именем Weekly Sales Data Backup
.
USE msdb ;
GO
EXEC dbo.sp_stop_job
N'Weekly Sales Data Backup' ;
GO
См. также
Справочник
sp_delete_job (Transact-SQL)
sp_help_job (Transact-SQL)
sp_start_job (Transact-SQL)
sp_update_job (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)