sp_update_schedule (Transact-SQL)
Altera as configurações de uma agenda do SQL Server Agent.
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'
O 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 do agendamento. 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 ser um destes valores.Valor
Descrição
1
Uma vez
4
Diariamente
8
Semanalmente
16
Mensalmente
32
Mensalmente, relativo ao 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 o trabalho é executado. freq_interval é int, com um padrão 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)
A cada freq_interval dias.
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 do 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 do freq_subday_interval*.* freq_subday_typeé int, com um padrão 0 e pode ser um desses valoresValor
Descrição (unidade)
0x1
Na hora especificada
0x2
Segundos
0x4
Minutos
0x8
Hours
[ @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
freq_interval ocorrências de um trabalho em cada mês, se freq_interval for 32 (relativo ao mês). freq_relative_intervalé int, com um padrão de 0, e pode ser um destes valores.Valor
Descrição (unidade)
1
First
2
Second
4
Terceiro
8
Quarto
16
Last
[ @freq_recurrence_factor = ] freq_recurrence_factor
O número de semanas ou meses entre a execução agendada de um trabalho. freq_recurrence_factor é usado somente se freq_type for 8, 16 ou 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 atual. 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 Criando e anexando agendas a 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 de qualquer dia entre active_start_date e active_end_date em que a execução de um trabalho será iniciada. active_start_timeé int, com um padrão de 000000, que indica 0h em um relógio de 24 horas, e deve ser inserida usando o formato HHMMSS.[ @active_end_time = ] active_end_time
A hora de qualquer dia entre active_start_date e active_end_date em que a execução de um trabalho será finalizada. active_end_timeé int, com um padrão de 235959, que indica 23h59m59s em um relógio de 24 horas, e deve ser inserida usando o formato HHMMSS.[ @owner_login_name= ] 'owner_login_name']
O nome da entidade de servidor que possui a agenda. owner_login_name is sysname, com um padrão de NULL, indicando que a agenda pertence ao 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