• I too used your similar solution, but i do not want to allow my users to alter jobs, schedule them, delete them, etc. So i created the following SQLAgentLIMITEDOperatorRole in 2005. With this role, they can only start and stop jobs.

    USE [msdb]

    GO

    /****** Object: DatabaseRole [SQLAgentLimitedOperatorRole] Script Date: 06/24/2008 10:53:39 ******/

    CREATE ROLE [SQLAgentLimitedOperatorRole] AUTHORIZATION [dbo]

    GO

    EXEC sp_addrolemember N'SQLAgentOperatorRole', N'SQLAgentLimitedOperatorRole'

    GO

    DENY EXECUTE ON sp_add_job to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_add_jobschedule to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_add_jobserver to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_add_jobstep to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_add_schedule to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_addtask to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_attach_schedule to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_delete_job to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_delete_jobschedule to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_delete_jobserver to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_delete_jobstep to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_delete_jobsteplog to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_delete_schedule to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_detach_schedule to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_droptask to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_maintplan_subplans_by_job to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_update_job to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_update_jobschedule to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_update_jobstep to [SQLAgentLimitedOperatorRole]

    DENY EXECUTE ON sp_purge_jobhistory to [SQLAgentLimitedOperatorRole]