Compartilhar via


sp_update_job (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Atualiza os atributos de um trabalho existente criado no serviço SQL Server Agent.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_update_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @new_name = ] N'new_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @description = ] N'description' ]
    [ , [ @start_step_id = ] start_step_id ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @notify_level_eventlog = ] notify_level_eventlog ]
    [ , [ @notify_level_email = ] notify_level_email ]
    [ , [ @notify_level_netsend = ] notify_level_netsend ]
    [ , [ @notify_level_page = ] notify_level_page ]
    [ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
    [ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
    [ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
    [ , [ @delete_level = ] delete_level ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Argumentos

@job_id [ = ] 'job_id'

O número de identificação do trabalho a ser atualizado. @job_id é uniqueidentifier, com um padrão de NULL.

Tanto @job_id quanto @job_name devem ser especificados, mas ambos não podem ser especificados.

@job_name [ = ] N'job_name'

O nome do trabalho. @job_name é sysname, com um padrão de NULL.

Tanto @job_id quanto @job_name devem ser especificados, mas ambos não podem ser especificados.

@new_name [ = ] N'new_name'

O novo nome do trabalho. @new_name é sysname, com um padrão de NULL.

@enabled [ = ] habilitado

Especifica se o trabalho está habilitado (1) ou não habilitado (0). @enabled é tinyint, com um padrão de NULL.

@description [ = ] N'descrição'

A descrição do trabalho. @description é nvarchar(512), com um padrão de NULL.

@start_step_id [ = ] start_step_id

O número de identificação da primeira etapa a ser executada para o trabalho. @start_step_id é int, com um padrão de NULL.

@category_name [ = ] N'category_name'

ID da categoria do trabalho. @category_name é sysname, com um padrão de NULL.

@owner_login_name [ = ] N'owner_login_name'

O nome do logon que é o proprietário do trabalho. @owner_login_name é sysname, com um padrão de NULL. Somente membros da função de servidor fixa sysadmin podem alterar a propriedade do trabalho.

@notify_level_eventlog [ = ] notify_level_eventlog

Especifica quando colocar uma entrada no log de aplicativo do Microsoft Windows para este trabalho. @notify_level_eventlog é int e pode ser um desses valores.

Valor Descrição (ação)
0 Nunca
1 Caso haja êxito
2 Caso haja falha
3 Sempre

@notify_level_email [ = ] notify_level_email

Especifica quando enviar um email após a conclusão deste trabalho. @notify_level_email é int, com um padrão de NULL. @notify_level_email usa os mesmos valores que @notify_level_eventlog.

@notify_level_netsend [ = ] notify_level_netsend

Especifica quando enviar uma mensagem de rede após a conclusão deste trabalho. @notify_level_netsend é int, com um padrão de NULL. @notify_level_netsend usa os mesmos valores que @notify_level_eventlog.

@notify_level_page [ = ] notify_level_page

Especifica quando enviar uma página após a conclusão deste trabalho. @notify_level_page é int, com um padrão de NULL. @notify_level_page usa os mesmos valores que @notify_level_eventlog.

@notify_email_operator_name [ = ] N'notify_email_operator_name'

O nome do operador para quem o e-mail é enviado quando email_level é contatado. @notify_email_operator_name é sysname, com um padrão de NULL.

@notify_netsend_operator_name [ = ] N'notify_netsend_operator_name'

O nome do operador para o qual a mensagem de rede é enviada. @notify_netsend_operator_name é sysname, com um padrão de NULL.

@notify_page_operator_name [ = ] N'notify_page_operator_name'

O nome do operador para o qual a página é enviada. @notify_page_operator_name é sysname, com um padrão de NULL.

@delete_level [ = ] delete_level

Especifica quando excluir o trabalho. @delete_level é int, com um padrão de NULL. @delete_level usa os mesmos valores que @notify_level_eventlog.

@automatic_post [ = ] automatic_post

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

sp_update_job deve ser executado a partir do msdb banco de dados.

sp_update_job altera apenas as configurações para as quais os valores de parâmetro são fornecidos. Se um parâmetro for omitido, a configuração atual será retida.

Esse procedimento armazenado compartilha o nome de sp_update_job com um objeto semelhante para o serviço de Trabalhos Elásticos do Azure para Banco de Dados SQL do Azure. Para obter informações sobre a versão dos trabalhos elásticos, consulte jobs.sp_update_job (Trabalhos Elásticos do Azure).

Permissões

Você pode conceder EXECUTE permissões nesse procedimento, mas essas permissões podem ser substituídas durante uma atualização do SQL Server.

Outros usuários devem receber uma das seguintes funções de banco de dados fixas do msdb SQL Server Agent no banco de dados:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para obter detalhes sobre as permissões dessas funções, consulte Funções de banco de dados fixas do SQL Server Agent.

Somente membros do sysadmin podem usar esse procedimento armazenado para editar os atributos de trabalhos que pertencem a outros usuários.

Exemplos

O exemplo a seguir altera o nome, a descrição e o status habilitado do trabalho NightlyBackups.

USE msdb;
GO

EXEC dbo.sp_update_job
    @job_name = N'NightlyBackups',
    @new_name = N'NightlyBackups -- Disabled',
    @description = N'Nightly backups disabled during server migration.',
    @enabled = 0;
GO