SQL Server Agent修改登录为Managed Service Account后无法启动求助
解决方案步骤
1. 先解决无法修改服务登录身份的WMI报错问题
不要通过SQL Server配置管理器修改账号,直接用Windows服务控制台或命令行操作:
- 按下Win+R输入
services.msc打开服务控制台,找到SQL Server Agent对应实例服务(默认实例名是SQLSERVERAGENT,命名实例是SQLAgent$实例名) - 右键属性直接切换到「登录」选项卡修改账号密码,点击确认即可跳过WMI Provider报错
- 如果服务控制台仍报错,用管理员权限打开CMD执行以下命令修改登录身份:
sc config "SQLSERVERAGENT" obj= "DOMAIN\账号名" password= "账号密码"
注意obj=后面有1个空格不能省略,命名实例把服务名换成对应SQLAgent$实例名即可
2. 解决MSA账号启动SQL Agent的日志访问报错问题
你之前仅配置了文件夹的部分权限,需要补充以下配置:
- 给SQL Agent日志所在文件夹,给MSA账号添加完全控制权限,同时勾选「替换子容器和对象的权限」,确保现有历史日志文件也继承了对应权限
- 取消SQL Agent日志文件夹的只读属性
- 权限配置时如果搜索不到MSA账号,需要在账号选择框的「对象类型」里勾选「服务账户」后再搜索
- 配置完成后重启服务器再尝试启动SQL Agent服务
3. 额外验证项
- 检查SQL Agent日志目录路径是否存在空格或特殊字符,如果有可以先临时修改注册表中
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLxx.实例名\SQLServerAgent下的ErrorLogFile值到简单路径比如C:\SQLAgentLog\测试启动 - 确认MSA账号在SQL实例中拥有
sysadmin服务器角色权限,缺少SQL实例层面权限也会导致初始化失败
内容的提问来源于stack exchange,提问作者L.Newell
相关产品推荐
相关产品推荐

