sp_delete_jobstep (Transact-SQL)
Applies to:
SQL Server
Azure SQL Managed Instance
Removes a job step from a job in the SQL Server Agent service.
Transact-SQL syntax conventions
Syntax
sp_delete_jobstep
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
, [ @step_id = ] step_id
[ ; ]
Arguments
[ @job_id = ] 'job_id'
The identification number of the job from which the step will be removed. @job_id is uniqueidentifier, with a default of NULL
.
Either @job_id or @job_name must be specified; both can't be specified.
[ @job_name = ] N'job_name'
The name of the job from which the step will be removed. @job_name is sysname, with a default of NULL
.
Either @job_id or @job_name must be specified; both can't be specified.
[ @step_id = ] step_id
The identification number of the step being removed. @step_id is int, with no default.
Return code values
0
(success) or 1
(failure).
Result set
None.
Remarks
Removing a job step automatically updates the other job steps that reference the deleted step.
For more information about the steps associated with a particular job, run sp_help_jobstep
.
Note
Calling sp_delete_jobstep
with a @step_id value of zero deletes all job steps for the job.
SQL Server Management Studio provides an easy, graphical way to manage jobs, and is the recommended way to create and manage the job infrastructure.
This stored procedure shares the name of sp_delete_jobstep
with a similar object for the Azure Elastic Jobs service for Azure SQL Database. For information about the elastic jobs version, see jobs.sp_delete_jobstep (Azure Elastic Jobs).
Permissions
This stored procedure is owned by the db_owner role. You can grant EXECUTE
permissions for any user, but these permissions may be overridden during a SQL Server upgrade.
Other users must be granted one of the following SQL Server Agent fixed database roles in the msdb
database:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.
Only members of sysadmin can delete a job step that is owned by another user.
Examples
The following example removes job step 1
from the job Weekly Sales Data Backup
.
USE msdb;
GO
EXEC dbo.sp_delete_jobstep
@job_name = N'Weekly Sales Data Backup',
@step_id = 1;
GO