我将SQL 2014 Express
升级为Standard edition
而不更改实例名称。取得了成功,似乎工作正常,除了SQL AGENT
。
配置管理器的错误消息:
请求失败或服务没有及时响应。 请参阅事件日志或其他适用的错误日志详细信息。
尝试使用服务器管理员用户。内置帐户/本地服务也不起作用。
事件日志除了打开然后关闭外没有显示任何内容。
这就是我在DETAILS中看到的。不告诉我任何事情:
提供商
[Name] SQLAgent $ SQLEXPRESS
- EventID 102
[资格赛] 16384 4级 任务2 关键字0x80000000000000
尝试使用管理员权限从CMD运行它:
StartServiceCtrlDispatcher失败(错误0)。
读取某处以尝试关闭VIA协议。我没有任何称为VIA的协议。
有什么想法吗?
由于
答案 0 :(得分:1)
刚发布后我检查了安全性,发现BUILTIN \ USERS没有sysadmin权限..
添加后,它已解决!
答案 1 :(得分:1)
当我将SQL Server 2017从Express升级到Standard时,我遇到了类似的问题。即使在升级之后,SQL Server代理也无法启动。
我在SQLAgent日志中出现错误消息 (C:\ Program Files \ Microsoft SQL Server \ MSSQL14.SQL2017EXPRESS \ MSSQL \ Log)
2017-12-18 16:21:06 - ! [298] SQLServer错误:229,对象'sp_sqlagent_update_agent_xps',数据库'msdb',架构'dbo'上的EXECUTE权限被拒绝。 [SQLSTATE 42000](DisableAgentXPs)
将SQL代理服务登录帐户更改为“本地系统”不起作用(如您所述)。
最终对我有用的是将登录帐户更改为“NT Service \ MSSQL $ SQL2017EXPRESS”。
此用户是在安装期间命名SQL Server“SQL2017EXPRESS”时创建的。如果打开SSMS,连接到数据库实例,并打开Security-> Logins,您应该能够找到可以访问系统数据库(msdb)的数据库NT服务用户列表。尝试将其中一个用户用作SQL代理服务的登录用户。
我认为您安装了标准版,它会创建一个用户调用NT Service \ MSSQLAgent $ 2014。
在研究期间,我尝试了article中的说明。它似乎使用Sql Server配置管理器来更改登录用户不适合我。相反,从管理员 - >查看本地服务更改登录用户。
答案 2 :(得分:0)
我知道这很晚了,但是我希望它将来对某人有帮助。从Express升级到Standard后,对我有用的修复程序是从SQL Server安装中心的Maintenance节点运行Repair选项(参见图片)。修复完成并重新启动完成后,代理将按预期工作。
Use Repair option from the Maintenance page of the SQL Server Installation Center
答案 3 :(得分:0)
从Express升级到Standard后,我在SQL 2019中也遇到了同样的问题。从安装维护部分进行修复为我固定了代理。