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


sp_update_schedule (Transact-SQL)

A következőkre vonatkozik:SQL Server

Megváltoztatja az SQL Server Agent ütemezésének beállításait.

Transact-SQL szintaxis konvenciók

Szemantika

sp_update_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @name = ] N'name' ]
    [ , [ @new_name = ] N'new_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 = ] N'owner_login_name' ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @schedule_id = ] schedule_id

A módosítandó menetrend azonosítója. @schedule_idint, alapértelmezés NULL.

Vagy @schedule_id , vagy @name meg kell határozni.

[ @name = ] N'name'

A módosítandó menetrend neve. @name a sysname, alapértelmezett értéke NULL.

Vagy @schedule_id , vagy @name meg kell határozni.

[ @new_name = ] N'new_name'

Az új neve a menetrendnek. @new_namea sysname, alapértelmezettként NULL. Ha @new_nameNULL, az ütemezés neve változatlan.

[ @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 nincs engedélyezve, egyetlen munka sem fut ezen az ütemezésen.

[ @freq_type = ] freq_type

Egy érték, amely jelzi, mikor kell végrehajtani egy feladatot. @freq_typeint, és lehet ezek közé az értékek.

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

[ @freq_interval = ] freq_interval

Azok a napok, amikor egy feladatot elvégeznek. @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 ezek közül az értékek.

É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

Az egyes @freq_subday_type végrehajtások közötti 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 ezek közé az értékek.

É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

A munkavégzés időpontja állhat meg. @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.

[ @owner_login_name = ] N'owner_login_name'

A szerver fő neve, aki az ütemezést birtokolja. @owner_login_namea sysname, alapértelmezett értéke NULL, ami azt jelzi, hogy az osztaszét a készítő birtokolja.

[ @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.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Megjegyzések

Minden munka, amely használja az ütemezést, azonnal használja az új beállításokat. Azonban az ütemterv megváltoztatása nem állítja meg a jelenleg futó munkákat.

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.

Csak a rendszergazdai tagok módosíthatják egy másik felhasználó által birtokolt menetrendet.

Példák

A következő példa megváltoztatja az NightlyJobs ütemezés engedélyezett státuszát, 0 és a tulajdonost -ra állítja.terrid

USE msdb;
GO

EXECUTE dbo.sp_update_schedule
    @name = 'NightlyJobs',
    @enabled = 0,
    @owner_login_name = 'terrid';
GO