Skip to main content

Script to Delete All SQL Agent Jobs Except Few

DECLARE @SQLStatement VARCHAR(200)

DECLARE @jobName SYSNAME

   DECLARE c1 CURSOR FOR

   SELECT name FROM msdb.dbo.sysjobs_view WHERE name not in

('syspolicy_purge_history'

,'Agent history clean up: distribution'

,'Distribution clean up: distribution'

,'Expired subscription clean up'

,'INDSBLRHT0VR72-AdventureWorks2017-2' --Change the job name as per your environment

,'INDSBLRHT0VR72-AdventureWorks2017-Adven_Pub-2' --Change the job name as per your environment

,'INDSBLRHT0VR72-AdventureWorks2017-Adven_Pub-INDSBLRHT0VR72-5' --Change the job name as per your environment

,'Reinitialize subscriptions having data validation failures'

,'Replication agents checkup'

,'Replication monitoring refresher for distribution'

)

   OPEN c1

   FETCH NEXT FROM c1 INTO @jobName

     IF @@CURSOR_ROWS=0

     PRINT 'No Job found! Please re-check LIKE operator.'

     WHILE @@fetch_status=0

    BEGIN

       SET @SQLStatement= 'EXEC msdb.dbo.sp_delete_job @job_name =''' + @jobName + ''', @delete_unused_schedule=1'

       PRINT(@SQLStatement)

     --EXEC (@SQLStatement)   --Uncomment to Execute

       FETCH NEXT FROM c1 INTO @jobName

    END

   CLOSE c1

   DEALLOCATE c1

Comments

Post a Comment

Hi User,
Thanks for visiting My Blog and please provide your valuable feedback and subscribe for more updates. Please don't post any spam content or comments.
Thank You