重要
在 Azure SQL 受控實例上,目前支援大部分但並非所有 SQL Server Agent 功能。 如需詳細資訊,請參閱 與 SQL Server 的 Azure SQL 受控實例 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 Server 中,SQL Server Agent 服務執行的帳戶需要下列許可權來支援 SQL Server Agent 代理。
- 略過遍歷檢查的權限 (
SeChangeNotifyPrivilege
) - 替換進程級別令牌的權限(
SeAssignPrimaryTokenPrivilege
) - 調整程序記憶體配額的權限 (
SeIncreaseQuotaPrivilege
) - 從網路存取這部電腦的權限(
SeNetworkLogonRight
)
- 略過遍歷檢查的權限 (
如果帳戶沒有支援 Proxy 所需的許可權,則只有 系統管理員成員 固定伺服器角色可以建立作業。
若要接收 Windows Management Instrumentation (WMI) 警示通知,SQL Server Agent 的服務帳戶必須已被授予包含 WMI 事件的命名空間許可權,並ALTER ANY EVENT NOTIFICATION
。
SQL Server 角色成員資格
根據預設,SQL Server Agent 服務帳戶會對應至預設的 SQL Server Agent 服務 SID (NT SERVICE\SQLSERVERAGENT
),這是 系統管理員 固定伺服器角色的成員。 如果使用多伺服器作業處理,帳戶也必須是主伺服器上 msdb
資料庫角色的成員。 主伺服器精靈會自動將服務帳戶新增至此角色,作為登記程式的一部分。
支援的服務帳戶類型
下表列出可用於 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:針對多伺服器管理使用非系統管理帳戶
將目標伺服器編列到主伺服器可能會失敗,並出現下列錯誤訊息:The enlist operation failed.
若要解決此錯誤,請重新啟動 SQL Server 和 SQL Server Agent 服務。 如需詳細資訊,請參閱 啟動、停止、暫停、繼續和重新啟動 SQL Server 服務。
限制 2:使用本機系統帳戶進行多伺服器管理
只有在主伺服器和目標伺服器都位於同一部計算機上時,才支援 SQL Server Agent 服務在本機系統帳戶下執行多伺服器管理。 如果您使用此組態,當您將目標伺服器編列到主伺服器時,會傳回下列訊息:
Ensure the agent start-up account for <target_server_computer_name> has rights to log on as 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 組態管理員,以指定 SQL Server Agent 必須在操作系統啟動時啟動。