Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Cria uma agenda que pode ser usada por qualquer número de trabalhos.
Transact-SQL convenções de sintaxe
Sintaxe
sp_add_schedule
[ @schedule_name = ] 'schedule_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' ]
[ , [ @schedule_uid = ] schedule_uid OUTPUT ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
[ , [ @originating_server = ] server_name ] /* internal */
[ ; ]
Argumentos
@schedule_name [ = ] «schedule_name»
O nome da agenda. @schedule_name é sysname, sem padrão.
@enabled [ = ] ativado
Indica o status atual da agenda.
@enabled é tinyint, com um padrão de 1 (enabled). Se 0o , o agendamento não estiver habilitado. Quando o agendamento não está habilitado, nenhum trabalho é executado nesse agendamento.
@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 desses valores.
| Valor | Descrição |
|---|---|
1 |
Uma vez |
4 |
Diariamente |
8 |
Semanalmente |
16 |
Mensalmente |
32 |
Mensal, em relação a @freq_interval |
64 |
Executar quando o serviço SQL Server Agent é iniciado |
128 |
Executar quando o computador está inativo (sem suporte na Instância Gerenciada SQL do Azure) |
@freq_interval [ = ] @freq_interval
Os dias em que um trabalho é executado.
@freq_interval é int, com um padrão de 1, e depende do valor de @freq_type.
| Valor da @freq_type | Efeito na @freq_interval |
|---|---|
1 (uma vez) |
@freq_interval não é utilizado. |
4 (diário) |
A cada @freq_interval 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 (mensal) |
No @freq_interval dia do mês. |
32 (parente mensal) |
@freq_interval é uma das 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 SQLServerAgent é 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, com um padrão de 0, e pode ser um desses valores.
| Valor | Descrição (unidade) |
|---|---|
1 |
No momento especificado |
2 |
Segundos |
4 |
Minutos |
8 |
Horário |
@freq_subday_interval [ = ] freq_subday_interval
O número de @freq_subday_type períodos a ocorrer entre cada execução de um trabalho.
@freq_subday_interval é int, com um padrão de 0. O intervalo deve ter pelo menos 10 segundos.
@freq_subday_interval é ignorado nos casos em que @freq_subday_type é igual a 1.
@freq_relative_interval [ = ] freq_relative_interval
A ocorrência 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 ser um desses valores.
@freq_relative_interval é ignorado nos casos em que @freq_type não é igual a 32.
| Valor | Descrição (unidade) |
|---|---|
1 |
Primeiro |
2 |
Segundo |
4 |
Terceiro |
8 |
Quarta |
16 |
Último |
@freq_recurrence_factor [ = ] freq_recurrence_fator
O número de semanas ou meses entre a execução programada de um trabalho.
@freq_recurrence_fator é utilizado apenas se @freq_type for 8, 16ou 32.
@freq_recurrence_fator é int, com um padrão de 0.
[ @active_start_date = ] ative_start_date
A data em que a execução de um trabalho pode começar.
@ative_start_date é int, com um padrão de NULL, que indica a data de hoje. A data está formatada como yyyyMMdd. Se @ative_start_date não NULLfor, a data deve 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.
Para agendas semanais ou mensais, o Agente ignora se @ative_start_date está no passado e, em vez disso, usa a data atual. Quando uma agenda do SQL Server Agent é criada usando sp_add_schedule , há uma opção para especificar o parâmetro @ative_start_date que é a data de início da execução do trabalho. Se o tipo de agenda for semanal ou mensal e o parâmetro @ative_start_date for definido como uma data no passado, o parâmetro @ative_start_date será ignorado e a data atual será usada para @ative_start_date.
[ @active_end_date = ] ative_end_date
A data em que a execução de um trabalho pode parar.
@ative_end_date é int, com um padrão de , que indica 31 de dezembro de 999912319999. Formatado como yyyyMMdd.
@active_start_time [ = ] ative_start_time
O tempo em qualquer dia entre @ative_start_date e @ative_end_date para iniciar a execução de um trabalho.
@ative_start_time é int, com um padrão de , que indica 12:00:00 em um relógio de 24 horas, e deve ser inserido 000000usando o formulário HHmmss.
@active_end_time [ = ] ative_end_time
O tempo em qualquer dia entre @ative_start_date e @ative_end_date para terminar a execução de um trabalho.
@ative_end_time é int, com um padrão de , que indica 23:59:59 em um relógio de 24 horas, e deve ser inserido 235959usando o formulário HHmmss.
@owner_login_name [ = ] «owner_login_name»
O nome da entidade de segurança do servidor proprietária da agenda.
@owner_login_name é sysname, com um padrão de NULL, que indica que a agenda é de propriedade do criador.
@schedule_uid [ = ] schedule_uid SAÍDA
Um identificador exclusivo para a agenda. @schedule_uid é uma variável do tipo uniqueidentifier.
@schedule_id [ = ] schedule_id SAÍDA
Um identificador para a agenda. @schedule_id é uma variável do tipo int.
@originating_server [ = ] server_name
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).
Conjunto de resultados
Nenhum.
Observações
O SQL Server Management Studio fornece uma maneira gráfica fácil de gerenciar trabalhos e é a maneira recomendada de criar e gerenciar a infraestrutura de trabalho.
Permissões
Você pode conceder permissões de EXECUTE neste procedimento, 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 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.
Exemplos
Um. Criar uma agenda
O exemplo a seguir cria uma agenda chamada RunOnce. A agenda é executada uma vez, no 23:30 dia em que a agenda é criada.
USE msdb;
GO
EXECUTE dbo.sp_add_schedule
@schedule_name = N'RunOnce',
@freq_type = 1,
@active_start_time = 233000;
GO
B. Criar uma agenda, anexando a agenda a vários trabalhos
O exemplo a seguir cria uma agenda chamada NightlyJobs. Os trabalhos que usam esse agendamento são executados todos os dias quando a hora no servidor é 01:00. O exemplo anexa o cronograma ao trabalho BackupDatabase e ao trabalho RunReports.
Observação
Este exemplo pressupõe que o trabalho BackupDatabase e o trabalho RunReports já existem.
USE msdb;
GO
EXECUTE sp_add_schedule
@schedule_name = N'NightlyJobs',
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000;
GO
EXECUTE sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs';
GO
EXECUTE sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs';
GO
Conteúdo relacionado
- Criar e anexar cronogramas a trabalhos
- Agendar um Trabalho
- Criar uma agenda
- procedimentos armazenados do SQL Server Agent (Transact-SQL)
- sp_add_jobschedule (Transact-SQL)
- sp_update_schedule (Transact-SQL)
- sp_delete_schedule (Transact-SQL)
- sp_help_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)