我希望赋予用户管理SQL代理作业的能力。根据文档页,我可以通过在msdb上授予“适当”角色来做到这一点。我已经授予了所有三个SQLAgent%角色,但是当(作为测试)尝试重命名作业时,用户会得到这个错误:
Only members of sysadmin role are allowed to update or delete jobs owned by a different login.
(Microsoft SQL Server, Error: 14525)这个问题与SQL相似,但是没有一个答案能够解决SQL问题。在MSSQL2K8中,sysadmin角色是唯一的解决方案吗?
发布于 2013-04-09 20:14:44
不幸的是,代理作业的管理目前只能由sysadmin角色的成员完成。相关文档可在MSDN上找到。您将注意到,三个代理角色(用户、阅读器和操作符)有不同的级别,但最终没有sysadmin的用户只能编辑/管理用户拥有的作业,而不能编辑/管理其他用户创建的作业。
发布于 2014-01-03 09:45:47
它可以通过重写sp_update_job过程来完成。这里描述的步骤:http://borishristov.com/blog/modifying-not-owned-sql-agent-jobs-without-being-a-sysadmin/
发布于 2017-12-08 21:55:04
页面https://learn.microsoft.com/en-us/sql/ssms/agent/sql-server-agent-fixed-database-roles说:“要使用server代理,用户必须是这些固定数据库角色之一的成员或sysadmin固定服务器角色的成员。”(强调地雷)
因此,您不应该需要成为sysadmin角色的成员才能看到Server代理,这与上面Mike的说法相矛盾。可能是SQL Server或SSMS错误..。
https://dba.stackexchange.com/questions/39592
复制相似问题