sp_attach_schedule (Transact-SQL)
Imposta una pianificazione per un processo.
Sintassi
sp_attach_schedule
{ [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
{ [ @schedule_id = ] schedule_id
| [ @schedule_name = ] 'schedule_name' }
Argomenti
[ @job_id= ] job_id
Numero di identificazione del processo al quale viene aggiunta la pianificazione. job_idè di tipo uniqueidentifier e il valore predefinito è NULL.[ @job_name = ] 'job_name'
Nome del processo a cui viene aggiunta la pianificazione. job_nameè di tipo sysname e il valore predefinito è NULL.[!NOTA]
È necessario specificare l'argomento job_id oppure l'argomento job_name ma non è possibile specificarli entrambi.
[ @schedule_id = ] schedule_id
Numero di identificazione della pianificazione da impostare per il processo. schedule_idè di tipo int e il valore predefinito è NULL.[ @schedule_name = ] 'schedule_name'
Nome della pianificazione da impostare per il processo. schedule_nameè di tipo sysname e il valore predefinito è NULL.[!NOTA]
È necessario specificare l'argomento schedule_id oppure l'argomento schedule_name ma non è possibile specificarli entrambi.
Osservazioni
La pianificazione e il processo devono avere lo stesso proprietario.
È possibile impostare una pianificazione per più di un processo. È possibile eseguire un processo su più di una pianificazione.
Questa stored procedure deve essere eseguita dal database msdb.
Autorizzazioni
Per impostazione predefinita, questa stored procedure può essere eseguita dai membri del ruolo predefinito del server sysadmin. Gli altri utenti devono appartenere a uno dei seguenti ruoli predefiniti del database di SQL Server Agent nel database msdb:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Per informazioni sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.
SQL Server verifica se l'utente è proprietario sia del processo che della pianificazione.
Esempi
Nell'esempio seguente viene creata una pianificazione denominata NightlyJobs. I processi che utilizzano questa pianificazione vengono eseguiti ogni giorno quando l'ora indicata dal server è 01:00. Nell'esempio la pianificazione viene collegata al processo BackupDatabase e al processo RunReports.
[!NOTA]
In questo esempio si presuppone che il processo BackupDatabase e il processo RunReports esistano già.
USE msdb ;
GO
EXEC sp_add_schedule
@schedule_name = N'NightlyJobs' ,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000 ;
GO
EXEC sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs' ;
GO
EXEC sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs' ;
GO
Vedere anche