選取 SQL Server Agent 服務的帳戶
服務啟動帳戶會定義 SQL Server Agent 用來執行的 Microsoft Windows 帳戶及其網路權限。 SQL Server Agent 會以指定的使用者帳戶執行。 您可以使用 SQL Server 組態管理員選擇下列選項,藉此選取 SQL Server Agent 服務的帳戶:
[內建帳戶]。 您可從下列內建 Windows 服務帳戶的清單中進行選擇:
[本機系統] 帳戶。 這個帳戶的名稱是 NT AUTHORITY\System。 它是功能強大的帳戶,可不受限制地存取所有本機系統資源。 這個帳戶是本機電腦上的 Windows Administrators 群組成員,因此也是 SQL Server 系統管理員 (sysadmin) 固定伺服器角色的成員。
安全性注意事項 [本機系統帳戶] 選項僅用於回溯相容性。 本機系統帳戶具有 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)
取代處理序層級 Token 的權限 (SeAssignPrimaryTokenPrivilege)
調整處理序之記憶體配額的權限 (SeIncreaseQuotaPrivilege)
使用批次登入類型登入的權限 (SeBatchLogonRight)
[!附註]
如果帳戶沒有支援 Proxy 所需的權限,則只有系統管理員 (sysadmin) 固定伺服器角色的成員可以建立作業。
[!附註]
若要接收 WMI 警示通知,必須授與 SQL Server Agent 的服務帳戶對於包含 WMI 事件之命名空間的權限,以及 ALTER ANY EVENT NOTIFICATION 的權限。
SQL Server 角色成員資格
用來執行 SQL Server Agent 服務的帳戶必須是下列 SQL Server 角色的成員:
帳戶必須是系統管理員 (sysadmin) 固定伺服器角色的成員。
若要使用多伺服器作業處理,帳戶必須是主要伺服器上 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 請參閱下列限制 1。
2 請參閱下列限制 2。
3 請參閱下列限制 3。
4 請參閱下列限制 4。
限制 1:對於多伺服器管理使用非管理帳戶
在主要伺服器上編列目標伺服器可能失敗,並出現下列錯誤訊息:「編列作業失敗」。
若要解決此錯誤,請重新啟動 SQL Server 和 SQL Server Agent 服務。 如需詳細資訊,請參閱<啟動、停止、暫停、繼續、重新啟動 Database Engine、SQL Server Agent 或 SQL Server Browser 服務>。
限制 2:對於多伺服器管理使用本機系統帳戶
當 SQL Server Agent 服務在本機系統帳戶下執行時支援多伺服器管理,但前提是主要伺服器和目標伺服器都必須位於相同電腦上。 如果您使用此組態,則當您在主要伺服器上編列目標伺服器時會傳回下列訊息:
「請確定 <target_server_computer_name> 的代理程式啟動帳戶有權限以 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 必須在啟動作業系統時啟動。