Condividi tramite


sp_update_schedule (Transact-SQL)

Modifica le impostazioni per una pianificazione di SQL Server Agent.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

sp_update_schedule 
    {   [ @schedule_id = ] schedule_id 
      | [ @name = ] 'schedule_name' }
    [ , [ @new_name = ] new_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' ]
    [ , [ @automatic_post =] automatic_post ]

Argomenti

  • [ @schedule_id = ] schedule_id
    Identificatore della pianificazione da modificare. schedule_id è di tipo int e non prevede alcun valore predefinito. È necessario specificare l'argomento schedule_id o l'argomento schedule_name.

  • [ @name = ] 'schedule_name'
    Nome della pianificazione da modificare. schedule_nameè di tipo sysname e non prevede alcun valore predefinito. È necessario specificare l'argomento schedule_id o l'argomento schedule_name.

  • [ @new_name= ] new_name
    Nuovo nome della pianificazione. new_name è di tipo sysname e il valore predefinito è NULL. Quando new_name è NULL, il nome della pianificazione rimane invariato.

  • [ @enabled = ] enabled
    Indica lo stato corrente della pianificazione. enabledè di tipo tinyint e il valore predefinito è 1 (abilitato). Se il valore è uguale a 0, la pianificazione non è abilitata. Quando la pianificazione non è abilitata, non viene 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 valori possibili sono i seguenti.

    Valore

    Descrizione

    1

    Una volta sola

    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 è 0 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 numero di giorni corrispondente a freq_interval.

    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 giorno del mese corrispondente a freq_interval.

    32 (frequenza mensile relativa)

    freq_interval corrisponde a uno dei valori 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

    0x2

    Secondi

    0x4

    Minuti

    0x8

    Ore

  • [ @freq_subday_interval = ] freq_subday_interval
    Numero di periodi freq_subday_type che devono intercorrere tra ogni esecuzione di un processo. freq_subday_intervalè di tipo int e il valore predefinito è 0.

  • [ @freq_relative_interval = ] freq_relative_interval
    Occorrenza di freq_interval di un processo ogni mese, se freq_interval è uguale a 32 (mensile relativo). freq_relative_intervalè di tipo int e il valore predefinito è 0. I possibili valori sono i seguenti.

    Valore

    Descrizione (unità)

    1

    First

    2

    Secondo

    4

    Terzo

    8

    Quarto

    16

    Last

  • [ @freq_recurrence_factor = ] freq_recurrence_factor
    Numero di settimane o mesi tra le esecuzioni pianificate di un processo. freq_recurrence_factor viene utilizzato solo se freq_type è impostato su 8, 16 o 32. freq_recurrence_factorè di tipo int e il valore predefinito è 0.

  • [ @active_start_date = ] active_start_date
    Data dalla quale è possibile avviare l'esecuzione del processo. active_start_dateè di tipo int e il valore predefinito è NULL che indica la data odierna. La data è nel formato AAAAMMGG. Se active_start_date è diverso da NULL, la data deve essere maggiore o uguale a 19900101.

    Al termine della creazione della pianificazione, esaminare la data di inizio per verificare che corrisponda alla data corretta. Per ulteriori informazioni, vedere la sezione relativa alla data di inizio della pianificazione in Creazione e collegamento di pianificazioni ai processi.

  • [ @active_end_date = ] active_end_date
    Data dalla quale è possibile arrestare l'esecuzione del processo. active_end_dateè di tipo int e il valore predefinito è 99991231 che indica il 31 dicembre 9999. La data è 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 e il valore predefinito è 000000 che indica le ore 12.00.00 nel formato a 24 ore e deve essere immesso nel formato HHMMSS.

  • [ @active_end_time = ] active_end_time
    Ora di uno dei giorni compresi tra le date active_start_date e active_end_date in cui terminare l'esecuzione di un processo. active_end_timeè di tipo int e il valore predefinito è 235959 che indica le ore 23.59.59 nel formato a 24 ore e deve essere immesso nel formato HHMMSS.

  • [ @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.

  • [ @automatic_post =] automatic_post
    Riservato.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

Tutti i processi che utilizzano la pianificazione, adottano immediatamente le nuove impostazioni. Cambiando la pianificazione, tuttavia, non vengono arrestati i processi attualmente in esecuzione.

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.

Solo i membri di sysadmin possono modificare una pianificazione di proprietà di un altro utente.

Esempi

Nell'esempio seguente viene modificato lo stato abilitato della pianificazione NightlyJobs impostandolo su 0 e impostando il proprietario su terrid.

USE msdb ;
GO

EXEC dbo.sp_update_schedule
    @name = 'NightlyJobs',
    @enabled = 0,
    @owner_login_name = 'terrid' ;
GO

Vedere anche

Riferimento

Stored procedure di SQL Server Agent (Transact-SQL)

sp_add_schedule (Transact-SQL)

sp_add_jobschedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)

sp_help_schedule (Transact-SQL)

sp_attach_schedule (Transact-SQL)

Concetti

Creazione e collegamento di pianificazioni ai processi

Pianificare un processo

Creare una pianificazione