選取 SQL Server Agent 服務的帳戶

適用於:SQL ServerAzure SQL 受控執行個體

重要

Azure SQL 受控執行個體目前支援多數 (但非全部) 的 SQL Server Agent 功能。 如需詳細資料,請參閱 Azure SQL 受控執行個體與 SQL Server 之間的 T-SQL 差異

服務啟動帳戶會定義 SQL Server Agent 用來執行的 Microsoft Windows 帳戶及其網路權限。 SQL Server Agent 會以指定的使用者帳戶執行。 您可以使用 SQL Server 組態管理員選擇下列選項,藉此選取 SQL Server Agent 服務的帳戶:

  • 內建帳戶。 您可從下列內建 Windows 服務帳戶的清單中進行選擇:

    • 本機系統 帳戶。 這個帳戶的名稱是 NT AUTHORITY\System。 這是功能強大的帳戶,可不受限制地存取所有本機系統資源。 這是本機電腦上 Windows Administrators 群組的成員。

    重要

    [本機系統帳戶] 選項僅用於回溯相容性。 本機系統帳戶具有 SQL Server Agent 不需要的權限。 請避免以本機系統帳戶執行 SQL Server Agent。 為了改善安全性,請搭配使用 Windows 網域帳戶與下節「Windows 網域帳戶權限」所列的權限。

  • 這個帳戶。 可讓您指定 SQL Server Agent 服務用來執行的 Windows 網域帳戶。 建議您選擇非 Windows Administrators 群組成員的 Windows 使用者帳戶。 不過,如果 SQL Server Agent 服務帳戶不是本機 Administrators 群組的成員,則會限制多伺服器管理的使用。 如需詳細資訊,請參閱本文後面的<支援的服務帳戶類型>。

Windows 網域帳戶權限

為了改善安全性,請選取 [這個帳戶],以指定 Windows 網域帳戶。 您指定的 Windows 網域帳戶必須具有下列權限:

  • 在所有 Windows 版本中,以服務方式登入的權限 (SeServiceLogonRight)

    注意

    SQL Server Agent 服務帳戶必須是網域控制站上 Pre-Windows 2000 Compatible Access 群組的一部分,否則非 Windows Administrators 群組成員之網域使用者所擁有的作業會失敗。

  • 在 Windows 伺服器中,用來執行 SQL Server Agent 服務的帳戶需要下列權限,才能支援 SQL Server Agent Proxy。

    • 略過周遊檢查的權限 (SeChangeNotifyPrivilege
    • 替換進程級令牌的權限 (SeAssignPrimaryTokenPrivilege
    • 為進程調整記憶體配額的權限 (SeIncreaseQuotaPrivilege)
    • 從網路訪問這台電腦的權限 (SeNetworkLogonRight)(SeNetworkLogonRight)

如果帳戶沒有支援 Proxy 所需的權限,則只有 系統管理員 (sysadmin) 固定伺服器角色的成員可以建立作業。

若要接收 WMI 警示通知,必須授與 SQL Server Agent 的服務帳戶包含 WMI 事件之命名空間的權限,以及ALTER ANY EVENT NOTIFICATION

SQL Server 角色成員資格

根據預設,SQL Server Agent 服務帳戶會被定位至預設的 SQL Server Agent 服務 SID (NT SERVICE\SQLSERVERAGENT),這是系統管理員固定伺服器角色的成員。 如果使用多伺服器作業處理,帳戶也必須是主要伺服器上 msdb msdb資料庫角色 TargetServersRole 的成員。 [主要伺服器精靈] 會在編列進程中,自動將服務帳戶加入至此角色。

支援的服務帳戶類型

下表列出可用於 SQL Server Agent 服務的 Windows 帳戶類型。

服務帳戶類型 非叢集伺服器 叢集伺服器 網域控制站 (非叢集)
Microsoft Windows 網域帳戶 (Windows Administrators 群組的成員) 支援 支援 支援
Windows 網域帳戶 (非管理) 支援

請參閱下列限制 1。
支援

請參閱下列限制 1。
支援

請參閱下列限制 1。
網路服務帳戶 (NT AUTHORITY\NetworkService) 支援

請參閱下列限制 1、3 和 4。
不支援 不支援
本機使用者帳戶 (非管理) 支援

請參閱下列限制 1。
不支援 不適用
本機系統帳戶 (NT AUTHORITY\System) 支援

請參閱下列限制 2。
不支援 支援

請參閱下列限制 2。
本機服務帳戶 (NT AUTHORITY\LocalService) 不支援 不支援 不支援

限制 1:對於多伺服器管理使用非管理帳戶

在主要伺服器上編列目標伺服器可能失敗,並出現下列錯誤訊息:「編列作業失敗」。

若要解決此錯誤,請重新啟動 SQL Server 和 SQL Server Agent 服務。 如需詳細資訊,請參閱 启动、停止、暂停、继续、重启 SQL Server 服务

限制 2:對於多伺服器管理使用本機系統帳戶

當 SQL Server Agent 服務在本機系統帳戶下執行時支援多伺服器管理,但前提是主要伺服器和目標伺服器都必須位於相同電腦上。 如果您使用此組態,則當您在主要伺服器上編列目標伺服器時會傳回下列訊息:

「請確定 <目標伺服器電腦名稱> 的代理程式啟動帳戶有權限以 targetServer 的身分登入」。

您可以忽略此參考訊息。 編列作業應該順利完成。 如需詳細資訊,請參閱 建立多伺服器環境

限制 3:若為 SQL Server 使用者,則使用網路服務帳戶

如果您是在網路服務帳戶下執行 SQL Server Agent 服務,而且已明確授與網路服務帳戶存取權限,以 SQL Server 使用者的身分登入 SQL Server 執行個體,則 SQL Server Agent 可能無法啟動。

若要解決此問題,請將運行 SQL Server 的電腦重新開機。 這個動作只需要做一次。

限制 4:當 SQL Server Reporting Services 在相同電腦上執行時,則使用網路服務帳戶

如果您是在網路服務帳戶下執行 SQL Server Agent 服務,且 Reporting Services 也在相同電腦上執行,則 SQL Server Agent 可能無法啟動。

若要解決此問題,請將運行 SQL Server 的電腦重新開機,然後重新啟動 SQL Server 和 SQL Server Agent 服務。 這個動作只需要做一次。

常見工作

指定 SQL Server Agent 服務的啟動帳戶

指定 SQL Server Agent 的郵件設定檔

注意

使用 SQL Server 組態管理員,指定 SQL Server Agent 必須在啟動作業系統時啟動。