Condividi tramite


sp_attach_schedule (Transact-SQL)

Imposta una pianificazione per un processo.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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