换句话说,我应该始终将作业所有者设置为sa作为SQL作业,即使它默认为创建它的用户吗?
答案 0 :(得分:3)
如果禁用或删除该用户,则用户拥有的任何作业都将停止运行。如果在运行时存在Active Directory问题,则作业也可能无法运行。 Brent Ozar在他的网站上有一篇关于此的文章: http://www.brentozar.com/blitz/jobs-owned-by-user-accounts/
答案 1 :(得分:0)
你将不得不忍受我。因为我要记忆。
查看一些旧脚本,我有这段代码。
选择@jobOwnerNameVeryImportantToSetCorrectly ='someSqlAuthenticatonUser'
现在。在我的场景中,我允许非'sa'用户安排和运行作业。 因此,为什么我让所有者成为非'sa'用户。
我想回答的问题是,“谁来管理工作”。如果它总是'sa',那么它不是问题。
但是,如果您想要一个非'sa'帐户来运行它,那么一个权限较低的帐户如何运行超级mack-daddy帐户所拥有的工作?
我的测试将是。
我的记忆是说“较小的帐户将无法”。但是,我处理了Sql Server 2005上的工作。所以即使我在2005年正确记得,它在2008或2008R2上可能也不一样。
但我记得有这个问题。因此我的变量声明:
选择@jobOwnerNameVeryImportantToSetCorrectly ='someSqlAuthenticatonUser'
答案 2 :(得分:0)
我也阅读了Brent Ozar的文章,并且处于类似的情况,其中有很多不属于SA的工作被启用。根据我的研究,我没有找到不的任何令人信服的理由将所有权更改为“ SA”,但上面提到了两个为什么要这么做的充分理由。
您不必担心他们无法从此更改中运行。我唯一要注意的两件事是: 1)您作为SA 运行运行的作业, 2)如果您要进入环境,请启用在进行此更改后已禁用的作业。
为什么有人会做这两件事,IDK,但是您总是可以备份msdb,然后在开发服务器或培训服务器中测试这些更改。只要注意您要更改的工作,以防发生意外情况。