Compartir a través de


sp_update_job (Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Actualiza los atributos de un trabajo existente creado en el servicio Agente SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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'

Número de identificación del trabajo que se va a actualizar. @job_id es uniqueidentifier, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @job_name = ] N'job_name'

Nombre del trabajo. @job_name es sysname, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @new_name = ] N'new_name'

Nuevo nombre del trabajo. @new_name es sysname, con un valor predeterminado de NULL.

[ @enabled = ] enabled

Especifica si el trabajo está habilitado (1) o no (0). @enabled es tinyint, con un valor predeterminado de NULL.

[ @description = ] N'description'

Descripción del trabajo. @description es nvarchar(512), con un valor predeterminado de NULL.

[ @start_step_id = ] start_step_id

Número de identificación del primer paso que se va a ejecutar para el trabajo. @start_step_id es int, con un valor predeterminado de NULL.

[ @category_name = ] N'category_name'

Categoría del trabajo. @category_name es sysname, con un valor predeterminado de NULL.

[ @owner_login_name = ] N'owner_login_name'

Nombre del inicio de sesión al que pertenece el trabajo. @owner_login_name es sysname, con un valor predeterminado de NULL. Solo los miembros del rol fijo de servidor sysadmin pueden cambiar la propiedad del trabajo.

[ @notify_level_eventlog = ] notify_level_eventlog

Especifica cuándo se debe incluir una entrada para este trabajo en el registro de aplicación de Microsoft Windows. @notify_level_eventlog es int y puede ser uno de estos valores.

Valor Descripción (acción)
0 Nunca
1 En caso de éxito
2 En caso de error
3 Siempre

[ @notify_level_email = ] notify_level_email

Especifica cuándo se debe enviar un mensaje de correo electrónico tras finalizar este trabajo. @notify_level_email es int, con un valor predeterminado de NULL. @notify_level_email usa los mismos valores que @notify_level_eventlog.

[ @notify_level_netsend = ] notify_level_netsend

Especifica cuándo se debe enviar un mensaje de red tras finalizar este trabajo. @notify_level_netsend es int, con un valor predeterminado de NULL. @notify_level_netsend usa los mismos valores que @notify_level_eventlog.

[ @notify_level_page = ] notify_level_page

Especifica cuándo se debe enviar una página tras finalizar este trabajo. @notify_level_page es int, con un valor predeterminado de NULL. @notify_level_page usa los mismos valores que @notify_level_eventlog.

[ @notify_email_operator_name = ] N'notify_email_operator_name'

Nombre del operador al que se envía el correo electrónico cuando se alcanza email_level . @notify_email_operator_name es sysname, con un valor predeterminado de NULL.

[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'

El nombre del operador al que se envía el mensaje de red. @notify_netsend_operator_name es sysname, con un valor predeterminado de NULL.

[ @notify_page_operator_name = ] N'notify_page_operator_name'

El nombre del operador al que se envía una página. @notify_page_operator_name es sysname, con un valor predeterminado de NULL.

[ @delete_level = ] delete_level

Especifica cuándo debe eliminarse el trabajo. @delete_level es int, con un valor predeterminado de NULL. @delete_level usa los mismos valores que @notify_level_eventlog.

[ @automatic_post = ] automatic_post

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_update_job debe ejecutarse desde la msdb base de datos.

sp_update_job solo cambia la configuración para la que se proporcionan los valores de parámetro. Si se omite un parámetro, se conserva la configuración actual.

Este procedimiento almacenado comparte el nombre de sp_update_job con un objeto similar para el servicio Trabajos elásticos de Azure para Azure SQL Database. Para obtener información sobre la versión de trabajos elásticos, consulte jobs.sp_update_job (Trabajos elásticos de Azure).

Permisos

Puede conceder EXECUTE permisos en este procedimiento, pero estos permisos se pueden invalidar durante una actualización de SQL Server.

A otros usuarios se les debe conceder uno de los siguientes Agente SQL Server roles fijos de base de datos en la msdb base de datos:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para detalles sobre los permisos de estos roles, consulte Roles fijos de base de datos del Agente SQL Server.

Solo los miembros de sysadmin pueden usar este procedimiento almacenado para editar los atributos de los trabajos que pertenecen a otros usuarios.

Ejemplos

En el ejemplo siguiente se cambia el nombre, la descripción y el estado de habilitación del trabajo 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