为 SQL Server 代理服务选择帐户

服务启动帐户可以定义运行 SQL Server 代理的 Microsoft Windows 帐户及其网络权限。SQL Server 代理在指定的用户帐户下运行。为了与早期版本的 SQL Server 兼容,SQL Server 代理也可以使用本地系统帐户运行。

可以使用 SQL Server 配置管理器为 SQL Server 代理服务选择一个帐户,可选帐户如下:

  • 内置帐户。可以从下列内置 Windows 服务帐户的列表中选择:

    • “本地系统”帐户。此帐户的名称是 NT AUTHORITY\System。它是一个功能强大的帐户,可以不受限制地访问所有本地系统资源。它是本地计算机上 Windows Administrators 组的成员,因此也是 SQL Serversysadmin 固定服务器角色的成员。

      安全说明安全说明

      提供“本地系统帐户”选项只是为了向后兼容。本地系统帐户具有 SQL Server 代理不需要的权限。避免使用本地系统帐户运行 SQL Server 代理。为了提高安全性,请使用具有下面部分“Windows 域帐户权限”中所列出权限的 Windows 域帐户。

    • **“网络服务”**帐户。此帐户的名称是 NT AUTHORITY\NetworkService。可以在 Microsoft Windows XP 和 Microsoft Windows Server 2003 中使用它。所有使用网络服务帐户运行的服务都会验证到作为本地计算机的网络资源。

      安全说明安全说明

      由于可以有多个服务使用网络服务帐户,因此很难控制哪些服务具有对网络资源(包括 SQL Server 数据库)的访问权限。建议不要对 SQL Server 代理服务使用网络服务帐户。

      重要说明重要提示

      请勿选择“本地服务”帐户。SQL Server 代理服务不能在此帐户下运行。不支持此操作。此帐户的名称是 NT AUTHORITY\LocalService,它作为没有凭据的空会话访问网络资源。可以在 Microsoft Windows XP 和 Microsoft Windows Server 2003 中使用此帐户。

  • 本帐户。使您可以指定运行 SQL Server 代理服务的 Windows 域帐户。建议选择非 Windows Administrators 组成员的 Windows 用户帐户。但是,当 SQL Server 代理服务帐户不是本地 Administrators 组的成员时,在使用多服务器管理时存在限制。有关详细信息,请参阅支持用于 SQL Server 代理的服务帐户类型

有关各种服务帐户类型所支持的 SQL Server 代理功能的信息,请参阅支持用于 SQL Server 代理的服务帐户类型

Windows 域帐户权限

为了提高安全性,可以选择**“本帐户”**来指定 Windows 域帐户。指定的 Windows 域帐户必须具有下列权限:

  • 在所有 Windows 版本中,作为服务登录的权限 (SeServiceLogonRight)
注意注意

SQL Server 代理服务帐户必须是域控制器上 Pre-Windows 2000 Compatible Access 组的一部分,否则,非 Windows Administrators 组成员的域用户拥有的作业将失败。

  • 在 Windows 服务器中,运行 SQL Server 代理服务的帐户需要具有下列权限才能支持 SQL Server 代理的代理帐户。

    • 充当操作系统的一部分的权限 (SeTcbPrivilege)(仅限 Windows 2000)

    • 跳过遍历检查的权限 (SeChangeNotifyPrivilege)

    • 替换进程级别标记的权限 (SeAssignPrimaryTokenPrivilege)

    • 调整进程的内存配额的权限 (SeIncreaseQuotaPrivilege)

    • 使用批登录类型登录的权限 (SeBatchLogonRight)

注意注意

如果帐户不具有支持代理帐户所需的权限,则只有 sysadmin 固定服务器角色的成员可以创建作业。

注意注意

必须为 SQL Server 代理的服务帐户授予包含 WMI 事件的命名空间的权限以及 ALTER ANY EVENT NOTIFICATION 权限,才能接收 WMI 警报通知。

SQL Server 角色成员身份

运行 SQL Server 代理服务时使用的帐户必须是下列 SQL Server 角色的成员:

  • 该帐户必须是 sysadmin 固定服务器角色的成员。

  • 若要使用多服务器作业处理,帐户必须是主服务器上 msdb 数据库角色 TargetServersRole 的成员。

Windows 组成员身份

  • 运行 SQL Server 代理服务的帐户必须是以下 Windows 组的成员:

  • 该帐户必须是域控制器上 Pre-Windows 2000 Compatible Access 组的成员,才能运行非 Administrators 组成员的用户拥有的作业。

    安全说明安全说明

    为了增强安全性,SQL Server 代理服务帐户不应是本地 Administrators 组的成员。但是,当 SQL Server 代理服务帐户不是本地 Administrators 组的成员时,在使用多服务器管理时存在限制。有关详细信息,请参阅支持用于 SQL Server 代理的服务帐户类型

常见任务

指定 SQL Server 代理服务的启动帐户

指定 SQL Server 代理的邮件配置文件

注意注意

使用 SQL Server 配置管理器可以指定启动操作系统时必须启动 SQL Server 代理。