sp_update_schedule (Transact-SQL)

Altera as configurações de uma agenda do SQL Server Agent.

Ícone de vínculo de tópicoConvenções de 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'
    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 valores

    Valor

    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