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


sp_delete_job (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Törli a feladatot az SQL Server Agent szolgáltatásból.

Transact-SQL szintaxis konvenciók

Szemantika

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'

A törölendő munka azonosító száma. @job_idaz uniqueidentifier, alapértelmezettként NULL.

Vagy @job_id , vagy @job_name meg kell határozni; Mindkettő nem lehet pontosan meghatározni.

[ @job_name = ] N'job_name'

A törölendő munka neve. @job_name a sysname, alapértelmezettként NULL.

Vagy @job_id , vagy @job_name meg kell határozni; Mindkettő nem lehet pontosan meghatározni.

[ @originating_server = ] N'originating_server'

Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.

[ @delete_history = ] delete_history

Megadja, hogy töröljük-e a feladat előzményét. @delete_historybit, alapértelmezettként 1.

  • Ha @delete_history1, a munka előzménye törlődik.
  • Ha @delete_history0, a munka előzménye nem törlődik.

Ha egy feladatot törölnek és a múltat nem törlik, a feladat történeti adatai nem jelennek meg az SQL Server Agent grafikus felhasználói felületének munkatörténetében, de az információ továbbra is a sysjobhistory táblázatban található az msdb adatbázisban.

[ @delete_unused_schedule = ] delete_unused_schedule

Megadja, hogy töröljük-e a hozzá kapcsolódó munkaidőbeosztásokat, ha azok nem kapcsolódnak más munkához. @delete_unused_schedulebit, alapértelmezettként 1.

  • Amikor @delete_unused_schedule1, az ehhez a feladathoz csatolt ütemezések törülnek, ha más feladatok nem hivatkoznak az ütemezésre.
  • Amikor @delete_unused_schedule0van, az ütemezések nem törülnek.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Eredményhalmaz

Nincs.

Megjegyzések

Az @originating_server érv belső használatra van fenntartva.

Az @delete_unused_schedule érv visszafelé kompatibilitást biztosít az SQL Server korábbi verzióival azáltal, hogy automatikusan eltávolítja azokat az ütemezéseket, amelyek nincsenek hozzárendelve egyetlen feladathoz. Ez a paraméter alapértelmezett módon a visszafelé kompatibilis viselkedésre vonatkozik. Ahhoz, hogy megtartsd azokat az ütemezéseket, amelyek nem kapcsolódnak egy munkához, az értéket @delete_unused_schedule érvként kell megadnod0.

Az SQL Server Management Studio egyszerű, grafikus módot kínál a feladatok kezelésére, és ez a feladatinfrastruktúra létrehozásának és kezelésének ajánlott módja.

Ez a tárolt eljárás nem törölheti a karbantartási terveket, és nem törölheti azokat a feladatokat, amelyek a karbantartási tervek részei. Ehelyett az SQL Server Management Studio-t használd a karbantartási tervek törlésére.

Ez a tárolt eljárás ugyanazt a nevet sp_delete_job használja, amely hasonló objektumot használ az Azure SQL Database Azure Elastic Jobs szolgáltatásához. Az elastic jobs verzióról információért lásd jobs.sp_delete_job (Azure Elastic Jobs).

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

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

A rendszergazdai fix szerver tagjai végrehajthatják sp_delete_job a feladatot, hogy töröljék bármelyik feladatot. Az a felhasználó, aki nem tagja a rendszergazdálkodó fix szerver szerepének, csak az adott felhasználó tulajdonában lévő munkákat törölheti.

Példák

A következő példa törli a feladatot NightlyBackups.

USE msdb;
GO

EXECUTE sp_delete_job @job_name = N'NightlyBackups';
GO