Megosztás a következőn keresztül:


sp_add_schedule (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Tetszőleges számú feladat által használható ütemezést hoz létre.

Transact-SQL szintaxis konvenciók

Szemantika

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 */
[ ; ]

Érvek

[ @schedule_name = ] 'schedule_name'

Az ütemezés neve. @schedule_namesysname, alapértelmezés nélkül.

[ @enabled = ] engedélyezve

Az ütemezés aktuális állapotát jelzi. @enabledapró, alapértelmezés szerint 1 (engedélyezve) van. Ha 0az ütemezés nincs engedélyezve. Ha az ütemezés nincs engedélyezve, ezen az ütemezésen nem futnak feladatok.

[ @freq_type = ] freq_type

Egy feladat végrehajtásának időpontjára vonatkozó érték. @freq_typeint, alapértelmezés szerint 0, és ezek egyike lehet.

Érték Leírás
1 Egyszer
4 Mindennapi
8 Heti
16 Havi
32 Havonta, a @freq_interval
64 Futtatás az SQL Server Agent szolgáltatás indításakor
128 Futtassa, ha a számítógép tétlen (a felügyelt Azure SQL-példány nem támogatott)

[ @freq_interval = ] @freq_interval

A feladatok végrehajtásának napjai. @freq_intervalint, alapértelmezett értéke 1, és a @freq_type értékétől függ.

A @freq_type értéke Hatás a @freq_interval
1 (egyszer) @freq_interval nincs használatban.
4 (naponta) Minden @freq_interval nap.
8 (heti) @freq_interval az alábbiak közül egy vagy több (logikai operátorral OR kombinálva):

1 = Vasárnap
2 = Hétfő
4 = Kedd
8 = Szerda
16 = Csütörtök
32 = Péntek
64 = Szombat
16 (havi) A hónap @freq_interval napján.
32 (havi relatív) @freq_interval a következők egyike:

1 = Vasárnap
2 = Hétfő
3 = Kedd
4 = Szerda
5 = Csütörtök
6 = Péntek
7 = Szombat
8 = Nap
9 = Hétköznap
10 = Hétvégi nap
64 (az SQLServerAgent szolgáltatás elindulásakor) @freq_interval nincs használatban.
128 @freq_interval nincs használatban.

[ @freq_subday_type = ] freq_subday_type

A @freq_subday_interval egységeit adja meg. @freq_subday_typeint, az alapértelmezett 0értékekkel, és ezek egyike lehet.

Érték Leírás (egység)
1 A megadott időpontban
2 Másodperc
4 Percek
8 Órák

[ @freq_subday_interval = ] freq_subday_interval

A feladatok végrehajtása közötti @freq_subday_type időszakok száma. @freq_subday_intervalint, alapértelmezés szerint 0. Az időköznek legalább 10 másodpercnek kell lennie. @freq_subday_interval figyelmen kívül hagyja azokban az esetekben, amikor a @freq_subday_type egyenlő.1

[ @freq_relative_interval = ] freq_relative_interval

A feladatok @freq_interval előfordulása minden hónapban, ha @freq_interval 32 (havi relatív). @freq_relative_intervalint, alapértelmezés szerint 0, és ezek egyike lehet. @freq_relative_interval figyelmen kívül hagyja azokban az esetekben, amikor @freq_type nem egyenlő 32-nek.

Érték Leírás (egység)
1 Első
2 Második
4 Harmadik
8 Negyedik
16 Utolsó

[ @freq_recurrence_factor = ] freq_recurrence_factor

A feladatok ütemezett végrehajtása közötti hetek vagy hónapok száma. @freq_recurrence_factor csak akkor használatos, ha @freq_type8, 16vagy 32. @freq_recurrence_factorint, alapértelmezés szerint 0.

[ @active_start_date = ] active_start_date

A feladat végrehajtásának kezdő dátuma. @active_start_dateint, alapértelmezett értéke NULLa mai dátumot jelzi. A dátum formátuma: yyyyMMdd. Ha @active_start_date nem NULL, a dátumnak nagyobbnak vagy egyenlőnek kell lennie, mint 19900101.

Az ütemezés létrehozása után tekintse át a kezdési dátumot, és győződjön meg arról, hogy ez a megfelelő dátum. További információ: "Ütemezés kezdő dátuma" című szakasz az Ütemezések létrehozása és a Feladatokhoz csatolása című szakaszban.

Heti vagy havi ütemezés esetén az ügynök figyelmen kívül hagyja, hogy @active_start_date a múltban van-e, és ehelyett az aktuális dátumot használja. Az SQL Server-ügynök ütemezésének létrehozásakor sp_add_schedule megadhatja a @active_start_date paramétert, amely a feladat végrehajtásának kezdőnapja. Ha az ütemezési típus heti vagy havi, és a @active_start_date paraméter egy múltbeli dátumra van állítva, a rendszer figyelmen kívül hagyja a @active_start_date paramétert, és az aktuális dátumot használja @active_start_date.

[ @active_end_date = ] active_end_date

Az a dátum, amikor egy feladat végrehajtása leállhat. @active_end_dateint, alapértelmezett értéke 999912319999. december 31. Formázva: yyyyMMdd.

[ @active_start_time = ] active_start_time

A feladatok végrehajtásának megkezdéséhez @active_start_date és@active_end_date közötti bármely napon. @active_start_timeint, alapértelmezett értéke 00000024 órás idő szerint 12:00:00, és az űrlap használatával HHmmsskell megadni.

[ @active_end_time = ] active_end_time

A feladatok végrehajtásának befejezéséhez @active_start_date és@active_end_date közötti bármely napon. @active_end_timeint, alapértelmezett értéke 23595924 órás 11:59:59,59, amelyet az űrlap használatával HHmmsskell megadni.

[ @owner_login_name = ] 'owner_login_name'

Az ütemezést birtokbaadó kiszolgálónév neve. @owner_login_namea sysname értéke, amelynek alapértelmezett értéke NULLazt jelzi, hogy az ütemezés a létrehozó tulajdonában van.

[ @schedule_uid = ] schedule_uid KIMENET

Az ütemezés egyedi azonosítója. @schedule_uid a uniqueidentifier típusú változó.

[ @schedule_id = ] schedule_id KIMENET

Az ütemezés azonosítója. @schedule_id egy int típusú változó.

[ @originating_server = ] server_name

Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Eredményhalmaz

Nincs.

Megjegyzések

Az SQL Server Management Studio egyszerű, grafikus módot kínál a feladatok kezelésére, és ez a feladatinfrastruktúra létrehozásának és kezelésének ajánlott módja.

Engedélyek

Ehhez az eljáráshoz EXECUTE engedélyeket adhat meg, de előfordulhat, hogy ezek az engedélyek felül lesznek bírálva egy SQL Server-frissítés során.

A többi felhasználónak az alábbi SQL Server Agent rögzített adatbázis-szerepkörök egyikét kell biztosítani a msdb adatbázisban:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

A szerepkörök engedélyeivel kapcsolatos részletekért lásd SQL Server-ügynök rögzített adatbázis-szerepköreit.

Példák

Egy. Hozzon létre egy ütemtervet

Az alábbi példa létrehoz egy ütemezést .RunOnce Az ütemezés egy alkalommal, 23:30 az ütemezés létrehozásának napján fut.

USE msdb;
GO

EXECUTE dbo.sp_add_schedule
    @schedule_name = N'RunOnce',
    @freq_type = 1,
    @active_start_time = 233000;
GO

B. Ütemezés létrehozása, az ütemezés csatolása több feladathoz

Az alábbi példa létrehoz egy ütemezést .NightlyJobs Az ütemezést használó feladatok minden nap futnak, amikor a kiszolgálón az idő .01:00 A példa az ütemezést a feladathoz BackupDatabase és a feladathoz RunReportscsatolja.

Megjegyzés:

Ez a példa feltételezi, hogy a feladat BackupDatabase és a feladat RunReports már létezik.

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