本文有助于解决在使用 NIC 组合的计算机上服务不会自动重启的问题。
适用于: Windows Server 2016、Windows Server 2022原始 KB 数: 4552864
现象
在使用 NIC(网络接口卡)组合的计算机上,你注意到计算机重启后不会自动启动多个服务。
例如,SQL Server 服务不会自动启动。 以下条目记录在系统日志中:
日志名称: 系统 源: 服务控制管理器 日期:<date> 事件 ID:7038 任务类别:无 级别: 错误 关键字:经典 用户:无 计算机: <计算机名称> 说明: 由于以下错误,MSSQLxxxx 服务无法以当前配置的密码以 xxxxx/xxxxx 身份登录: 指定的域不存在,或无法访问。
若要确保服务配置正确,请使用Microsoft管理控制台(MMC)中的服务管理单元。
中断 NIC 组合可以解决问题。
原因
以显示了问题的发生方式:
- NIC 组合驱动程序由服务控制管理器(SCM)控制。 这意味着在启动 SCM 后调用 NIC 组合驱动程序以启动。
- 单个 NIC 驱动程序不受 SCM 控制。 因此,可以在 SCM 启动之前启动和初始化它们。
- 如果未配置 NIC 组合,则单个 NIC 可以在任何系统服务启动之前配置 IP 地址。 这是因为 NIC 没有任何服务依赖项。 这会导致 IP 地址在运行任何服务之前准备就绪。
- 如果配置了 NIC 组合,则可以初始化组合 NIC,并且 IP 地址和网络只能在服务启动后准备就绪。
- 默认情况下,将 IP 地址添加到 NIC 后,无论使用单个 NIC 还是组合 NIC,执行 DAD 需要三秒钟(重复地址检测)。 之后,IP 地址和网络已准备就绪。
- 默认情况下,网络就绪前至少需要三秒的时间。
- 在功能强大的计算机上,所有服务都可以在几秒钟内启动(甚至一秒)。 因此,在某些情况下,你可能会注意到某些服务(如 SQL Server 服务)无法自动启动,因为网络尚未准备就绪。
解决方法
若要解决此问题,请使用以下方法之一:
- 将服务的启动类型设置为**“自动”(延迟启动)。**
- 创建一个计划任务,以便在计算机重启后启动 SQL Server 服务,并为任务设置一分钟的延迟。
- 在计算机上禁用 DAD。
如果问题涉及 SQL Server 服务,请更改 SQL 服务的恢复属性以在首次失败时执行操作,并在第二次失败时重启服务。