Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Vytvoří plán, který může používat libovolný počet úloh.
Syntaxe
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 */
[ ; ]
Argumenty
@schedule_name [ = ] 'schedule_name'
Název plánu. @schedule_name je sysname bez výchozího nastavení.
[ @enabled = ] povoleno
Označuje aktuální stav plánu.
@enabled je tinyint s výchozím nastavením 1 (povoleno). Pokud 0není plán povolený. Pokud plán není povolený, nespustí se v tomto plánu žádné úlohy.
@freq_type [ = ] freq_type
Hodnota označující, kdy má být úloha spuštěna.
@freq_type je int, s výchozí hodnotou 0a může to být jedna z těchto hodnot.
| Hodnota | Popis |
|---|---|
1 |
Jednou |
4 |
Každý den |
8 |
Každý týden |
16 |
Měsíčně |
32 |
Měsíčně vzhledem k @freq_interval |
64 |
Spuštění při spuštění služby agenta SQL Serveru |
128 |
Spuštění, když je počítač nečinný (nepodporuje se ve službě Azure SQL Managed Instance) |
@freq_interval [ = ] @freq_interval
Dny, po které se úloha spustí.
@freq_interval je int, s výchozím 1nastavením a závisí na hodnotě @freq_type.
| Hodnota @freq_type | Vliv na @freq_interval |
|---|---|
1 (jednou) |
@freq_interval se nepoužívá. |
4 (denně) |
Každé @freq_interval dny. |
8 (týdně) |
@freq_interval je jedna nebo více z následujících hodnot (v kombinaci s logickým operátorem OR ):1 = neděle2 = pondělí4 = úterý8 = středa16 = čtvrtek32 = pátek64 = sobota |
16 (měsíčně) |
V @freq_interval den v měsíci. |
32 (měsíční relativní) |
@freq_interval je jedna z následujících možností:1 = neděle2 = pondělí3 = úterý4 = středa5 = čtvrtek6 = pátek7 = sobota8 = Den9 = Pracovní den10 = Víkendový den |
64 (při spuštění služby SQLServerAgent) |
@freq_interval se nepoužívá. |
128 |
@freq_interval se nepoužívá. |
@freq_subday_type [ = ] freq_subday_type
Určuje jednotky pro @freq_subday_interval.
@freq_subday_type je int, s výchozím nastavením 0a může být jednou z těchto hodnot.
| Hodnota | Popis (jednotka) |
|---|---|
1 |
V zadaném čase |
2 |
Sekundy |
4 |
Zápis |
8 |
Hodiny |
@freq_subday_interval [ = ] freq_subday_interval
Počet @freq_subday_type období mezi každým spuštěním úlohy.
@freq_subday_interval je int s výchozím nastavením 0. Interval musí mít délku nejméně 10 sekund.
@freq_subday_interval je ignorován v těchto případech, kdy @freq_subday_type je rovno 1.
@freq_relative_interval [ = ] freq_relative_interval
Výskyt @freq_interval úlohy v každém měsíci, pokud je @freq_interval 32 (relativní měsíční).
@freq_relative_interval je int, s výchozím nastavením 0a může být jednou z těchto hodnot.
@freq_relative_interval se v takových případech ignoruje , pokud @freq_type není rovna 32.
| Hodnota | Popis (jednotka) |
|---|---|
1 |
První |
2 |
Sekunda |
4 |
Třetí |
8 |
Čtvrtý |
16 |
Poslední |
@freq_recurrence_factor [ = ] freq_recurrence_factor
Počet týdnů nebo měsíců mezi plánovaným spuštěním úlohy.
@freq_recurrence_factor se používá pouze v případě, že @freq_type je 8, 16nebo 32.
@freq_recurrence_factor je int, s výchozí hodnotou 0.
@active_start_date [ = ] active_start_date
Datum zahájení provádění úlohy.
@active_start_date je int s výchozím nastavením NULL, který označuje dnešní datum. Datum je formátováno jako yyyyMMdd. Pokud @active_start_date není NULL, datum musí být větší nebo rovno 19900101.
Po vytvoření plánu zkontrolujte počáteční datum a ověřte, že se jedná o správné datum. Další informace najdete v části Plánování počátečního data v části Vytvoření a připojení plánů k úlohám.
U týdenních nebo měsíčních plánů agent ignoruje, pokud @active_start_date je v minulosti, a místo toho používá aktuální datum. Pokud je vytvořen plán agenta SQL Serveru pomocí sp_add_schedule možnosti zadat parametr @active_start_date , které je datum zahájení spuštění úlohy. Pokud je typ plánu týdenní nebo měsíční a parametr @active_start_date je nastavený na datum v minulosti, parametr @active_start_date se ignoruje a pro @active_start_date se použije aktuální datum.
@active_end_date [ = ] active_end_date
Datum, kdy může být spuštění úlohy zastaveno.
@active_end_date je int s výchozím nastavením 99991231, který označuje 31. prosince 9999. Formátováno jako yyyyMMdd.
@active_start_time [ = ] active_start_time
Čas v libovolném dni mezi @active_start_date a @active_end_date pro zahájení provádění úlohy.
@active_start_time je int, s výchozí hodnotou 000000, která označuje 12:00:00 do 24hodinových hodin a musí být zadána pomocí formuláře HHmmss.
@active_end_time [ = ] active_end_time
Čas v libovolném dni mezi @active_start_date a @active_end_date ukončením provádění úlohy.
@active_end_time je int, s výchozí 235959hodnotou , která označuje 11:59:59 p.M. ve 24hodinovém formátu a musí být zadán pomocí formuláře HHmmss.
@owner_login_name [ = ] 'owner_login_name'
Název objektu zabezpečení serveru, který vlastní plán.
@owner_login_name je sysname s výchozím nastavením NULL, který označuje, že plán vlastní tvůrce.
[ @schedule_uid = ] schedule_uid VÝSTUP
Jedinečný identifikátor plánu. @schedule_uid je proměnná typu uniqueidentifier.
[ @schedule_id = ] schedule_id VÝSTUP
Identifikátor plánu. @schedule_id je proměnná typu int.
@originating_server [ = ] server_name
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í).
Sada výsledků
Žádné.
Poznámky
SQL Server Management Studio poskytuje snadný, grafický způsob správy úloh a je doporučený způsob, jak vytvořit a spravovat infrastrukturu úloh.
Povolení
K tomuto postupu můžete udělit oprávnění EXECUTE, ale tato oprávnění se můžou při upgradu SQL Serveru přepsat.
Jiným uživatelům musí být udělena jedna z následujících pevných databázových rolí agenta SQL Serveru v databázi msdb:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Podrobnosti o oprávněních těchto rolí najdete v části Pevné databázové role agenta SQL Server.
Příklady
A. Vytvoření plánu
Následující příklad vytvoří plán s názvem RunOnce. Plán se spustí jednou v 23:30 den vytvoření plánu.
USE msdb;
GO
EXECUTE dbo.sp_add_schedule
@schedule_name = N'RunOnce',
@freq_type = 1,
@active_start_time = 233000;
GO
B. Vytvoření plánu a připojení plánu k více úloh
Následující příklad vytvoří plán s názvem NightlyJobs. Úlohy, které používají tento plán, se spouštějí každý den, když je 01:00čas na serveru . Příklad připojí plán k úloze BackupDatabase a úloze RunReports.
Poznámka:
Tento příklad předpokládá, že úloha BackupDatabase a úloha RunReports již existují.
USE msdb;
GO
EXECUTE sp_add_schedule
@schedule_name = N'NightlyJobs',
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000;
GO
EXECUTE sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs';
GO
EXECUTE sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs';
GO
Související obsah
- vytvoření a připojení plánů k úlohám
- Naplánujte úlohu
- Vytvoření plánu
- uložené procedury agenta SQL Serveru (Transact-SQL)
- sp_add_jobschedule (Transact-SQL)
- sp_update_schedule (Transact-SQL)
- sp_delete_schedule (Transact-SQL)
- sp_help_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)