在作为数据库管理员III的前一份工作中,我们的团队负责创建和维护运行各种数据库维护任务的SQL代理作业,我们通常会使用SSMS附带的标准维护计划向导。 我们在维持这些工作时遇到的一个常见问题与编辑作业的能力有关,如果您不是所有者。我们创建这个工作是标准的,并且使用一个通用的dba账户,这样所有的dbas都可以编辑这个工作,但是dba会不时使用他们自己的个人AD账户创建工作,而不是使用标准dba。这不会给我们造成太多不便,因为作为DBA,我们也拥有系统管理员权限,所以我们无论如何都可以编辑这项工作。但是这让我思考。有没有办法让一个不是工作所有者的人能够修改这个工作而不给他们太多的特权,比如给他们系统管理员?如果您不是所有者或系统管理员,您可以在SQL Agent中编辑作业吗?
1
A
回答
1
任何OOP程序员都熟悉覆盖方法的概念。这基本上是相同的想法,但用一行代码来覆盖系统存储的proc和一个自定义的存储过程,以实现我们的目标。
只有sysadmin的成员能够编辑他们不拥有的作业。 如果您将dbo.sp_update_job的副本创建为dbo.sp_update_job_override,但在末尾添加'授予执行',您可以覆盖它。
将这行代码放在您的dbo.sp_update_job副本的末尾。
GRANT EXECUTE ON [dbo].[sp_update_job_override] TO [SQLAgentOperatorRole]
因此,如果您授予用户SQLAGENTOPERATORROLE他们将能够使这个电话,它会成功完成。
USE msdb ;
GO
EXEC dbo.sp_update_job_override
@job_name = N'SampleJob',
@new_name = N'Sample Job New',
@description = N'Sample job for demonstration purposes.',
@enabled = 0 ;
GO
编辑...我发现一篇文章来自鲍里斯Hristov在这个主题..感谢鲍里斯。
相关问题
- 1. 如果您不是回购所有者,您可以通过GitHub部署您的Azure Web App吗?
- 2. SharePoint:您无权执行此操作。请联系您的系统管理员
- 3. 您没有权限访问该网页,请参阅您的系统管理员
- 4. Codenvy。 “系统资源不足,请联系您的系统管理员。”
- 5. 如果不是系统管理员,SQL Server无法插入行
- 6. MS Access - 链接表 - 数据库所有者/系统管理员
- 7. 您不能编辑这篇文章。即使我有管理员权限wordpress
- 8. 无法编辑SQL Server 2012中的Sql Agent作业步骤
- 9. 您可以观察Android中的系统属性更改吗?
- 10. 如何处理SQL Agent作业错误?
- 11. 您可以将作业中的计数器导出为CSV吗?
- 12. 您可以找到最小的所见即所得编辑器?
- 13. 如果您了解XHTML,CSS和Basic PHP,您可以找到一份工作吗?
- 14. SQL Server代理启动和停止脚本,可以由普通用户运行而不是系统管理员
- 15. 无法更改所有者“管理员”从“系统”注册表项
- 16. 您可以从Pentaho电水壶访问Java系统属性吗?
- 17. 您可以禁用.NET应用程序的系统声音吗?
- 18. 您可以注入自定义异常(或其提供者)吗?
- 19. 您可以保存您的Clojure REPL的状态(或者,有效地,您可以使用REPL编程复杂的程序吗?)
- 20. 内置消息系统,所有成员的管理员
- 21. 如果您必须是页面管理员才能在Facebook上发布页面
- 22. 作业日志管理系统
- 23. 您可以授予组访问TFS管理控制台而不是用户吗?
- 24. 如果列不是主键,您可以使用GUID作为列吗?
- 25. 有哪些选项可以设置您的3层系统
- 26. CouchDB复制是否需要系统管理员或数据库管理员?
- 27. 如果您不知道行数,是否可以使用raw_input()获取所有行?
- 28. 文档管理系统编辑器
- 29. 您可以并排放置两个编辑字段吗?
- 30. 您可以在没有管理员权限的情况下在IE中安装ActiveX控件吗?