Sdílet prostřednictvím


sp_detach_schedule (Transact-SQL)

platí pro:SQL Server

Odstraňuje to spojení mezi rozvrhem a prací.

Transact-SQL konvence syntaxe

Syntaxe

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

Arguments

[ @job_id = ] 'job_id'

Identifikační číslo práce pro odstranění rozvrhu. @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 práce, ze které je potřeba rozvrh odstranit. @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 rozpisu pro odstranění z práce. @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 rozpisu, který je třeba odstranit z práce. @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.

[ @delete_unused_schedule = ] delete_unused_schedule

Specifikuje, zda má smazat nepoužité rozvrhy úloh. @delete_unused_schedule je bit, s výchozím nastavením 0, což znamená, že všechny plány jsou udržovány, i když na ně žádné úlohy neodkazují. Pokud je nastaveno , 1nepoužité rozvrhy úloh se smažou, pokud na ně žádné úkoly neodkazují.

[ @automatic_post = ] automatic_post

Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Sada výsledků

Žádné.

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í harmonogram. Pouze členové role pevného správce systému mohou odpojovat plány od úloh vlastněných jiným uživatelem.

Examples

Následující příklad odstraňuje spojení mezi rozvrhem NightlyJobs a prací BackupDatabase .

USE msdb;
GO

EXECUTE dbo.sp_detach_schedule
    @job_name = 'BackupDatabase',
    @schedule_name = 'NightlyJobs';
GO