Sdílet prostřednictvím


sp_delete_job (Transact-SQL)

platí pro:SQL Serverazure SQL Managed Instance

Smaže úkol ze služby SQL Server Agent.

Transact-SQL konvence syntaxe

Syntaxe

sp_delete_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @originating_server = ] N'originating_server' ]
    [ , [ @delete_history = ] delete_history ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Identifikační číslo úkolu, který má být smazán. @job_id je uniqueidentifier, s výchozím nastavením NULL.

Musí být uveden buď @job_id , nebo @job_name ; Obojí nelze specifikovat.

[ @job_name = ] N'job_name'

Název práce, která má být smazána. @job_name je sysname s výchozím nastavením NULL.

Musí být uveden buď @job_id , nebo @job_name ; Obojí nelze specifikovat.

[ @originating_server = ] N'originating_server'

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

[ @delete_history = ] delete_history

Specifikuje, zda má být historie práce smazána. @delete_history je bit, s výchozím hodnotou 1.

  • Když @delete_history je 1, historie práce pro danou práci je smazána.
  • Když @delete_history je 0, historie zaměstnání se nemazá.

Když je úloha smazána a historie není smazána, historické informace o této roli se v grafickém uživatelském rozhraní SQL Server Agent nezobrazují v historii práce, ale informace stále zůstávají v tabulce sysjobhistory v databázi msdb .

[ @delete_unused_schedule = ] delete_unused_schedule

Specifikuje, zda má smazat harmonogramy připojené k této práci, pokud nejsou přiřazeny k žádné jiné práci. @delete_unused_schedule je bit, s výchozím hodnotou 1.

  • Když je @delete_unused_schedule , 1rozvrhy připojené k této práci jsou mazány, pokud žádné jiné úkoly na rozvrh neodkazují.
  • Když @delete_unused_schedule je 0, rozpisy se nesmažou.

Hodnoty návratového kódu

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

Sada výsledků

Žádné.

Poznámky

Argument @originating_server je vyhrazen pro interní použití.

Argument @delete_unused_schedule zajišťuje zpětnou kompatibilitu s předchozími verzemi SQL Serveru tím, že automaticky odstraňuje plány, které nejsou připojeny k žádné práci. Tento parametr ve výchozím nastavení odpovídá zpětné kompatibilitě. Abyste si udrželi rozvrhy, které nejsou spojeny s prací, musíte uvést hodnotu 0 jako @delete_unused_schedule argument.

SQL Server Management Studio poskytuje snadný, grafický způsob správy úloh a je doporučený způsob, jak vytvořit a spravovat infrastrukturu úloh.

Tato uložená procedura nemůže smazat plány údržby ani úlohy, které jsou součástí plánů údržby. Místo toho použijte SQL Server Management Studio k mazání plánů údržby.

Tato uložená procedura sdílí název s sp_delete_job podobným objektem pro službu Azure Elastic Jobs pro Azure SQL Database. Pro informace o verzi elastic jobs viz jobs.sp_delete_job (Azure Elastic Jobs).

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

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

Členové role pevného správce systému mohou smazat sp_delete_job jakoukoli úlohu. Uživatel, který není členem role pevného serveru správce systému, může mazat pouze úlohy vlastněné tímto uživatelem.

Examples

Následující příklad vymaže úkol NightlyBackups.

USE msdb;
GO

EXECUTE sp_delete_job @job_name = N'NightlyBackups';
GO