Share via


sp_add_schedule (Transact-SQL)

Data aggiornamento: 17 novembre 2008

Crea una pianificazione che può essere utilizzata da diversi processi.

Sintassi

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 */

Argomenti

  • [ @schedule_name = ] 'schedule_name'
    Nome della pianificazione. schedule_name è di tipo sysname e non prevede alcun valore predefinito.
  • [ @enabled = ] enabled
    Indica lo stato attuale della pianificazione. enabled è di tipo tinyint e il valore predefinito è 1 (attivata). Se è uguale a 0, la pianificazione non viene attivata. Quando la pianificazione non è attivata, non verrà eseguito alcun processo su questa pianificazione.
  • [ @freq_type = ] freq_type
    Valore che indica la frequenza di esecuzione di un processo. freq_type è di tipo int e il valore predefinito è 0. I possibili valori sono i seguenti.

    Valore Descrizione

    1

    Una volta

    4

    Giornaliera

    8

    Settimanale

    16

    Mensile

    32

    Mensile, relativa a freq_interval

    64

    All'avvio del servizio SQLServerAgent

    128

    Quando il computer è inattivo

  • [ @freq_interval = ] freq_interval
    Giorni in cui un processo viene eseguito. freq_interval è di tipo int, il valore predefinito è 1 e dipende dal valore di freq_type.

    Valore di freq_type Effetto su freq_interval

    1 (una volta)

    freq_interval non viene utilizzato.

    4 (giornaliera)

    Ogni freq_interval giorni.

    8 (settimanale)

    freq_interval corrisponde ad almeno uno dei valori seguenti, combinati tramite l'operatore logico OR:

    1 = domenica

    2 = lunedì

    4 = martedì

    8 = mercoledì

    16 = giovedì

    32 = venerdì

    64 = sabato

    16 (mensile)

    Il freq_interval giorno del mese.

    32 (mensile relativo)

    I possibili valori di freq_interval sono i seguenti:

    1 = domenica

    2 = lunedì

    3 = martedì

    4 = mercoledì

    5 = giovedì

    6 = venerdì

    7 = sabato

    8 = giorno

    9 = giorno feriale

    10 = giorno festivo

    64 (all'avvio del servizio SQLServerAgent)

    freq_interval non viene utilizzato.

    128

    freq_interval non viene utilizzato.

  • [ @freq_subday_type = ] freq_subday_type
    Unità per freq_subday_interval. freq_subday_typeè di tipo int e il valore predefinito è 0. I possibili valori sono i seguenti.

    Valore Descrizione (unità)

    0x1

    All'ora specificata

    0x4

    Minuti

    0x8

    Ore

  • [ @freq_subday_interval = ] freq_subday_interval
    Numero di periodi di freq_subday_type che devono intercorrere tra ogni esecuzione di un processo. freq_subday_interval è di tipo int e il valore predefinito è 0. freq_subday_interval viene ignorato nei casi in cui freq_subday_type è uguale a 1.
  • [ @freq_relative_interval = ] freq_relative_interval
    Ricorrenza di freq_interval di un processo ogni mese, se freq_type è uguale a 32 (mensile relativo). freq_relative_interval è di tipo int e il valore predefinito è 0. I possibili valori sono i seguenti. freq_relative_interval viene ignorato nei casi in cui freq_type non è uguale a 32.

    Valore Descrizione (unità)

    1

    Primo

    2

    Secondo

    4

    Terzo

    8

    Quarto

    16

    Ultimo

  • [ @freq_recurrence_factor = ] freq_recurrence_factor
    Numero di settimane o mesi che intercorrono tra le esecuzioni pianificate di un processo. freq_recurrence_factor viene utilizzato solo se freq_type è uguale a 8, 16 o 32. freq_recurrence_factorè di tipo int e il valore predefinito è 0.
  • [ @active_start_date = ] active_start_date
    Data in cui è possibile avviare l'esecuzione di un processo. active_start_dateè di tipo int e il valore predefinito è NULL, che indica la data odierna. Il formato della data è AAAAMMGG. Se active_start_date è diverso da NULL, la data deve essere maggiore o uguale a 19900101. Dopo aver creato la pianificazione, controllare la data di inizio per verificare che sia la data corretta. Per ulteriori informazioni, vedere la sezione relativa alla pianificazione della data di inizio in Creazione di pianificazioni.
  • [ @active_end_date = ] active_end_date
    Data in cui è possibile interrompere l'esecuzione di un processo. active_end_dateè di tipo int e il valore predefinito è 99991231, che indica 31 dicembre 9999 nel formato AAAAMMGG.
  • [ @active_start_time = ] active_start_time
    Ora di uno dei giorni compresi tra le date active_start_date e active_end_date in cui avviare l'esecuzione di un processo. active_start_timeè di tipo int nel formato HHMMSS. Il valore predefinito è 000000, che indica le ore 00.00.00 nel formato a 24 ore.
  • [ @active_end_time = ] active_end_time
    Ora di uno dei giorni compresi tra le date active_start_date e active_end_date in cui avviare l'esecuzione di un processo. active_end_timeè di tipo int nel formato HHMMSS. Il valore predefinito è 235959, che indica le ore 23.59.59 nel formato a 24 ore.
  • [ @owner_login_name= ] 'owner_login_name'
    Nome dell'entità server proprietaria della pianificazione. owner_login_name è di tipo sysname e il valore predefinito è NULL, che indica che la pianificazione è di proprietà dell'autore.
  • [ @schedule_uid= ] schedule_uidOUTPUT
    Identificatore univoco per la pianificazione. schedule_uid è una variabile di tipo uniqueidentifier.
  • [ @schedule_id= ] schedule_idOUTPUT
    Identificatore per la pianificazione. schedule_id è una variabile di tipo int.
  • [ @originating_server= ] server_name
    Identificazione a solo scopo informativo. Supporto non fornito. Non è garantita la compatibilità con le versioni future.

Set di risultati

Nessuno

Osservazioni

SQL Server Management Studio include un semplice strumento grafico per la gestione dei processi ed è lo strumento consigliato per la creazione e gestione dell'infrastruttura dei processi.

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.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

A. Creazione di una pianificazione

Nell'esempio seguente viene creata una pianificazione denominata RunOnce. La pianificazione viene eseguita una volta, alle 23.30 del giorno in cui è stata creata.

USE msdb ;
GO

EXEC dbo.sp_add_schedule
    @schedule_name = N'RunOnce',
    @freq_type = 1,
    @active_start_time = 233000 ;

GO

B. Creazione di una pianificazione e associazione della pianificazione a più processi

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

Riferimento

sp_attach_schedule (Transact-SQL)
sp_detach_schedule (Transact-SQL)
sp_delete_schedule (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 novembre 2008

Contenuto modificato:
  • Aggiunta di informazioni su @ active_start_date.

12 dicembre 2006

Contenuto modificato:
  • Aggiunta di chiarimenti alle descrizioni di @freq_subday_interval e @freq_relative_interval.

17 luglio 2006

Contenuto modificato:
  • Rimozione dell'opzione relativa ai secondi da @freq_subday_type. Questa opzione non è supportata.

14 aprile 2006

Contenuto modificato:
  • Correzione del valore predefinito di @freq_interval da 0 a 1.