March 4, 2008 at 5:34 am
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 😉
March 4, 2008 at 1:57 pm
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.
March 5, 2008 at 3:32 am
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
March 7, 2008 at 8:25 am
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.
April 10, 2008 at 5:03 am
"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.
October 20, 2010 at 10:20 am
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
March 14, 2012 at 9:16 am
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.
October 31, 2012 at 7:59 am
hi dear,
this is the error list what is get after applying this query.
December 18, 2013 at 12:01 pm
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