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
Este procedimiento almacenado es propiedad del rol db_owner . Puede conceder EXECUTE
permisos para cualquier usuario, 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