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 um cronograma para um trabalho SQL Server Agent.
Transact-SQL convenções de sintaxe
Importante
No Azure SQL Managed Instance, a maioria dos recursos do SQL Server Agent, mas não todos, são suportados no momento. Consulte as diferenças entre o Azure SQL Managed Instance T-SQL e o SQL Server para mais detalhes.
Sintaxe
sp_add_jobschedule
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
, [ @name = ] N'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 ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
[ , [ @automatic_post = ] automatic_post ]
[ , [ @schedule_uid = ] 'schedule_uid' OUTPUT ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
Número de identificação do trabalho ao qual o horário é adicionado.
@job_id é um identificador único, com um padrão de NULL.
Ou @job_id ou @job_name devem ser especificados, mas nenhum dos dois pode ser especificado.
[ @job_name = ] N'job_name'
Nome do trabalho ao qual o horário é adicionado.
@job_name é sysname, com o padrão de NULL.
Ou @job_id ou @job_name devem ser especificados, mas nenhum dos dois pode ser especificado.
[ @name = ] N'nome'
Nome da agenda. @name é sysname, sem padrão.
[ @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 é desativado, o trabalho não é gerido.
[ @freq_type = ] freq_type
Valor que indica quando o trabalho deve ser executado. @freq_type é int, e pode ser um dos seguintes valores:
| Valor | Description |
|---|---|
1 |
Uma vez |
4 |
Diariamente |
8 |
Weekly |
16 |
Monthly |
32 |
Mensalmente, em relação ao @freq_interval. |
64 |
Executa quando o serviço SQL Server Agent iniciar. |
128 |
Executa quando o computador estiver parado. |
[ @freq_interval = ] freq_interval
Dia em que o 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 destes valores:
| Valor | Descrição (unidade) |
|---|---|
1 |
Na hora especificada |
2 |
Segundos |
4 |
Minutos |
8 |
Horário |
[ @freq_subday_interval = ] freq_subday_interval
Número de períodos de @freq_subday_type a ocorrer entre cada execução do trabalho.
@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 destes 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
Número de semanas ou meses entre a execução prevista do 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
A 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.
[ @schedule_id = ] schedule_id SAÍDA
Número de identificação do horário atribuído ao horário se este for criado com sucesso. @schedule_id é um parâmetro OUTPUT do tipo int.
[ @automatic_post = ] automatic_post
Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.
[ @schedule_uid = ] 'schedule_uid' SAÍDA
Um identificador único para o horário. @schedule_uid é um parâmetro OUTPUT do tipo identificador único.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Conjunto de resultados
Nenhum.
Observações
Os horários de trabalho podem agora ser geridos independentemente dos trabalhos. Para adicionar um horário a um trabalho, use sp_add_schedule para criar o horário e sp_attach_schedule anexá-lo a um trabalho.
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.
Examples
O exemplo seguinte atribui um horário de tarefas a SaturdayReports, que é executado todos os sábados às 2:00 da manhã.
EXECUTE msdb.dbo.sp_add_jobschedule
@job_name = N'SaturdayReports', -- Job name
@name = N'Weekly_Sat_2AM', -- Schedule name
@freq_type = 8, -- Weekly
@freq_interval = 64, -- Saturday
@freq_recurrence_factor = 1, -- every week
@active_start_time = 20000; -- 2:00 AM