Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Altera as definições para um agendamento do SQL Server Agent.
Transact-SQL convenções de sintaxe
Sintaxe
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 ]
[ ; ]
Arguments
[ @schedule_id = ] schedule_id
O identificador do anexo a modificar.
@schedule_id é int, com um padrão de NULL.
Deve ser especificado @schedule_id ou @name .
[ @name = ] N'nome'
O nome do calendário a modificar.
@name é sysname, com um padrão de NULL.
Deve ser especificado @schedule_id ou @name .
[ @new_name = ] N'new_name'
O novo nome para o horário.
@new_name é sysname, com um padrão de NULL. Quando @new_name é NULL, o nome do horário mantém-se inalterado.
[ @enabled = ] ativado
Indica o estado atual do calendário.
@enabled é tinyint, com o padrão de 1 (ativado). Se 0, o horário não está ativado. Quando o horário não está ativado, nenhum trabalho será executado nesse horário.
[ @freq_type = ] freq_type
Um valor que indica quando um trabalho deve ser executado. @freq_type é int, e pode ser um desses valores.
| Valor | Description |
|---|---|
1 |
Uma vez |
4 |
Diariamente |
8 |
Weekly |
16 |
Monthly |
32 |
Mensalmente, em relação ao @freq_interval |
64 |
Executar quando o serviço SQL Server Agent iniciar |
128 |
Correr quando o computador estiver parado |
[ @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 conforme indicado na tabela seguinte:
| Valor da @freq_type | Efeito na @freq_interval |
|---|---|
1 (uma vez) |
@freq_interval não é utilizado. |
4 (diariamente) |
De @freq_interval em dias. |
8 (semanal) |
@freq_interval é um ou mais dos seguintes (combinados com um OR operador lógico):1 = Domingo2 = Segunda-feira4 = Terça-feira8 = Quarta-feira16 = Quinta-feira32 = Sexta-feira64 = Sábado |
16 (mensalmente) |
No @freq_interval dia do mês. |
32 (parente mensal) |
@freq_interval é um dos seguintes:1 = Domingo2 = Segunda-feira3 = Terça-feira4 = Quarta-feira5 = Quinta-feira6 = Sexta-feira7 = Sábado8 = Dia9 = Dias úteis10 = Dia de fim de semana |
64 (quando o serviço SQL Server Agent inicia) |
@freq_interval não é utilizado. |
128 |
@freq_interval não é utilizado. |
[ @freq_subday_type = ] freq_subday_type
Especifica as unidades para @freq_subday_interval. @freq_subday_type é int, e pode ser um desses valores.
| Valor | Descrição (unidade) |
|---|---|
1 |
Na hora especificada |
2 |
Segundos |
4 |
Minutos |
8 |
Horário |
[ @freq_subday_interval = ] freq_subday_interval
O número de períodos de @freq_subday_type a ocorrer entre cada execução de uma tarefa.
@freq_subday_interval é int, com um padrão de 0.
[ @freq_relative_interval = ] freq_relative_interval
Define ainda o @freq_interval quando @freq_type é definido para 32 (relativo mensal).
@freq_relative_interval é int, e pode ser um desses valores.
| Valor | Descrição (unidade) |
|---|---|
1 |
First |
2 |
Second |
4 |
Terceiro |
8 |
Quarto |
16 |
Último |
@freq_relative_interval indica a ocorrência do intervalo. Por exemplo, se @freq_relative_interval estiver definido para 2, @freq_type for definido para 32, e @freq_interval para 3, o trabalho agendado ocorreria na segunda terça-feira de cada mês.
[ @freq_recurrence_factor = ] freq_recurrence_factor
O número de semanas ou meses entre a execução agendada de um trabalho.
@freq_recurrence_factor é int, com um padrão de 0.
@freq_recurrence_factor é usado apenas se @freq_type estiver definido como 8, 16, ou 32.
[ @active_start_date = ] active_start_date
A data em que a execução do trabalho pode começar.
@active_start_date é int, com um padrão de NULL. A data está formatada como yyyyMMdd. Se @active_start_date for definido, a data deve ser maior ou igual a 19900101.
Depois de criar o horário, reveja a data de início e confirme se é a data correta. Para mais informações, consulte a secção "Agendamento da Data de Início" em Criar e Anexar Agendamentos a Trabalhos.
[ @active_end_date = ] active_end_date
Data em que a execução do trabalho pode parar.
@active_end_date é int, com um padrão de 99991231. A data está formatada como yyyyMMdd.
[ @active_start_time = ] active_start_time
O tempo em qualquer dia entre @active_start_date e @active_end_date para começar a execução do trabalho.
@active_start_time é int, com um padrão de 000000. A hora está formatada como HHmmss num relógio de 24 horas.
[ @active_end_time = ] active_end_time
O tempo em qualquer dia entre active_start_date e @active_end_date para terminar a execução do trabalho.
@active_end_time é int, com um padrão de 235959. A hora está formatada como HHmmss num relógio de 24 horas.
[ @owner_login_name = ] N'owner_login_name'
O nome do principal servidor que detém o horário.
@owner_login_name é sysname, com um padrão de NULL, que indica que o horário pertence ao criador.
[ @automatic_post = ] automatic_post
Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Observações
Todos os empregos que usam o horário usam imediatamente as novas definições. No entanto, alterar um horário não impede os trabalhos que já estão a funcionar.
Permissions
Pode conceder EXECUTE permissões neste procedimento, mas essas permissões podem ser anuladas durante uma atualização do SQL Server.
Outros utilizadores devem receber um dos seguintes papéis fixos de base de dados SQL Server Agent na msdb base de dados:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Para detalhes sobre as permissões destes papéis, consulte Funções de Base de Dados Fixas do Agente SQL Server.
Só os membros do sysadmin podem modificar um horário pertencente a outro utilizador.
Examples
O exemplo seguinte altera o estado ativado do NightlyJobs anexo para 0 e define o proprietário para terrid.
USE msdb;
GO
EXECUTE dbo.sp_update_schedule
@name = 'NightlyJobs',
@enabled = 0,
@owner_login_name = 'terrid';
GO