2016-11-03 190 views
1

我将SQL 2014 Express升级到标准版而不更改实例名称。有一个成功,它似乎工作正常,除了SQL代理。从配置管理器从SQL EXPRESS升级到SQL标准后SQL Server代理程序无法启动

错误消息:

The request failed or the service did not respond in a timely fashion. Consult the event log or other applicable error logs details.

与服务器管理员用户正在尝试。内置帐户/本地服务也不起作用。

事件日志不会显示任何内容,除非它已打开然后关闭。

这就是我在细节中看到的。并没有告诉我任何事情:

  • Provider

    [ Name] SQLAgent$SQLEXPRESS

    • EventID 102

    [ Qualifiers] 16384 Level 4 Task 2 Keywords 0x80000000000000

试图从CMD拥有管理员权限运行它:

StartServiceCtrlDispatcher failed (error 0).

读的地方,试图关闭VIA协议。我没有任何称为VIA的协议。

任何想法?

感谢

+1

您是否检查安全日志?您可能正在使用无权作为服务运行的帐户。普通账户没有这个权限 –

+0

是的,这确实是该领域的一些东西。我巧合地解决了它。微软应该真的在处理他们的错误消息。并非所有事情都是谜语..:) – Vladi

回答

0

刚过我贴我检查了安全性,并发现了BUILTIN \ USERS没有系统管理员权限..

加入后,它会得到解决!

0

当我将SQL Server 2017从Express升级到标准时,我遇到了类似的问题。即使在升级之后,SQL Server代理也不会启动。

我在的SQLAgent日志 错误消息(C:\ Program Files文件\ Microsoft SQL Server的\ MSSQL14.SQL2017EXPRESS \ MSSQL \ LOG)

2017-12-18 16:21:06 - ! [298] SQLServer Error: 229, The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (DisableAgentXPs)

更改SQL代理服务登录帐户为“本地系统“不起作用(如你所描述的)。

最终,对我而言,将登录帐户更改为“NT Service \ MSSQL $ SQL2017EXPRESS”的作品。

此用户是在安装期间命名SQL Server“SQL2017EXPRESS”时创建的。如果打开SSMS,连接到数据库实例并打开Security-> Logins,则应该能够找到有权访问系统数据库(msdb)的数据库NT服务用户的列表。尝试将其中一个用户用作SQL代理服务的登录用户。

我想你安装标准版,它会创建一个用户调用NT Service \ MSSQLAgent $ 2014。

在研究过程中,我尝试了这个article的指令。它显示使用Sql Server配置管理器来更改登录用户不适合我。相反,将登录用户从管理员 - >查看本地服务工作。