Sdílet prostřednictvím


sp_attach_schedule (Transact-SQL)

platí pro:SQL Server

Nastavuje rozvrh práce.

Transact-SQL konvence syntaxe

Syntaxe

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'

Identifikační číslo pracovní pozice, ke které je rozvrh přidán. @job_id je uniqueidentifier, s výchozím nastavením NULL.

Buď @job_id , nebo @job_name musí být specifikovány, ale ani jedno nelze specifikovat.

[ @job_name = ] N'job_name'

Název pozice, ke které je rozvrh přidán. @job_name je sysname s výchozím nastavením NULL.

Buď @job_id , nebo @job_name musí být specifikovány, ale ani jedno nelze specifikovat.

[ @schedule_id = ] schedule_id

Identifikační číslo rozpisu pro danou práci. @schedule_id je int, s výchozím nastavením NULL.

Buď @schedule_id , nebo @schedule_name musí být specifikovány, ale ani jedno nelze specifikovat.

[ @schedule_name = ] N'schedule_name'

Název rozvrhu, který si mám nastavit pro danou práci. @schedule_name je sysname s výchozím nastavením NULL.

Buď @schedule_id , nebo @schedule_name musí být specifikovány, ale ani jedno nelze specifikovat.

[ @automatic_post = ] automatic_post

@automatic_post je bit, s výchozím hodnotou 1.

Poznámky

Rozvrh a práce musí mít stejného vlastníka.

Rozvrh lze nastavit pro více než jednu práci. Úkol může být proveden na více než jednom rozvrhu.

Tato uložená procedura musí být spuštěna z databáze msdb .

Povolení

Na tomto postupu můžete udělit EXECUTE oprávnění, ale tato oprávnění mohou být během upgradu SQL Serveru přepsána.

Ostatní uživatelé musí mít v databázi msdb přiděleny některé z následujících pevných databázových rolí SQL Server Agent:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Majitel práce může připojit úkol k rozvrhu a oddělit ho od rozvrhu, aniž by musel být zároveň vlastníkem rozvrhu. Rozvrh však nelze smazat, pokud by odpojený nechal bez pracovních míst, pokud volající není vlastníkem rozvrhu.

Podrobnosti o oprávněních těchto rolí naleznete v SQL Server Agent Fixed Database Roles.

SQL Server kontroluje, zda uživatel vlastní jak práci, tak harmonogram.

Examples

Následující příklad vytváří plán s názvem NightlyJobs. Úlohy, které používají tento rozvrh, se vykonávají každý den, když je čas na serveru .01:00 Příklad přiřazuje rozvrh k práci BackupDatabase a k práci RunReports.

Poznámka:

Tento příklad předpokládá, že práce BackupDatabase a práce 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