Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Tar bort ett jobb från SQL Server Agent-tjänsten.
Transact-SQL syntaxkonventioner
Syntax
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'
Identifieringsnumret för jobbet som ska raderas.
@job_id är unik identifierare, med standardvärdet .NULL
Antingen @job_id eller @job_name måste specificeras; Båda kan inte specificeras.
[ @job_name = ] N'job_name'
Namnet på jobbet som ska raderas.
@job_name är sysname, med standardvärdet .NULL
Antingen @job_id eller @job_name måste specificeras; Båda kan inte specificeras.
[ @originating_server = ] N'originating_server'
Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte.
[ @delete_history = ] delete_history
Specificerar om historiken för jobbet ska tas bort.
@delete_history är bit, med standardvärdet .1
- När @delete_history är
1, raderas jobbhistoriken för jobbet. - När @delete_history är
0, raderas inte jobbhistoriken.
När ett jobb tas bort och historiken inte raderas, visas inte historisk information för jobbet i SQL Server Agents grafiska användargränssnittshistorik, men informationen finns fortfarande i sysjobhistory tabellen i databasen msdb .
[ @delete_unused_schedule = ] delete_unused_schedule
Specificerar om scheman som är kopplade till detta jobb ska tas bort om de inte är kopplade till något annat jobb.
@delete_unused_schedule är bit, med standardvärdet .1
- När @delete_unused_schedule är
1, raderas scheman kopplade till detta jobb om inga andra jobb refererar till schemat. - När @delete_unused_schedule är
0, raderas inte scheman.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
Ingen.
Anmärkningar
Det @originating_server argumentet är reserverat för internt bruk.
Det @delete_unused_schedule argumentet ger bakåtkompatibilitet med tidigare versioner av SQL Server genom att automatiskt ta bort scheman som inte är kopplade till något jobb. Denna parameter är standardinställning till det bakåtkompatibla beteendet. För att behålla scheman som inte är kopplade till ett jobb måste du ange värdet 0 som det @delete_unused_schedule argumentet.
SQL Server Management Studio är ett enkelt, grafiskt sätt att hantera jobb och är det rekommenderade sättet att skapa och hantera jobbinfrastrukturen.
Denna lagrade procedur kan inte ta bort underhållsplaner och kan inte ta bort jobb som ingår i underhållsplaner. Använd istället SQL Server Management Studio för att ta bort underhållsplaner.
Denna lagrade propud delar namnet på sp_delete_job med ett liknande objekt för Azure Elastic Jobs-tjänsten för Azure SQL Database. För information om elastic jobs-versionen, se jobs.sp_delete_job (Azure Elastic Jobs).
Permissions
Du kan ge EXECUTE behörigheter för denna procedur, men dessa behörigheter kan åsidosättas vid en SQL Server-uppgradering.
Andra användare måste tilldelas en av följande SQL Server Agent-fasta databasroller i databasen msdb :
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
För detaljer om behörigheterna för dessa roller, se SQL Server Agent Fixed Database Roles.
Medlemmar i sysadmin-fasta serverrollen kan köra sp_delete_job för att ta bort vilket jobb som helst. En användare som inte är medlem i sysadmin-funktionen med fast server kan bara ta bort jobb som ägs av den användaren.
Examples
Följande exempel tar bort jobbet NightlyBackups.
USE msdb;
GO
EXECUTE sp_delete_job @job_name = N'NightlyBackups';
GO