sp_update_schedule (Transact-SQL)
Aplica-se a:SQL Server
Altera as configurações de uma agenda do SQL Server Agent.
Convenções de sintaxe de Transact-SQL
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 ]
[ ; ]
Argumentos
@schedule_id [ = ] schedule_id
O identificador da agenda a ser modificada. @schedule_id é int, com um padrão de NULL
.
Devem ser especificados @schedule_id ou @name .
@name [ = ] N'nome'
0 nome da agenda a ser modificada. @name é sysname, com um padrão de NULL
.
Devem ser especificados @schedule_id ou @name .
@new_name [ = ] N'new_name'
O novo nome da agenda. @new_name é sysname, com um padrão de NULL
. Quando @new_name é NULL, o nome da agenda é inalterado.
@enabled [ = ] habilitado
Indica o status atual da agenda. @enabled é tinyint, com um padrão de 1
(enabled). Se 0
, o agendamento não estiver habilitado. Quando o agendamento não estiver habilitado, nenhum trabalho será executado nesse agendamento.
@freq_type [ = ] freq_type
Um valor que indica quando um trabalho deve ser executado. @freq_type é int, e pode ser um desses valores.
Valor | Descrição |
---|---|
1 |
Uma vez |
4 |
Diário |
8 |
Semanal |
16 |
Mensal |
32 |
Mensal, em relação ao @freq_interval |
64 |
Executar quando o serviço SQL Server Agent for iniciado |
128 |
Executar quando o computador estiver ocioso |
@freq_interval [ = ] freq_interval
Os dias em que um trabalho é executado. @freq_interval é int, com um padrão de , e depende do valor de 0
@freq_type conforme indicado na tabela a seguir:
Valor da @freq_type | Efeito na @freq_interval |
---|---|
1 (uma vez) |
@freq_interval não é utilizado. |
4 (diárias) |
Todos os dias @freq_interval . |
8 (semanal) |
@freq_interval é um ou mais dos seguintes (combinado com um OR operador lógico):1 = Domingo2 = Segunda-feira4 = Terça-feira8 = Quarta-feira16 = Quinta-feira32 = Sexta-feira64 = Sábado |
16 (mensal) |
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 = Dia da semana10 = Dia de fim de semana |
64 (quando o serviço SQL Server Agent é iniciado) |
@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) |
---|---|
0x1 |
Na hora especificada |
0x2 |
Segundos |
0x4 |
Minutos |
0x8 |
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 um trabalho. @freq_subday_interval é int, com um padrão de 0
.
@freq_relative_interval [ = ] freq_relative_interval
Define ainda mais o @freq_interval quando @freq_type é definido como 32
(relativo mensal).
@freq_relative_interval é int, e pode ser um desses valores.
Valor | Descrição (unidade) |
---|---|
1 |
Primeiro |
2 |
Segundo |
4 |
Terceiro |
8 |
Quarto |
16 |
Último |
@freq_relative_interval indica a ocorrência do intervalo. Por exemplo, se @freq_relative_interval estiver definido como , @freq_type estiver definido como 32
2
, e @freq_interval estiver definido como 3
, o trabalho agendado ocorrerá na segunda terça-feira de cada mês.
@freq_recurrence_factor [ = ] freq_recurrence_factor
O número de semanas ou meses entre execuções agendadas de um trabalho. @freq_recurrence_factor é int, com um padrão de 0
. @freq_recurrence_factor é usado somente 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 é formatada como yyyyMMdd
. Se @active_start_date estiver definido, a data deverá ser maior ou igual a 19900101
.
Depois que a agenda for criada, revise a data de início e confirme se é a data correta. Para obter mais informações, consulte a seção "Agendando data de início" em Criar e anexar agendas a trabalhos.
@active_end_date [ = ] active_end_date
Data na qual a execução do trabalho pode parar. @active_end_date é int, com um padrão de 99991231
. A data é formatada como yyyyMMdd
.
@active_start_time [ = ] active_start_time
O tempo em qualquer dia entre @active_start_date e @active_end_date para iniciar a execução do trabalho. @active_start_time é int, com um padrão de 000000
. A hora é formatada como HHmmss
em um 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 encerrar a execução do trabalho. @active_end_time é int, com um padrão de 235959
. A hora é formatada como HHmmss
em um relógio de 24 horas.
@owner_login_name [ = ] N'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 pertence ao criador.
@automatic_post [ = ] automatic_post
Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Todos os trabalhos que usam a agenda usarão imediatamente as novas configurações. No entanto, a alteração de uma agenda não interrompe os trabalhos que estão em execução no momento.
Permissões
Esse procedimento armazenado pertence à função db_owner . Você pode conceder EXECUTE
permissões para qualquer usuário, mas essas permissões podem ser substituídas durante uma atualização do SQL Server.
Outros usuários devem receber uma das seguintes funções de banco de dados fixas msdb
do SQL Server Agent no banco de dados:
- 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 membros do sysadmin podem modificar uma agenda de propriedade de 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
Conteúdo relacionado
- Criar e anexar agendas para trabalhos
- Agendar um trabalho
- Create a Schedule
- 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)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de