你的位置:首页 > 数据库

[数据库]SQL Agent服务无法启动如何破


问题现象

从阿里云上镜像过来的一台的数据库服务器,SQL Agent服务启动不了,提示服务启动后停止。(原数据库服务器是正常的,怀疑跟镜像有关)

 

image

 

如下是系统日志和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 35682016-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\MSSQL12.SQL2014\SQLServerAgent\ServerHost

其中MSSQL.X表示实例信息,其命名规则为:MSSQL版本号.实例名,如我机器上的MSSQL12.SQL2014,你机器上的实例名可能不同,另外,如果你的主机上安装了多个实例,也会有多个这样的选项,请根据实际情况查找,或者直接使用CTRL+F查找ServerHost关键字。

双击打开ServerHOST属性,在“数值数据”下填入np:servername

image

其中servername就是服务器的主机名。

最后再去启动SQL Server Agent,便可以了。