1. 程式人生 > 實用技巧 >SQL 代理服務無法啟動

SQL 代理服務無法啟動

問題現象

如下是系統日誌和SQL Agent的日誌

SQLServerAgent could not be started (reason: 無法連線到伺服器“(local)”;SQLServerAgent 無法啟動)

2016-05-20 11:09:03 - ? [100] Microsoft SQLServerAgent 版本 11.0.3000.0 (內部版本號 X64 unicode 零售): 程序 ID 3568
2016-05-20 11:09:03 - ? [495] SQL Server 代理啟動服務帳戶是 WORKGROUP\iZ23egtmtrmZ$。
2016-05-20 11:09:03 - ! [150] SQL Server 不接受連線(錯誤: 18456)。請等待 SQL Server 允許連線。嘗試的操作為: 啟動時驗證連線。
2016-05-20 11:09:03 - ! [000] 無法連線到伺服器“(local)”;SQLServerAgent 無法啟動
2016-05-20 11:09:03 - ! [298] SQLServer 錯誤:  18456,使用者 'NT AUTHORITY\ANONYMOUS LOGON' 登入失敗。 [SQLSTATE 28000] 
2016-05-20 11:09:03 - ! [382] 無法登入到伺服器“(local)”(DisableAgentXPs)
2016-05-20 11:09:03 - ? [098] SQLServerAgent 已終止(一般)

解決方法

在登錄檔中,定位到SQL Agent的ServerHOST屬性:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.SQL2012\SQLServerAgent\ServerHost

其中MSSQL.X表示例項資訊,其命名規則為:MSSQL版本號.例項名,如我機器上的MSSQL11.SQL2012,你機器上的例項名可能不同,另外,如果你的主機上安裝了多個例項,也會有多個這樣的選項,請根據實際情況查詢,或者直接使用CTRL+F查詢ServerHost關鍵字。

雙擊開啟ServerHOST屬性,在“數值資料”下填入np:servername

其中servername就是伺服器的主機名。

最後再去啟動SQL Server Agent,便可以了。