Agent XPs disable
问题
有一天,我们发现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代理程序在代理程序XP禁用时停止](https://www.mssqltips.com/tipimages2/2729_SQL_Agent_showing_stopped.jpg)
由于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'
![运行SP_configure来检查Agent XP的值](https://www.mssqltips.com/tipimages2/2729_Check_Agent_xps_without_advance_options_enable.jpg)
步骤2
以上屏幕截图显示此实例未启用高级选项,因此我们必须先启用高级选项才能看到所有高级配置值。
EXEC SP_CONFIGURE'显示高级选项',1GO RECONFIGUREGO EXEC SP_CONFIGURE'显示高级选项'
![启用sp_configure中的所有高级选项](https://www.mssqltips.com/tipimages2/2729_Enable_advanced_options.jpg)
您可以看到'show advanced options'设置为1,这意味着高级选项已启用,并且我们可以查看和更改这些值。
步骤3
再次运行sp_configure以检查Agent XP的值。在这里我们可以看到运行值被设置为0。
![check_Agent_XPs值](https://www.mssqltips.com/tipimages2/2729_check_Agent_xps_value.jpg)
现在我们需要将此设置从0更改为1,以在SQL Server Management Studio中运行SQL Server代理。
EXEC SP_CONFIGURE'Agent XPs',1GO RECONFIGURE
![在sp_configure中启用Agent XP高级选项](https://www.mssqltips.com/tipimages2/2729_Enable_agent_XPs.jpg)
第4步
现在,从SQL Server配置管理器重新启动您的SQL Server代理服务。这次服务应该出现,我们可以成功访问SQL Server代理的所有内容。
![SQL Server代理启动](https://www.mssqltips.com/tipimages2/2729_SQL_agnet_started.jpg)
下一步
- 始终使用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/