天天看點

SQLServerAgent 服務無法啟動問題

如果在特定的使用者帳戶下啟動 MSSQLServer 或 SQLServerAgent 服務遇到困難,可以:

  使用 Windows NT 使用者管理器驗證該計算機上的帳戶具有'作為服務登入'權限。(二者都必須在本地計算機的安全上下文中而不是在域中進行指派。)

  如果服務不是被 Windows NT 本地管理者組中的成員啟動,那麼服務帳戶必須有如下權限:

  完全控制主 Microsoft® SQL Server™ 目錄(預設情況下是 \Mssql)。

  完全控制 SQL Server 資料庫檔案,無論存儲位置在什麼地方。

  '作為服務登入'權限。確定所有登入時間在'登入時間'對話框中是允許的。

  完全控制 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer 及其下方的系統資料庫鍵值。

  選擇'密碼永不失效'框。

  完全控制 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer 及其下方的系統資料庫鍵值。

  完全控制 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib 及其下方的系統資料庫鍵值。

  如果服務沒有适當的權限,那麼某些功能就無法實作。例如,要寫入郵件槽,服務就必須有 Windows NT 域使用者帳戶,而不僅僅是本地系統上的賬戶,并且該賬戶具有網絡寫入特權。服務必須是有如下本地管理者特權的 Windows NT 帳戶:

  建立不屬于 sysadmin 固定伺服器角色成員的 SQL Server 代理 CmdExec 和 Microsoft ActiveX® 腳本作業。

  使用 SQL Server 代理的自動伺服器重新啟動功能。

  當伺服器空閑時,建立要運作的 SQL Server 代理作業。

  對于 MSSQLServer 服務,右擊伺服器,再單擊'屬性',然後單擊'安全'頁籤。在'啟動服務帳戶'框中輸入适當的帳戶和密碼。如果密碼不正确或已經改變,那麼直到輸入正确密碼,才能啟動服務。

  注意: 如果隻啟動 MSDTC 服務,那麼用'控制台'中的'服務'來重新輸入使用者帳戶密碼。如果密碼不正确或已經改變,那麼直到輸入正确密碼,才能啟動服務。如果有必要,可以使用'使用者管理器'來更改帳戶密碼,然後用'控制台'中的'服務'輸入這項服務的密碼。

  對于 SQLServerAgent 服務,先展開伺服器,然後展開'管理'。右擊'SQLServerAgent',然後單擊'屬性'指令。在'服務啟動賬戶'節的'正常'頁籤(預設值)上,輸入帳戶和密碼。

  把遇到問題的帳戶指派給另一個服務。如果在特定使用者帳戶下啟動 MSSQLServer 或 SQLServerAgent 服務仍然存在困難,把該賬戶指派給别的服務(例如,背景處理程式服務),并驗證該服務能否成功啟動。如果還是不能,那麼該帳戶或者沒有正确配置,或者不能被域控制器驗證(例如,沒有可用的域控制器)。