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 0
es , 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 0
y 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 = Domingo2 = Lunes4 = Martes8 = miércoles16 = Jueves32 = Viernes64 = Sábado |
16 (mensual) |
En el @freq_interval día del mes. |
32 (relativa mensual) |
@freq_interval es uno de los siguientes:1 = Domingo2 = Lunes3 = Martes4 = miércoles5 = Jueves6 = Viernes7 = Sábado8 = Día9 = Día de la semana10 = 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 2
en , @freq_type se establece 32
en y @freq_interval se establece 3
en , 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 8
en , 16
o 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
Contenido relacionado
- Crear y adjuntar programaciones a trabajos
- Programar un trabajo
- Create a Schedule
- Agente SQL Server procedimientos almacenados (Transact-SQL)
- sp_add_schedule (Transact-SQL)
- sp_add_jobschedule (Transact-SQL)
- sp_delete_schedule (Transact-SQL)
- sp_help_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)