Just another random geek-speak blog

Wednesday, December 1, 2010

Delete those pesky orphan SQL Server Jobs

CREATE PROCEDURE [dbo].[sputil_DeleteJobsLike_lite] (@jobname Varchar(255),@jobsdeleted int =null output)

  AS

                -- ============================================================================

                -- Author:                            drb

                -- Create date: 12/01/2009

                -- Description:   deletes jobs that names match a string

                -- Note: @dbName includes the schema

                /* USAGE

                DECLARE @_deleted int

                SET @_deleted =0

                EXECUTE [sputil_DeleteJobsLike_lite] @jobname='QRY_7_',@jobsdeleted=@_deleted output

                SELECT @_deleted [Jobs Deleted]

                */

                -- ============================================================================

  BEGIN

                DECLARE @SQL VARCHAR(MAX)

                SET @SQL = ''

 

                SELECT @jobsdeleted = ISNULL(COUNT(1),0)  FROM msdb.dbo.sysjobs (nolock) where name like '%'+@jobname+'%'

 

                SELECT @SQL =

                                                                @SQL + 'EXEC msdb..sp_delete_job @job_name = N'''+[name]+''';

                                                                ' +CHAR(10)+CHAR(13) 

                FROM                   msdb.dbo.sysjobs

                WHERE                 name like '%'+@jobname+'%'

               

                IF (RTRIM(@SQL)<>'')

                EXEC(@SQL)

 

END

This is the "lite" version. The full version has contextual logging, verbosity level, parent transaction tracking and a WhatIf mode.
If that sounds interesting let me know and I will put up that framework.

0 comments:

Post a Comment

Search This Blog

Loading...

Share it

Followers