Поделиться через


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 на целевом сервере.

    ms182793.note(ru-ru,SQL.90).gifПримечание.
    Может быть задан только один из первых трех аргументов.
  • [ @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)

Справка и поддержка

Получение помощи по SQL Server 2005