sp_update_schedule (Transact-SQL)

Se aplica a: SQL Server

Cambia la configuración de una programación de Agente SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_update_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @name = ] N'name' ]
    [ , [ @new_name = ] N'new_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @freq_type = ] freq_type ]
    [ , [ @freq_interval = ] freq_interval ]
    [ , [ @freq_subday_type = ] freq_subday_type ]
    [ , [ @freq_subday_interval = ] freq_subday_interval ]
    [ , [ @freq_relative_interval = ] freq_relative_interval ]
    [ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
    [ , [ @active_start_date = ] active_start_date ]
    [ , [ @active_end_date = ] active_end_date ]
    [ , [ @active_start_time = ] active_start_time ]
    [ , [ @active_end_time = ] active_end_time ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Argumentos

[ @schedule_id = ] schedule_id

Identificador de la programación que se va a modificar. @schedule_id es int, con un valor predeterminado de NULL.

Se deben especificar @schedule_id o @name .

[ @name = ] N'name'

Nombre de la programación que se va a modificar. @name es sysname, con un valor predeterminado de NULL.

Se deben especificar @schedule_id o @name .

[ @new_name = ] N'new_name'

El nuevo nombre para la programación. @new_name es sysname, con un valor predeterminado de NULL. Cuando @new_name es NULL, el nombre de la programación no cambia.

[ @enabled = ] enabled

Indica el estado actual de la programación. @enabled es tinyint, con un valor predeterminado de 1 (habilitado). Si 0es , la programación no está habilitada. Cuando la programación no está habilitada, no se ejecutarán trabajos en esta programación.

[ @freq_type = ] freq_type

Valor que indica cuándo se va a ejecutar un trabajo. @freq_type es int y puede ser uno de estos valores.

Valor Descripción
1 Una vez
4 Diario
8 Semanal
16 Mensual
32 Mensual, en relación con @freq_interval
64 Ejecución cuando se inicia Agente SQL Server servicio
128 Ejecutar cuando el equipo está inactivo

[ @freq_interval = ] freq_interval

Días en que se ejecuta un trabajo. @freq_interval es int, con un valor predeterminado de 0y depende del valor de @freq_type tal como se indica en la tabla siguiente:

Valor de @freq_type Efecto en @freq_interval
1 (una vez) @freq_interval no se usa.
4 (diario) Cada @freq_interval días.
8 (semanal) @freq_interval es uno o varios de los siguientes (combinados con un OR operador lógico):

1 = Domingo
2 = Lunes
4 = Martes
8 = miércoles
16 = Jueves
32 = Viernes
64 = Sábado
16 (mensual) En el @freq_interval día del mes.
32 (relativa mensual) @freq_interval es uno de los siguientes:

1 = Domingo
2 = Lunes
3 = Martes
4 = miércoles
5 = Jueves
6 = Viernes
7 = Sábado
8 = Día
9 = Día de la semana
10 = Día del fin de semana
64(cuando se inicia el servicio Agente SQL Server) @freq_interval no se usa.
128 @freq_interval no se usa.

[ @freq_subday_type = ] freq_subday_type

Especifica las unidades de @freq_subday_interval. @freq_subday_type es int y puede ser uno de estos valores.

Valor Descripción (unidad)
0x1 A la hora especificada
0x2 Segundos
0x4 Minutos
0x8 horas

[ @freq_subday_interval = ] freq_subday_interval

Número de períodos de @freq_subday_type que se van a producir entre cada ejecución de un trabajo. @freq_subday_interval es int, con un valor predeterminado de 0.

[ @freq_relative_interval = ] freq_relative_interval

Define aún más el @freq_interval cuando @freq_type se establece 32 en (relativo mensual).

@freq_relative_interval es int y puede ser uno de estos valores.

Valor Descripción (unidad)
1 Primero
2 Segundo
4 Tercero
8 Cuarta
16 Último

@freq_relative_interval indica la aparición del intervalo. Por ejemplo, si @freq_relative_interval está establecido 2en , @freq_type se establece 32en y @freq_interval se establece 3en , el trabajo programado se produciría el segundo martes de cada mes.

[ @freq_recurrence_factor = ] freq_recurrence_factor

Número de semanas o meses entre las ejecuciones programadas de un trabajo. @freq_recurrence_factor es int, con un valor predeterminado de 0. @freq_recurrence_factor solo se usa si @freq_type está establecido 8en , 16o 32.

[ @active_start_date = ] active_start_date

Fecha en la que se puede iniciar la ejecución del trabajo. @active_start_date es int, con un valor predeterminado de NULL. La fecha tiene el formato yyyyMMdd. Si se establece @active_start_date , la fecha debe ser mayor o igual que 19900101.

Una vez creada la programación, revise la fecha de inicio y confirme que es la fecha correcta. Para obtener más información, vea la sección "Programar fecha de inicio" en Crear y adjuntar programaciones a trabajos.

[ @active_end_date = ] active_end_date

Fecha en la que puede detenerse la ejecución del trabajo. @active_end_date es int, con un valor predeterminado de 99991231. La fecha tiene el formato yyyyMMdd.

[ @active_start_time = ] active_start_time

Hora en cualquier día entre @active_start_date y @active_end_date para iniciar la ejecución del trabajo. @active_start_time es int, con un valor predeterminado de 000000. La hora tiene el formato HHmmss de reloj de 24 horas.

[ @active_end_time = ] active_end_time

Hora en cualquier día entre active_start_date y @active_end_date para finalizar la ejecución del trabajo. @active_end_time es int, con un valor predeterminado de 235959. La hora tiene el formato HHmmss de reloj de 24 horas.

[ @owner_login_name = ] N'owner_login_name'

Nombre de la entidad de seguridad del servidor a la que pertenece la programación. @owner_login_name es sysname, con un valor predeterminado de NULL, que indica que la programación es propiedad del creador.

[ @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

Todos los trabajos que utilizan la programación emplean de inmediato la nueva configuración. Sin embargo, cambiar una programación no detiene los trabajos que se están ejecutando actualmente.

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 modificar una programación propiedad de otro usuario.

Ejemplos

En el siguiente ejemplo se cambia el estado de habilitación de la programación NightlyJobs a 0 y se establece el propietario en terrid.

USE msdb;
GO

EXEC dbo.sp_update_schedule
    @name = 'NightlyJobs',
    @enabled = 0,
    @owner_login_name = 'terrid';
GO