4

我正在使用 SQL Server 2008。我对 SQL Server 代理作业运行时将使用哪个帐户感到困惑。我的困惑是,

  1. SQL Server 代理作为我们可以从 Windows 服务管理控制台控制的 Windows 服务,从那里我们可以设置帐户来运行 SQL Server 代理(我的计算机中的 LocalSystem);
  2. 我可以设置 SQL Server 代理作业级别帐户来运行吗?
  3. 我可以在每个步骤中设置哪个帐户 SQL Server 代理作业步骤将运行吗?

我有上述困惑,因为可能会使用 3 个不同的帐户系统,我关心的是每个步骤将运行的实际帐户是什么,我想避免任何权限问题(即我想确保帐户有足够的权限。)。有什么意见或建议吗?感谢任何人都可以澄清3个级别的帐户,这让我很困惑。

提前谢谢,乔治

4

2 回答 2

5

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

如果该帐户的权限太有限(这可能是件好事!),我将为该应用程序及其所有 SQL 作业(如果可能)创建一个帐户,并在该帐户下运行所有​​ SQL 作业。

您可能会在不同的帐户下运行每个步骤,但我一般不会使用它(它只会让您很难知道和理解在哪个帐户下运行的内容)。仅当您必须运行需要大量额外权限且这些权限仅对特定系统帐户或其他东西可用的特别敏感步骤时才使用它。

运行 SQL Server 代理 windows 服务的帐户实际上不会影响您的作业步骤将在什么下运行。

所以它归结为实际上只有两个帐户:

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

  • 另一个帐户是运行 SQL Server 代理步骤的帐户 - 通常是 SQL Server 帐户(可能基于 Windows 帐户),它需要在 SQL Server 中具有足够的权限才能完成其工作,例如它需要访问权限到数据库对象和所有。我会努力为每个运行 SQL Server 作业的应用程序只拥有一个帐户- 让生活变得更轻松!

马克

PS:要设置用户运行一个步骤,您需要使用作业步骤属性对话框中的“高级”页面并从弹出窗口中选择用户:

替代文字

于 2009-08-01T11:18:19.550 回答
4

您可以在 SQL Server 中创建凭据(使用安全性下的 Mgt Studio)。然后在 SQL 代理中创建一个代理来使用这些凭据,告诉它代理可以使用什么样的作业步骤。然后您可以选择在作业步骤本身中使用该代理。

所以...我为各种 SSIS 包创建帐户以在其下运行,这样我就可以保持 SQL 代理服务帐户的低权限,并使用具有稍高权限的代理凭据(虽然不是管理员,只是足够的权限来连接到其他系统,包括文件系统)。

于 2009-08-01T12:46:58.140 回答