I’d really recommend not running the output of this script on a live environment! This is just a little something I whipped up to clear out a development environment.
Running the script will output the T-Sql required to deleted all jobs on the SQL Server instance. Jobs for maintenance plans are not included as maintenance plans need to be deleted first. Just copy the text and paste into a new SSMS window and execute. You could change the PRINT to EXEC but I wouldn’t recommend it.
SET NOCOUNT ON DECLARE @Job TABLE (JobName SYSNAME) DECLARE @JobName AS SYSNAME DECLARE @Sql AS VARCHAR(MAX) SET @JobName = '' INSERT INTO @Job (JobName) SELECT j.Name FROM msdb.dbo.sysjobs AS j LEFT JOIN msdb.dbo.sysmaintplan_subplans AS p ON j.job_id = p.job_id WHERE p.subplan_id IS NULL ORDER BY j.Name ASC WHILE @JobName IS NOT NULL BEGIN SET @JobName = ( SELECT MIN(JobName) FROM @Job WHERE JobName > @JobName ) SET @Sql = ' EXEC msdb.dbo.sp_delete_job @job_name = ' + '''' + @JobName + '''' + '; ' PRINT @Sql END