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

Popular Posts

Failed to execute the package or element. Build errors were encountered

Restore of database 'DataBase_Name' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)

Cannot convert "Column" between a unicode and a non-unicode string data types in SSIS