SQL Server 服务和 SQL Server 代理服务无法在独立服务器上启动
本文可帮助你解决 SQL Server 服务和SQL Server 代理服务可能无法在独立服务器上启动的问题。
原始产品版本:SQL Server
原始 KB 数: 307288
现象
问题 1:在独立服务器上,MSSQLSERVER 服务可能无法启动,并收到以下错误消息:
错误 1068 - (依赖项服务或组未能启动。)在 MSSQLServer 服务上执行此服务操作时发生。
问题 2:同样,SQLServerAgent 服务也可能无法启动,并且收到以下错误消息:
错误 1068 - 在 SQLServerAgent 服务上执行此服务操作时出错(依赖项服务或组无法启动。)。
如果满足以下两个条件,则会出现问题 1 和问题 2:
- 服务器计算机位于工作组中,而不是域的一部分。
- MSSQLSERVER 和 SQLServerAgent 服务都设置为使用域帐户进行启动。
问题 3:在域成员服务器上,MSSQLSERVER 服务可能无法在服务器启动期间启动,并且你在事件 ID 为 7038 的事件查看器中收到以下消息:
由于以下错误,MSSQLSERVER 服务无法以域\mssqlsvc 身份登录,因为出现以下错误:源:NetLogon 说明:当前没有可用于为登录请求提供服务的登录服务器。 MSSQLSERVER 服务意外终止。
如果满足以下所有条件,则会出现此问题:
- 服务器是域的一部分。
- MSSQLSERVER 和 SQLServerAgent 服务都设置为使用域帐户进行启动。
- MSSQLSERVER 和 SQLServerAgent 的启动模式设置为“自动”。
原因
出现问题 1 和问题 2 的原因是服务器是独立的计算机,NetLogon 服务不会在服务器上启动,因此不可能进行域范围的登录身份验证。
出现问题 3 是因为 SQL Server 服务尝试在 NetLogon 服务启动之前启动。
解决方法
若要修复问题 1 和问题 2,请执行以下步骤:
将 MSSQLSERVER 和 SQLServerAgent 的启动帐户更改为使用本地系统帐户。
重新启动服务器。
若要修复问题 3,请使用以下解决方法:
将 SQL Server 启动配置为 特定 Windows 服务器的延迟启动 ,其他 Windows 服务(如 NetLogon 首先完成),SQL Server 启动时不会出现问题。
将 SQL Server 启动配置为 重试,可以在第二次启动尝试时完成启动。
将服务器上所有网络接口的“重复地址检测”(-DadTransmits) 值更改为 1。 有关详细信息,请参阅命令 Set-NetIPInterface 。
更改 SQL Server 和 SQL Server 代理 服务的恢复选项。 指定 “重启服务 ”作为失败选项的操作。 你可以使用熟悉的“服务控制管理器”界面从“管理工具”的“服务”小程序执行此选项。
如果延迟启动选项无法修复此问题 3,则可以将以下依赖项添加到 SQL Server 服务:
- Ip 帮助程序服务
- 服务器服务
- 网络列表服务
可以使用以下命令添加依赖项:
sc.exe qc MSSQLSERVER ::view dependencies sc.exe config MSSQLSERVER depend=iphlpsvc/LanmanServer/netprofm ::add service dependencies
详细信息
在独立计算机上,应为手动启动设置 NetLogon 服务。