Sdílet prostřednictvím


sp_add_jobschedule (Transact-SQL)

platí pro:SQL Serverazure SQL Managed Instance

Vytváří harmonogram pro SQL Server Agent job.

Transact-SQL konvence syntaxe

Důležité

Na Azure SQL Managed Instance, většina, ale ne všechny funkce agenta SQL Serveru jsou aktuálně podporované. Podrobnosti viz Azure SQL Managed Instance T-SQL oproti SQL Serveru .

Syntaxe

sp_add_jobschedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    , [ @name = ] N'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 ]
    [ , [ @schedule_id = ] schedule_id OUTPUT ]
    [ , [ @automatic_post = ] automatic_post ]
    [ , [ @schedule_uid = ] 'schedule_uid' OUTPUT ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Identifikační číslo práce pro práci, ke které je rozvrh přidán. @job_id je uniqueidentifier, s výchozím nastavením NULL.

Buď @job_id , nebo @job_name musí být specifikovány, ale ani jedno nelze specifikovat.

[ @job_name = ] N'job_name'

Název pozice, ke které je rozvrh přidán. @job_name je sysname s výchozím nastavením NULL.

Buď @job_id , nebo @job_name musí být specifikovány, ale ani jedno nelze specifikovat.

[ @name = ] N'jméno'

Název plánu @name je sysname, bez výchozího nastavení.

[ @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ž je rozvrh vypnutý, úkol se nespusťuje.

[ @freq_type = ] freq_type

Hodnota, která určuje, kdy má být úkol vykonán. @freq_type je int a může mít jednu z následujících hodnot:

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

[ @freq_interval = ] freq_interval

Den, 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í mezi jednotlivými vykonáními úkolu. @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 práce. @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 ukončení plnění úkolu. @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.

[ @schedule_id = ] schedule_id VÝSTUP

Identifikační číslo rozvrhu je přiřazeno, pokud je úspěšně vytvořen. @schedule_id je parametr OUTPUT typu int.

[ @automatic_post = ] automatic_post

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

[ @schedule_uid = ] VÝSTUP 'schedule_uid'

Jedinečný identifikátor pro rozvrh. @schedule_uid je parametr OUTPUT typu uniqueidentifier.

Hodnoty návratového kódu

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

Sada výsledků

Žádné.

Poznámky

Pracovní rozvrhy lze nyní spravovat nezávisle na pracovních místech. Pro přidání rozvrhu k úkolu použijte sp_add_schedule k vytvoření rozvrhu a sp_attach_schedule připojení rozvrhu k úkolu.

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.

Examples

Následující příklad přiřazuje rozvrh úloh , SaturdayReportskterý se vykonává každou sobotu ve 2:00 ráno.

EXECUTE msdb.dbo.sp_add_jobschedule
    @job_name = N'SaturdayReports', -- Job name
    @name = N'Weekly_Sat_2AM', -- Schedule name
    @freq_type = 8, -- Weekly
    @freq_interval = 64, -- Saturday
    @freq_recurrence_factor = 1, -- every week
    @active_start_time = 20000; -- 2:00 AM