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


sp_attach_schedule (Transact-SQL)

A következőkre vonatkozik:SQL Server

Beállít egy munkabeosztást.

Transact-SQL szintaxis konvenciók

Szemantika

sp_attach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Az a munka 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'

Az a munka neve, amelyhez az ütemterv 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.

[ @schedule_id = ] schedule_id

Az adott munkabeosztás beállítandó beosztásának azonosító száma. @schedule_idint, alapértelmezés NULL.

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

[ @schedule_name = ] N'schedule_name'

A munkabeosztás neve, amit be kell állítani. @schedule_name a sysname, alapértelmezés NULLszerint .

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

[ @automatic_post = ] automatic_post

@automatic_postbit, alapértelmezés 1szerint .

Megjegyzések

Az időbeosztásnak és a munkának ugyanazzal a tulajdonossal kell rendelkeznie.

Több munkavégzésre is beállíthatunk egy ütemterv. Egy munka több menetrend szerint is elkészülhet.

Ezt a tárolt eljárást az adatbázisból kell futtatni msdb .

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

A munka tulajdonosa összekapcsolhat egy munkát egy beosztáshoz, és leválaszthat egy munkát az órarendtől anélkül, hogy ő is az időbeosztás tulajdonosának kellene lennie. Azonban egy menetrend nem törölhető, ha a leválasztó munka nélkül hagyná, kivéve, ha a hívó az időpont tulajdonosa.

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

Az SQL Server ellenőrzi, hogy a felhasználó a feladat és az időbeosztás tulajdonosa-e.

Példák

A következő példa egy ütemezést hoz létre .NightlyJobs Azok a feladatok, amelyek ezt az ütemezést használják, minden nap teljesítenek, amikor a szerveren 01:00az idő . A példa a munkabeosztást a munkához BackupDatabase csatolja és a feladathoz RunReports.

Megjegyzés:

Ez a példa feltételezi, hogy a munka BackupDatabase és a munka 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