Sdílet prostřednictvím


sp_delete_schedule (Transact-SQL)

platí pro:SQL Server

Maže rozvrh.

Transact-SQL konvence syntaxe

Syntaxe

sp_delete_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @force_delete = ] force_delete ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @schedule_id = ] schedule_id

Identifikační číslo rozvrhu rozpisu k smazání. @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 ke smazání. @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.

[ @force_delete = ] force_delete

Specifikuje, zda by měl postup selhat, pokud je rozvrh připojen k úkolu. @force_delete je bit, s výchozím hodnotou 0.

  • Když je @force_delete , 0uložená procedura selže, pokud je harmonogram připojen k úlohe.
  • Když je @force_delete , 1rozvrh se smaže bez ohledu na to, zda je rozvrh přiřazen k nějaké práci.

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

Poznámky

Ve výchozím nastavení nelze rozvrh smazat, pokud je připojen k nějaké práci. Pro smazání rozvrhu připojeného k úkolu zadejte hodnotu 1 pro @force_delete. Smazání rozvrhu nezastaví právě běžící úlohy.

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.

Pouze členové role správce systému mohou smazat rozvrh úloh, který vlastní jiný uživatel.

Examples

A. Smazat plán

Následující příklad maže rozvrh NightlyJobs. Pokud je rozvrh přiřazen k nějaké práci, příklad rozvrh nesmaže.

USE msdb;
GO

EXECUTE dbo.sp_delete_schedule @schedule_name = N'NightlyJobs';
GO

B. Smažte rozvrh připojený k práci

Následující příklad maže rozvrh RunOnce, bez ohledu na to, zda je rozvrh připojen k nějaké práci.

USE msdb;
GO

EXECUTE dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO