問題
有一天,我們發現SQL Server代理程序在SSMS“SQL Server代理程序(Agent XPs已禁用)”中為我們的SQL Server實例之一停止了以下消息,但該服務正在根據服務控制台運行。我試圖從SQL Server Management Studio啟動服務,但這不起作用。什么是問題,我該如何解決這個問題?
大多數情況,最直接的辦法是,看看Agent服務是否開啟。
解
有一天我改變了我們的一個SQL Server實例的實現。更改之后,我從services.msc控制台啟動了所有SQL Server服務,並且所有事情都已成功啟動。但是當我啟動SQL Server Management Studio時,SQL Server Agent顯示未與'Agent XPs disabled'消息一起運行,如下所示。我試圖從SSMS重新啟動服務,但沒有奏效。有趣的是,當我在services.msc控制台中查看服務時,服務顯示為“開始”。

由於SQL Server Agent未在SSMS中運行,因此我們無法訪問任何內容,如作業,錯誤日志等等。
看來,當'Agent XPs'高級配置選項被禁用並且為SQL Server配置設置為0時,會出現此問題。
代理XP是一種高級配置選項,它使服務器上的SQL Server代理擴展存儲過程成為可能。未啟用時,SQL Server Agent將不會在SSMS中處於活動狀態。大多數情況下,當您啟動SQL Server服務時,它會自動啟用“Agent XP”,但有時無法啟用或設置值為0,則會出現此問題。
要解決這個問題,我們應該首先將'Agent XPs'設置為1,然后運行RECONFIGURE以使其生效。
步驟1.
運行sp_configure以檢查“Agent XPs”的值。
EXEC SP_CONFIGURE'Agent XPs'

步驟2
以上屏幕截圖顯示此實例未啟用高級選項,因此我們必須先啟用高級選項才能看到所有高級配置值。
EXEC SP_CONFIGURE'顯示高級選項',1GO RECONFIGUREGO EXEC SP_CONFIGURE'顯示高級選項'

您可以看到'show advanced options'設置為1,這意味着高級選項已啟用,並且我們可以查看和更改這些值。
步驟3
再次運行sp_configure以檢查Agent XP的值。在這里我們可以看到運行值被設置為0。

現在我們需要將此設置從0更改為1,以在SQL Server Management Studio中運行SQL Server代理。
EXEC SP_CONFIGURE'Agent XPs',1GO RECONFIGURE

第4步
現在,從SQL Server配置管理器重新啟動您的SQL Server代理服務。這次服務應該出現,我們可以成功訪問SQL Server代理的所有內容。

下一步
- 始終使用SQL Server配置管理器啟動SQL Server服務
- 如果您在SQL Server中收到此消息,請檢查配置設置以啟用Agent XP
- 閱讀SQL Server代理上的其他文章
轉載自:https://www.mssqltips.com/sqlservertip/2729/how-to-start-sql-server-agent-when-agent-xps-show-disabled/