Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a:SQL Server
Istanza gestita di SQL di Azure
Crea una pianificazione per un processo di SQL Server Agent.
Convenzioni relative alla sintassi Transact-SQL
Importante
In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Differenze T-SQL tra Istanza gestita di SQL di Azure e SQL Server.
Sintassi
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 ]
[ ; ]
Argomenti
[ @job_id = ] 'job_id'
Numero di identificazione del processo a cui viene aggiunta la pianificazione.
@job_id è uniqueidentifier, con un valore predefinito .NULL
È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.
[ @job_name = ] N'job_name'
Nome del processo a cui viene aggiunta la pianificazione.
@job_name è sysname, con il valore predefinito NULL.
È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.
[ @name = ] N'name'
Nome della pianificazione. @name è sysname, senza impostazione predefinita.
[ @enabled = ] abilitato
Indica lo stato corrente della pianificazione.
@enabled è tinyint, con il valore predefinito 1 (abilitato). Se 0, la pianificazione non è abilitata. Quando la pianificazione è disabilitata, il processo non viene eseguito.
[ @freq_type = ] freq_type
Valore che indica la frequenza di esecuzione del processo. @freq_type è int e può essere uno dei valori seguenti:
| valore | Descrizione |
|---|---|
1 |
Una sola volta |
4 |
Ogni giorno |
8 |
Settimanale |
16 |
Mensile |
32 |
Mensile, rispetto alle @freq_interval. |
64 |
Eseguire all'avvio del servizio SQL Server Agent. |
128 |
Quando il computer è inattivo |
[ @freq_interval = ] freq_interval
Giorno di esecuzione del processo.
@freq_interval è int, con un valore predefinito , 0e dipende dal valore di @freq_type come indicato nella tabella seguente:
| Valore di @freq_type | Effetto sulle @freq_interval |
|---|---|
1 (una volta) |
@freq_interval non è usato. |
4 (giornaliero) |
Ogni @freq_interval giorni. |
8 (settimanale) |
@freq_interval è uno o più dei seguenti (combinati con un OR operatore logico):1 = Domenica2 = Lunedì4 = Martedì8 = Mercoledì16 = Giovedì32 = Venerdì64 = Sabato |
16 (mensile) |
Nel @freq_interval giorno del mese. |
32 (relativo mensile) |
@freq_interval è uno dei seguenti:1 = Domenica2 = Lunedì3 = Martedì4 = Mercoledì5 = Giovedì6 = Venerdì7 = Sabato8 = Giorno9 = Giorno feriale10 = Giorno del fine settimana |
64 (all'avvio del servizio SQL Server Agent) |
@freq_interval non è usato. |
128 |
@freq_interval non è usato. |
[ @freq_subday_type = ] freq_subday_type
Specifica le unità per @freq_subday_interval. @freq_subday_type è int e può essere uno di questi valori:
| valore | Descrizione (unità) |
|---|---|
1 |
All'ora specificata |
2 |
Secondi |
4 |
Minuti |
8 |
Ore |
[ @freq_subday_interval = ] freq_subday_interval
Numero di periodi di @freq_subday_type da eseguire tra ogni esecuzione del processo.
@freq_subday_interval è int, con il valore predefinito 0.
[ @freq_relative_interval = ] freq_relative_interval
Definisce ulteriormente il @freq_interval quando @freq_type è impostato su 32 (relativo mensile).
@freq_relative_interval è int e può essere uno di questi valori:
| valore | Descrizione (unità) |
|---|---|
1 |
First |
2 |
Secondo |
4 |
Terza |
8 |
Quarta |
16 |
Ultimo |
@freq_relative_interval indica l'occorrenza dell'intervallo. Ad esempio, se @freq_relative_interval è impostato su 2, @freq_type è impostato su 32e @freq_interval è impostato su 3, il processo pianificato verrà eseguito il secondo martedì di ogni mese.
[ @freq_recurrence_factor = ] freq_recurrence_factor
Numero di settimane o mesi tra le esecuzioni pianificate del processo.
@freq_recurrence_factor è int, con un valore predefinito .0
@freq_recurrence_factor viene usato solo se @freq_type è impostato su 8, 16o 32.
[ @active_start_date = ] active_start_date
Data di inizio dell'esecuzione del processo.
@active_start_date è int, con un valore predefinito .NULL La data è formattata come yyyyMMdd. Se @active_start_date è impostato, la data deve essere maggiore o uguale a 19900101.
Dopo aver creato la pianificazione, esaminare la data di inizio e verificare che sia la data corretta. Per altre informazioni, vedere la sezione "Pianificazione della data di inizio" in Creare e allegare pianificazioni ai processi.
[ @active_end_date = ] active_end_date
Data in cui l'esecuzione del processo può interrompersi.
@active_end_date è int, con un valore predefinito .99991231 La data è formattata come yyyyMMdd.
[ @active_start_time = ] active_start_time
Ora in qualsiasi giorno tra @active_start_date e @active_end_date per avviare l'esecuzione del processo.
@active_start_time è int, con il valore predefinito 000000. L'ora viene formattata come HHmmss in un orologio di 24 ore.
[ @active_end_time = ] active_end_time
Ora in qualsiasi giorno tra active_start_date e @active_end_date per terminare l'esecuzione del processo.
@active_end_time è int, con il valore predefinito .235959 L'ora viene formattata come HHmmss in un orologio di 24 ore.
[ @schedule_id = ] schedule_id OUTPUT
Pianificare il numero di identificazione assegnato alla pianificazione se viene creato correttamente. @schedule_id è un parametro OUTPUT di tipo int.
[ @automatic_post = ] automatic_post
Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.
[ @schedule_uid = ] OUTPUT 'schedule_uid'
Identificatore univoco della pianificazione. @schedule_uid è un parametro OUTPUT di tipo uniqueidentifier.
Valori del codice restituito
0 (esito positivo) o 1 (errore).
Set di risultati
Nessuno.
Osservazioni:
È possibile gestire le pianificazioni dei processi in modo indipendente dai processi. Per aggiungere una pianificazione a un processo, usare sp_add_schedule per creare la pianificazione e sp_attach_schedule collegare la pianificazione a un processo.
Autorizzazioni
È possibile concedere EXECUTE autorizzazioni per questa procedura, ma queste autorizzazioni potrebbero essere sottoposte a override durante un aggiornamento di SQL Server.
È necessario concedere ad altri utenti uno dei ruoli predefiniti del database di SQL Server Agent seguenti:msdb
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Per informazioni dettagliate sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.
Esempi
Nell'esempio seguente viene assegnata una pianificazione del processo a SaturdayReports, che viene eseguita ogni sabato alle 2:00.
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
Contenuto correlato
- Creare pianificazioni e collegarle ai processi
- Pianificare un processo
- Crea un Programma
- Stored procedure di SQL Server Agent (Transact-SQL)
- sp_add_schedule (Transact-SQL)
- sp_update_schedule (Transact-SQL)
- sp_delete_schedule (Transact-SQL)
- sp_help_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)