Delen via


sp_delete_job (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Verwijdert een taak uit de SQL Server Agent-service.

Transact-SQL syntaxis-conventies

Syntaxis

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'

Het identificatienummer van de functie die verwijderd moet worden. @job_id is uniqueidentifier, met als standaard .NULL

Ofwel @job_id of @job_name moet worden gespecificeerd; Beide kunnen niet worden gespecificeerd.

[ @job_name = ] N'job_name'

De naam van de baan die verwijderd moet worden. @job_name is sysname, met als standaard .NULL

Ofwel @job_id of @job_name moet worden gespecificeerd; Beide kunnen niet worden gespecificeerd.

[ @originating_server = ] N'originating_server'

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

[ @delete_history = ] delete_history

Geeft aan of de geschiedenis van de taak verwijderd moet worden. @delete_history is bit, met als standaard .1

  • Wanneer @delete_history , 1wordt de functiegeschiedenis van de functie verwijderd.
  • Wanneer @delete_history , 0wordt de functiegeschiedenis niet verwijderd.

Wanneer een taak wordt verwijderd en de geschiedenis niet verwijderd is, wordt de historische informatie voor de taak niet weergegeven in de grafische gebruikersinterface van de SQL Server Agent taakgeschiedenis, maar de informatie blijft wel in de sysjobhistory tabel in de msdb database staan.

[ @delete_unused_schedule = ] delete_unused_schedule

Specificeert of de schema's die aan deze taak zijn gekoppeld verwijderd moeten worden als ze niet aan een andere taak gekoppeld zijn. @delete_unused_schedule is bit, met een standaard van 1.

  • Wanneer @delete_unused_schedule , 1worden roosters die aan deze baan zijn gekoppeld verwijderd als geen andere taken naar het schema verwijzen.
  • Wanneer @delete_unused_schedule is 0, worden de schema's niet verwijderd.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Resultaatset

Geen.

Opmerkingen

Het argument @originating_server is voorbehouden aan intern gebruik.

Het @delete_unused_schedule-argument biedt achterwaartse compatibiliteit met eerdere versies van SQL Server door automatisch schema's te verwijderen die niet aan een taak zijn gekoppeld. Deze parameter is standaard het achterwaarts compatibele gedrag. Om roosters te behouden die niet aan een baan gekoppeld zijn, moet je de waarde 0 als @delete_unused_schedule argument aanvoeren.

SQL Server Management Studio biedt een eenvoudige, grafische manier om taken te beheren en is de aanbevolen manier om de taakinfrastructuur te maken en te beheren.

Deze opgeslagen procedure kan onderhoudsplannen niet verwijderen en ook geen taken die deel uitmaken van onderhoudsplannen. Gebruik in plaats daarvan SQL Server Management Studio om onderhoudsplannen te verwijderen.

Deze opgeslagen procedure deelt de naam van sp_delete_job met een vergelijkbaar object voor de Azure Elastic Jobs-service voor Azure SQL Database. Voor informatie over de elastic jobs-versie, zie jobs.sp_delete_job (Azure Elastic Jobs).

Permissions

Je kunt rechten verlenen EXECUTE op deze procedure, maar deze rechten kunnen worden overschreven tijdens een SQL Server-upgrade.

Andere gebruikers moeten een van de volgende vaste SQL Server Agent-databaserollen in de msdb database krijgen:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Voor details over de rechten van deze rollen, zie SQL Server Agent Fixed Database Roles.

Leden van de sysadmin-vaste serverrol kunnen elke taak verwijderen sp_delete_job uitvoeren. Een gebruiker die geen lid is van de sysadmin-vaste serverrol kan alleen taken verwijderen die eigendom zijn van die gebruiker.

Voorbeelden

Het volgende voorbeeld verwijdert de taak NightlyBackups.

USE msdb;
GO

EXECUTE sp_delete_job @job_name = N'NightlyBackups';
GO