本文可帮助你解决 SQL Server 服务和SQL Server 代理服务可能无法在独立服务器上启动的问题。
原始产品版本:SQL Server
原始 KB 数: 307288
现象
问题 1: 在独立服务器上,MSSQLSERVER 服务可能无法启动,并收到以下错误消息:
An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the MSSQLServer Service.
问题 2: 同样,SQLServerAgent 服务也可能无法启动,并且收到以下错误消息:
An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the SQLServerAgent Service.
如果满足以下两个条件,则会出现问题 1 和 问题 2 :
- 服务器计算机位于工作组中,而不是域的一部分。
- MSSQLSERVER 和 SQLServerAgent 服务都设置为使用域帐户进行启动。
问题 3:在域成员服务器上,MSSQLSERVER 服务可能无法在服务器启动期间启动,并且会在事件 ID 为 7038 的事件查看器中收到以下消息:
The MSSQLSERVER service was unable to log on as domain\mssqlsvc with the currently configured password due to the following error: Source: NetLogon Description: There are currently no logon servers available to service the logon request. The MSSQLSERVER service terminated unexpectedly.
如果满足以下所有条件,则会出现此问题:
- 服务器是域的一部分。
- MSSQLSERVER 和 SQLServerAgent 服务都设置为使用域帐户进行启动。
- MSSQLSERVER 和 SQLServerAgent 的启动模式设置为 “自动”。
原因
出现问题 1 和 问题 2 ,因为服务器是独立计算机,NetLogon 服务不会在服务器上启动。 因此,无法进行域范围的登录身份验证。
出现问题 3 是因为 SQL Server 服务尝试在 NetLogon 服务启动之前启动。
解决方法
若要修复 问题 1 和 问题 2,请执行以下步骤:
- 将 MSSQLSERVER 和 SQLServerAgent 的启动帐户更改为使用本地系统帐户。
- 重新启动服务器。
备注
在独立计算机上,应为手动启动设置 NetLogon 服务。
若要修复 问题 3,请使用以下解决方法:
将 SQL Server 启动配置为 特定 Windows 服务器的延迟启动 。 其他 Windows 服务(如 NetLogon)首先完成,SQL Server 将启动且不会出现问题。
配置 SQL Server 启动以 重试。 可以在第二次启动尝试时完成启动。
将服务器上的所有网络接口的重复地址检测 (
-DadTransmits
) 值更改为1
。 有关详细信息,请参阅命令 Set-NetIPInterface 。更改 SQL Server 和 SQL Server 代理 服务的恢复选项。 指定 “重启服务 ”作为失败选项的操作。 你可以使用熟悉的“服务控制管理器”界面从“管理工具”的“服务”小程序执行此选项。
如果延迟启动选项无法修复问题 3,请将以下依赖项添加到 SQL Server 服务:
- Ip 帮助程序服务
- 服务器服务
- 网络列表服务
可以使用以下命令添加依赖项。 以下示例假定默认的 SQL Server 实例
MSSQLSERVER
。 对于命名实例,请使用MSSQL$INSTANCENAME
:sc.exe qc MSSQLSERVER ::view dependencies sc.exe config MSSQLSERVER depend=iphlpsvc/LanmanServer/netprofm sc.exe qc MSSQLSERVER ::view dependencies
第一个和第三个命令显示更改前后的依赖项。