sp_update_schedule (Transact-SQL)
Altera as configurações de uma agenda do SQL Server Agent.
Convenções da sintaxe Transact-SQL
Sintaxe
sp_update_schedule
{ [ @schedule_id = ] schedule_id
| [ @name = ] 'schedule_name' }
[ , [ @new_name = ] 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 = ] 'owner_login_name' ]
[ , [ @automatic_post =] automatic_post ]
Argumentos
[ @schedule_id = ] schedule_id
O identificador da agenda a ser modificada. schedule_id é int, sem padrão. É necessário especificar o schedule_id ou o schedule_name.[ @name = ] 'schedule_name'
0 nome da agenda a ser modificada. schedule_nameé sysname, sem padrão. É necessário especificar o schedule_id ou o schedule_name.[ @new_name= ] new_name
O novo nome da agenda. new_name é sysname, com um padrão de NULL. Quando new_name é NULL, o nome da agenda não é alterado.[ @enabled = ] enabled
Indica o status atual da agenda. enabledé tinyint, com um padrão de 1 (habilitado). Se for 0, o agendamento não está habilitado. Quando o agendamento não está habilitado, nenhum trabalho é executado nele.[ @freq_type = ] freq_type
Um valor que indica quando um trabalho deve ser executado. freq_typeé int, com um padrão de 0 e pode ter um destes valores.Value
Descrição
1
Uma vez
4
Diariamente
8
Semanalmente
16
Mensalmente
32
Mensalmente, relativo a freq interval
64
Executado quando o serviço SQLServerAgent é iniciado
128
Executado quando o computador está ocioso
[ @freq_interval = ] freq_interval
Os dias em que um trabalho é executado. freq_interval é int, com um padrão de 0 e depende do valor de freq_type.Valor de freq_type
Efeito em freq_interval
1 (uma vez)
freq_interval não é usado.
4 (diariamente)
Todos os dias de freq_interval.
8 (semanalmente).
freq_interval é um ou mais dos seguintes (combinado com um operador lógico OR):
1 = domingo
2 = segunda-feira
4 = terça-feira
8 = quarta-feira
16 = quinta-feira
32 = Sexta-feira
64 = Sábado
16 (mensalmente)
No dia freq_interval do mês
32 (mensal relativo)
freq_interval é um dos seguintes:
1 = domingo
2 = segunda-feira
3 = Terça-feira
4 = Quarta-feira
5 = Quinta-feira
6 = Sexta-feira
7 = Sábado
8 = dia
9 = dia da semana
10 = Dia de fim de semana
64 (quando o serviço SQLServerAgent é iniciado)
freq_interval não é usado.
128
freq_interval não é usado.
[ @freq_subday_type = ] freq_subday_type
Especifica as unidades para freq_subday_interval*.* freq_subday_typeé int, com um padrão de 0 e pode ter um destes valores.Value
Descrição (unidade)
0x1
Na hora especificada
0x2
Segundos
0x4
Minutos
0x8
Horas
[ @freq_subday_interval = ] freq_subday_interval
O número de períodos de freq_subday_type que devem ocorrer entre cada execução de um trabalho. freq_subday_intervalé int, com um padrão de 0.[ @freq_relative_interval = ] freq_relative_interval
A ocorrência de um trabalho de freq_interval em cada mês, se freq_interval for 32 (mensal relativo). freq_relative_intervalé int, com um padrão de 0 e pode ter um destes valores.Value
Descrição (unidade)
1
First
2
Segundo
4
Terceiro
8
Quarto
16
Último
[ @freq_recurrence_factor = ] freq_recurrence_factor
O número de semanas ou meses entre execuções agendadas de um trabalho. freq_recurrence_factor será usado apenas se freq_type for 8, 16ou 32. freq_recurrence_factoré int, com um padrão de 0.[ @active_start_date = ] active_start_date
A data na qual a execução de um trabalho pode começar. active_start_dateé int, com um padrão de NULL, que indica a data de hoje. A data é formatada como AAAAMMDD. Se active_start_date não for NULL, a data deverá ser maior ou igual a 19900101.Depois que a agenda é criada, analise a data de início e confirme se a data está correta. Para obter mais informações, consulte a seção "Agendando datas de início" em Criar e anexar agendas para trabalhos.
[ @active_end_date = ] active_end_date
A data na qual a execução de um trabalho pode parar. active_end_dateé int, com um padrão de 99991231, que indica 31 de dezembro de 9999. Formatada como AAAAMMDD.[ @active_start_time = ] active_start_time
A hora em qualquer dia entre active_start_date e active_end_date para iniciar a execução de um trabalho. active_start_timeé int, com um padrão de 000000, que indica 00h00 em um relógio de 24 horas e deve ser inserido com o formato HHMMSS.[ @active_end_time = ] active_end_time
A hora em qualquer dia entre active_start_date e active_end_date para terminar a execução de um trabalho. active_end_timeé int, com um padrão de 235959, que indica 23h59m59s em um relógio de 24 horas e deve ser inserido com o formato HHMMSS.[ @owner_login_name= ] 'owner_login_name']
O nome da entidade de segurança do servidor que possui a agenda. owner_login_name é sysname, com um padrão de NULL, que indica que a agenda é de propriedade do criador.[ @automatic_post =] automatic_post
Reservado.
Valores de código de retorno
0 (êxito) ou 1 (falha)
Comentários
Todos os trabalhos que usam a agenda usarão imediatamente as novas configurações. Entretanto, a alteração de uma agenda não para trabalhos que estejam atualmente em execução.
Permissões
Por padrão, os membros da função de servidor fixa sysadmin podem executar este procedimento armazenado. Deve ser concedida a outros usuários uma das seguintes funções de banco de dados fixas do SQL Server Agent no banco de dados msdb:
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 os membros de sysadmin podem modificar uma agenda pertencente a outro usuário.
Exemplos
O exemplo a seguir altera o status habilitado da agenda NightlyJobs para 0 e define o proprietário como terrid.
USE msdb ;
GO
EXEC dbo.sp_update_schedule
@name = 'NightlyJobs',
@enabled = 0,
@owner_login_name = 'terrid' ;
GO
Consulte também
Referência
Procedimentos armazenados do SQL Server Agent (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)