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
Thanks for your information.
ReplyDeleteThanks for your feedback
DeleteThanks for your feedback
ReplyDelete