Při používání T-SQL můžete použít sp_add_schedule
uložená procedura pro přidání plánu SQL Server Agent.
Tento postup vytvoří plán, ale nepřipojí ho k žádné úloze. Chcete-li jej připojit k úloze, musíte použít sp_attach_schedule
postup.
Můžete také použít sp_add_jobschedule
vytvořte plán a připojte jej stejným postupem.
Příklad sp_add_schedule
Postup
Zde je příklad, který používá sp_add_schedule
pro vytvoření nového plánu:
EXEC sp_add_schedule
@schedule_name = N'RunDailyAM',
@freq_type = 4,
@freq_interval = 4,
@active_start_time = 041000;
GO
Tato uložená procedura přijímá více argumentů, než jsem uvedl v tomto příkladu, ale toto jsou některé z běžnějších. Přehled přijatelných hodnot naleznete v tabulkách níže.
@schedule_name
je povinný argument, ale ostatní jsou volitelné a mají výchozí nastavení pro případ, že je neuvedete.
Nyní můžeme použít sp_attach_schedule
pro připojení tohoto plánu k existující úloze:
EXEC sp_attach_schedule
@job_name = N'BackupPetHotelDB',
@schedule_name = N'RunDailyAM';
GO
Když používáte sp_attach_schedule
, musíte zadat název úlohy nebo její ID (ale ne obojí) a také název nebo ID plánu (ale ne obojí).
Příklad sp_add_jobschedule
Postup
Zde je příklad, který používá sp_add_jobschedule
vytvořit nový plán a připojit jej k úloze, vše najednou:
EXEC sp_add_jobschedule
@job_name = N'BackupMusicDB',
@name = N'Weekly_Sun_3AM',
@freq_type = 8,
@freq_interval = 1,
@freq_recurrence_factor = 1,
@active_start_time = 30000;
S tímto postupem @job_name
argument poskytuje název úlohy a @name
argument poskytuje název, který chcete dát plánu.
Hodnoty parametrů
Způsob, jakým jsou data plánu uložena v msdb databáze je trochu složitější, pokud jde o plánování úloh pomocí T-SQL.
Hodnoty data a času jsou uloženy jako int typy. Typ frekvence je vyjádřen jako int , stejně jako hodnoty intervalů a různé další možnosti.
Níže je uveden přehled akceptovaných hodnot parametrů uvedených ve výše uvedených příkladech.
@freq_type
Tento argument určuje, kdy se má úloha provést. Přijímá následující hodnoty:
Hodnota | Popis |
---|---|
1 | Jednou |
4 | Denně |
8 | Týdně |
16 | Měsíčně |
32 | Měsíčně, vzhledem k freq_interval |
64 | Spustit při spuštění služby SQL Agent |
128 | Spustit, když je počítač nečinný |
@freq_interval
Tento argument určuje dny, kdy je úloha provedena.
Tento argument závisí na hodnotě @freq_type
argument, jak je uvedeno v následující tabulce:
Hodnota freq_type | Vliv na freq_interval |
---|---|
1 (jednou) | freq_interval je nepoužitý. |
4 (denně) | Každý freq_interval dnů. |
8 (týdně) | freq_interval je jedna nebo více z následujících (v kombinaci s OR logický operátor):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í relativní) | 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 (při spuštění služby SQLServerAgent) | freq_interval je nepoužitý. |
128 | freq_interval je nepoužitý. |
@freq_recurrence_factor
Toto určuje počet týdnů nebo měsíců mezi plánovaným provedením úlohy.
Toto je int , s výchozí hodnotou 0
a použije se pouze v případě, že freq_type
je 8
, 16
nebo 32
.
@active_start_time
Určuje čas v kterýkoli den mezi @active_start_date
a @active_end_date
argumenty pro zahájení provádění úlohy. @active_start_time
je int s výchozí hodnotou 000000
, což znamená 12:00:00 ve 24hodinovém formátu a je nutné jej zadat pomocí formuláře HHMMSS.
@active_start_date
Ačkoli to není zahrnuto v mých příkladech výše, @active_start_date
argument umožňuje zadat datum, kdy může začít provádění úlohy. Toto je int , s výchozí hodnotou NULL, která označuje dnešní datum. Datum je ve formátu RRRRMMDD.
@active_end_date
Můžete také uvést @active_end_date
argument, který určuje datum, kdy se může provádění úlohy zastavit.
@active_end_date
je int s výchozí hodnotou 99991231
, což znamená 31. prosinec 9999. Datum je ve formátu RRRRMMDD.
Další informace
Viz dokumentaci společnosti Microsoft pro sp_add_schedule
a/nebo dokumentaci společnosti Microsoft pro sp_add_jobschedule
pro více podrobností o různých argumentech a jejich přijatých hodnotách.