Sdílet prostřednictvím


sp_update_schedule (Transact-SQL)

platí pro:SQL Server

Mění nastavení pro rozvrh SQL Server Agenta.

Transact-SQL konvence syntaxe

Syntaxe

sp_update_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @name = ] N'name' ]
    [ , [ @new_name = ] N'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 = ] N'owner_login_name' ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @schedule_id = ] schedule_id

Identifikátor přílohy ke změně. @schedule_id je int, s výchozím nastavením NULL.

Musí být uveden buď @schedule_id , nebo @name .

[ @name = ] N'jméno'

Název rozpisu k úpravě. @name je sysname s výchozím nastavením NULL.

Musí být uveden buď @schedule_id , nebo @name .

[ @new_name = ] N'new_name'

Nový název pro rozvrh. @new_name je sysname s výchozím nastavením NULL. Když je @new_name , NULLnázev přílohy zůstává nezměněn.

[ @enabled = ] povoleno

Ukazuje aktuální stav jízdního řádu. @enabled je tinyint, s výchozím nastavením 1 (povoleno). Pokud 0, rozvrh není povolen. Když harmonogram není povolen, žádné úlohy na tomto plánu neběží.

[ @freq_type = ] freq_type

Hodnota označující, kdy má být úkol vykonán. @freq_type je int a může být jednou z těchto hodnot.

Hodnota Description
1 Jednou
4 Každý den
8 Weekly
16 Monthly
32 Měsíčně, vzhledem k @freq_interval
64 Spuskut, když spustí službu SQL Server Agent
128 Spouštějte, když je počítač nečinný

[ @freq_interval = ] freq_interval

Dny, kdy je práce vykonána. @freq_interval je int, s výchozím hodnotou 0, a závisí na hodnotě @freq_type , jak je uvedeno v následující tabulce:

Hodnota @freq_type Dopad na @freq_interval
1 (jednou) @freq_interval je nevyužitá.
4 (denně) Každé @freq_interval dny.
8 (týdně) @freq_interval je jeden nebo více z následujících (v kombinaci s logickým operátorem OR ):

1 = Neděle
2 = pondělí
4 = Úterý
8 = Středa
16 = Čtvrtek
32 = Pátek
64 = Sobota
16 (měsíční) Na @freq_interval den v měsíci.
32 (měsíční příbuzný) @freq_interval je jedním z následujících:

1 = Neděle
2 = pondělí
3 = Úterý
4 = Středa
5 = Čtvrtek
6 = Pátek
7 = Sobota
8 = Den
9 = Všední den
10 = Víkendový den
64 (když spustí službu SQL Server Agent) @freq_interval je nevyužitá.
128 @freq_interval je nevyužitá.

[ @freq_subday_type = ] freq_subday_type

Specifikuje jednotky pro @freq_subday_interval. @freq_subday_type je int a může být jednou z těchto hodnot.

Hodnota Popis (jednotka)
1 V určený čas
2 Sekundy
4 Minutes
8 Hodiny

[ @freq_subday_interval = ] freq_subday_interval

Počet @freq_subday_type období, která mají nastat mezi jednotlivými vykonáními úlohy. @freq_subday_interval je int, s výchozím hodnotou 0.

[ @freq_relative_interval = ] freq_relative_interval

Dále definuje @freq_interval , kdy je @freq_type nastaveno na 32 (měsíční relativní).

@freq_relative_interval je int a může být jednou z těchto hodnot.

Hodnota Popis (jednotka)
1 First
2 Second
4 Třetí
8 Čtvrtý
16 Poslední

@freq_relative_interval označuje výskyt intervalu. Například pokud je @freq_relative_interval nastaveno na 2, @freq_type na 32, a @freq_interval na 3, plánovaná úloha by probíhala druhé úterý v měsíci.

[ @freq_recurrence_factor = ] freq_recurrence_factor

Počet týdnů nebo měsíců mezi plánovaným dokončením zakázky. @freq_recurrence_factor je int, s výchozím hodnotou 0. @freq_recurrence_factor se používá pouze tehdy, pokud je @freq_type nastaveno na 8, 16, nebo 32.

[ @active_start_date = ] active_start_date

Datum, kdy může začít realizace práce. @active_start_date je int, s výchozím nastavením NULL. Datum je formátováno jako yyyyMMdd. Pokud je @active_start_date nastaveno, datum musí být větší nebo rovno .19900101

Po vytvoření rozpisu si zkontrolujte datum začátku a ověřte si, že je to správný termín. Pro více informací viz sekce "Datum začátku plánování" v sekci Vytvořit a připojit harmonogramy k úlohám.

[ @active_end_date = ] active_end_date

Datum, kdy může být vykonání práce ukončeno. @active_end_date je int, s výchozím nastavením 99991231. Datum je formátováno jako yyyyMMdd.

[ @active_start_time = ] active_start_time

Čas v kterémkoli dni mezi @active_start_date a @active_end_date začít s realizací práce. @active_start_time je int, s výchozím nastavením 000000. Čas je naformátován jako HHmmss 24hodinový hodinový záznam.

[ @active_end_time = ] active_end_time

Čas v jakýkoli den mezi active_start_date a @active_end_date ukončit plnění práce. @active_end_time je int, s výchozím nastavením 235959. Čas je naformátován jako HHmmss 24hodinový hodinový záznam.

[ @owner_login_name = ] N'owner_login_name'

Jméno serverového principála, který vlastní rozvrh. @owner_login_name je sysname s výchozím , NULLcož znamená, že harmonogram vlastní tvůrce.

[ @automatic_post = ] automatic_post

Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Poznámky

Všechny práce, které používají rozvrh, okamžitě použijí nová nastavení. Změna rozvrhu však nezastaví právě běžící úlohy.

Povolení

Na tomto postupu můžete udělit EXECUTE oprávnění, ale tato oprávnění mohou být během upgradu SQL Serveru přepsána.

Ostatní uživatelé musí mít v databázi msdb přiděleny některé z následujících pevných databázových rolí SQL Server Agent:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Podrobnosti o oprávněních těchto rolí naleznete v SQL Server Agent Fixed Database Roles.

Pouze členové správce systému mohou upravovat rozvrh vlastněný jiným uživatelem.

Examples

Následující příklad mění povolený stav plánu NightlyJobs na 0 a nastavuje vlastníka na terrid.

USE msdb;
GO

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