Error 229: Execute permition denied on object.............

  • Hello again,

    People are reporting the following error:

    Error 229: Execute permission denied on object 'xp_sqlagent_enum_jobs', database 'master', owner 'dbo'.

    Can you tell me what should i check?

    This was working until yesterday but now i don't know if anyone of System Administration Team change any privilege of one user.

    Teams work separately and this sheet always happens.

    Thanks and regards,

    JMSM 😉

  • What is it that the users are attempting to do?

    By default (someone correct me If I'm wrong, as there is no documentation on this xproc), only sysadmins, msdb dbo's (?), and members of the defined msdb SQLAgentRoles (SQLAgentOperatorRole/SQLAgentUserRole/SQLAgentReaderRole) have the ability to use that procedure.

    xp_sqlagent_enum_jobs is basically a nice, quick little way to view running jobs.

  • Thanks everybody, the solution was as follows:

    Regards,

    JMSM 😉

    use master

    go

    grant select on master.dbo.sysperfinfo to {username}

    go

    grant execute on master.dbo.xp_sqlagent_notify to {username}

    go

    grant execute on master.dbo.xp_sqlagent_enum_jobs to {username}

    go

    grant execute on master.dbo.xp_sqlagent_param to {username}

    go

    grant execute on master.dbo.xp_sqlagent_is_starting to {username}

    go

    grant execute on master.dbo.xp_instance_regenumvalues to {username}

    go

    use msdb

    go

    grant execute on msdb.dbo.sp_help_alert to {username}

    go

    grant execute on msdb.dbo.sp_help_notification to {username}

    go

    grant select on msdb.dbo.sysalerts to {username}

    go

    grant select on msdb.dbo.sysoperators to {username}

    go

    grant select on msdb.dbo.sysnotifications to {username}

    go

  • I'm having the same permission problems. I use to put my agent operators in the sqlAgentOperatorRole in the msdb database. Thisa would allow them to go under the jobs and view and execute all jobs.

    Does anyone know if a SP2 roll up changed this? I did restore msdb from a backup but I do not think it would have changed the XP_ permissions.

  • "I did restore msdb from a backup" - this could be your problem.

    Check something has permissions to run xp_sql_agent_is_starting, and that the msdb & master databases have the same owner.

  • I searched the error for a while and saw a lot of things about certificates differing between msdb and master. But I checked the certificates and they were identical.

    I compared my server to others, and noticed that the ##MS_AgentSigningCertificate## user was missing from the master database. Running the following query worked for me:

    USE MASTER

    CREATE USER [##MS_AgentSigningCertificate##] FOR LOGIN [##MS_AgentSigningCertificate##]

    GO

    GRANT EXECUTE TO [##MS_AgentSigningCertificate##]

    go

  • I also encountered this issue and found the steps at http://support.microsoft.com/kb/2000274 solved my issues. Wanted to add that in case it helps anyone else out.

  • hi dear,

    this is the error list what is get after applying this query.

  • I restored msdb from other server for hardware migration. The SQLAgent Service account was not in Systemadmin server role and caused the SQL Server Agent service couldn't start due to lack of permission to access master database. I added the SQLServerAgentService account to SysAdmin server role.

    SQLServer Agent Service was able to start right away. Just thought about to share.

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply