SQL Server代理作业帐户问题(SQL Server agent job account is

2019-06-27 11:41发布

我使用SQL Server 2008中我感到困惑占一个SQL Server代理作业运行时将被使用。 我的困惑是,

  1. SQL Server代理作为Windows服务,我们可以从Windows服务管理控制台进行控制,从这里我们可以设置为运行SQL Server代理(在我的电脑本地系统)帐户;
  2. 我可以设置SQL Server代理作业级别的帐户上运行?
  3. 我可以在每个帐户SQL Server代理作业步骤将运行在一步设置?

我有以上困惑,因为可以使用3个不同的账号系统和我关心的是什么是实际帐户的每一步运行,并且我想避免任何在未经许可的问题(即我想,以确保账户有足够的权限)。 有任何意见或建议吗? 欣赏任何人都可以澄清3个级别的账户,这让我很困惑。

在此先感谢,乔治

Answer 1:

为您的应用程序访问数据库我通常会运行在同一帐户下的SQL Server代理作业。

如果该帐户在其权限十分有限(这可能是一件好事!),我会创建该应用程序及其所有SQL作业单一帐户(如果可能的话),而且该帐户下运行的所有SQL作业。

您可能会运行在其他帐户下的每一步,但我不会用,一般(只会使它真的很难知道和了解什么是运行在哪个帐户下)。 只有当你运行一个需要大量额外的权限一个特别敏感的一步,这些权限仅适用于特定的系统帐户或东西使用它。

在其下SQL Server代理Windows服务运行非常的帐户没有什么你的工作步骤将下运行的影响。

所以,把它归结为真的只是两个帐户:

  • 需要一个帐户来运行SQL Server代理Windows服务 - 这是你的机器/服务器上的Windows帐户,这需要有足够的权限来运行服务,启动和停止它 - 要么使用本地系统,网络服务,或任何其他Windows帐户必须与运行服务

  • 其他帐户将运行在你的SQL Server代理步骤的帐户 - 这是典型的SQL Server帐户(这可能是基于Windows帐户),它需要在SQL Server内部足够的权限来完成其工作,例如,它需要访问到数据库对象和所有。 我将努力只有一个账户在运行SQL Server作业每个应用程序-让生活轻松许多!

PS:要设置用户运行下,你需要使用的作业步骤属性对话框中的“高级”页面,然后从弹出窗口中用户一步:



Answer 2:

您可以创建在SQL Server中的凭据(使用MGT工作室,安全下)。 然后创建SQL代理代理使用这些凭据,告诉它什么样的工作步骤可以由代理使用。 然后,你选择使用该代理的作业步骤本身。

所以...我做各种SSIS包帐户下运行,这样我可以保持SQL代理服务帐户低特权,并使用代理的证书略高权限(而不是管理虽然只是足够权限连接到其他系统包括文件系统)。



文章来源: SQL Server agent job account issue