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


sp_add_jobschedule (Transact-SQL)

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

Ütemezést hoz létre egy SQL Server Agent feladathoz.

Transact-SQL szintaxis konvenciók

Fontos

Felügyelt Azure SQL-példányesetében a legtöbb, de jelenleg nem minden SQL Server Agent-funkció támogatott. Részletekért lásd Azure SQL Managed Instance T-SQL különbségeit az SQL Server-től .

Szemantika

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'

Az a munkakör azonosító száma, amelyhez az ütemterv hozzáadódik. @job_idaz uniqueidentifier, alapértelmezettként NULL.

Vagy @job_id , akár @job_name meg kell határozni, de mindkettőt nem lehet meghatározni.

[ @job_name = ] N'job_name'

Annak a munkának a neve, amelyhez az ütemezés hozzáadódik. @job_name a sysname, alapértelmezettként NULL.

Vagy @job_id , akár @job_name meg kell határozni, de mindkettőt nem lehet meghatározni.

[ @name = ] N'name'

Az ütemezés neve. @namea sysname, alapértelmezett nélkül.

[ @enabled = ] engedélyezve

Jelzi az ütemterv aktuális állapotát. @enabledtinyint, alapértelmezetként ( 1 engedélyezve). Ha 0, az ütemezés nincs engedélyezve. Ha az ütemezés le van tiltva, a munka nem fut le.

[ @freq_type = ] freq_type

Az érték, amely jelzi, mikor kell végrehajtani a feladatot. @freq_typeint, és az alábbi értékek egyike lehet:

Érték Description
1 Egyszer
4 Mindennapi
8 Weekly
16 Monthly
32 Havi kiadás, az @freq_interval viszonylag.
64 Futasd el, amikor az SQL Server Agent szolgáltatás elindul.
128 Akkor fut, amikor a számítógép üres.

[ @freq_interval = ] freq_interval

Az a nap, amikor a munka elkészül. @freq_intervalint, alapértelmezett értéke , 0és az alábbi táblázat által látható @freq_type értéktől függ:

Érték @freq_type Hatás @freq_interval
1 (egyszer) @freq_interval nem használt.
4 (naponta) Minden @freq_interval naponta.
8 (heti) @freq_interval az egyik vagy több az alábbiak közül (logikai operátorral együtt):OR

1 = Vasárnap
2 = Hétfő
4 = Kedd
8 = Szerda
16 = Csütörtök
32 = Péntek
64 = Szombat
16 (havi időszakban) A hónap @freq_interval napján.
32 (havi rokon) @freq_interval az alábbiak 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 (amikor az SQL Server Agent szolgáltatás elindul) @freq_interval nem használt.
128 @freq_interval nem használt.

[ @freq_subday_type = ] freq_subday_type

Megadja az @freq_subday_interval egységeit. @freq_subday_typeint, és lehet az alábbi értékek egyike:

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

[ @freq_subday_interval = ] freq_subday_interval

A feladat végrehajtása között @freq_subday_type időszakok száma. @freq_subday_intervalint, alapértelmezés 0szerint .

[ @freq_relative_interval = ] freq_relative_interval

Tovább definiálja a @freq_interval , amikor @freq_type (havi relatív szint) van beállítva 32 .

@freq_relative_intervalint, és lehet az alábbi értékek egyike:

Érték Leírás (egység)
1 First
2 Second
4 Harmadik
8 Negyedik
16 Utolsó

@freq_relative_interval az intervallum megjelenését jelzi. Például, ha @freq_relative_interval2, @freq_type32, és @freq_interval , az ütemezett3munka minden hónap második keddjén történik.

[ @freq_recurrence_factor = ] freq_recurrence_factor

A munka tervezett végrehajtása közötti hetek vagy hónapok száma. @freq_recurrence_factorint, alapértelmezés 0szerint . @freq_recurrence_factor csak akkor használatos, ha @freq_type , 16vagy 32.8

[ @active_start_date = ] active_start_date

Az a dátum, amikor megkezdődhet a munkavégzés. @active_start_dateint, alapértelmezés NULL. A dátum formátuma .yyyyMMdd Ha @active_start_date be van állítva, a dátumnak nagyobbnak vagy egyenlőnek 19900101kell lennie, mint .

Miután elkészült az ütemterv, nézd át a kezdési dátumot, és győződj meg róla, hogy az a helyes dátum. További információért lásd a "Kezdő dátum ütemezése" szakaszát a Munkakörök létrehozása és csatolása részben.

[ @active_end_date = ] active_end_date

Az a dátum, amikor a munkavégzés megállhat. @active_end_dateint, alapértelmezettként 99991231. A dátum formátuma .yyyyMMdd

[ @active_start_time = ] active_start_time

Bármely napon @active_start_date és @active_end_date között az idő a munkavégzés megkezdéséhez. @active_start_timeint, alapértelmezettként 000000. Az idő úgy van formázva, mint HHmmss egy 24 órás óra.

[ @active_end_time = ] active_end_time

Bármely napon active_start_date és @active_end_date közötti időpont, amíg a munka végrehajtása véget ér. @active_end_timeint, alapértelmezés 235959. Az idő úgy van formázva, mint HHmmss egy 24 órás óra.

[ @schedule_id = ] schedule_id KIMENET

Az ütemezés azonosító száma a menetrendhez rendelhető, ha sikeresen létrehozták. @schedule_id egy OUTPUT paraméter, int típusú.

[ @automatic_post = ] automatic_post

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

[ @schedule_uid = ] 'schedule_uid' KIMENET

Egy egyedi azonosító az ütemtervhez. @schedule_uid egy OUTPUT paraméter, amely egyedi azonosító típusú.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Eredményhalmaz

Nincs.

Megjegyzések

A munkabeosztások most már függetlenül is kezelhetők a munkáktól. Ha egy munkaidőbeosztást szeretnél hozzáadni, akkor sp_add_schedule az időbeosztás létrehozására és sp_attach_schedule az ütemezéshez való hozzárendelés a feladathoz való hozzárendelés alkalmazása a feladathoz.

Permissions

Ezen az eljáráshoz engedélyeket adhatsz EXECUTE , de ezek az engedélyek felülbírálhatók egy SQL Server frissítés során.

Más felhasználóknak az alábbi SQL Server Agent rögzített adatbázis-szerepek egyikét kell megadniuk az msdb adatbázisban:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Ezeknek a szerepköröknek a jogosultságairól az SQL Server Agent Fixed Database Roles oldalon találja a részleteket.

Példák

A következő példa egy munkamenetrendet rendel hozzá SaturdayReports, amely minden szombaton hajnali 2:00-kor fut le.

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