服务依赖缺失导致 SQL Server 起不来怎么修?
SQL Server 服务因依赖服务未启动或被禁用而起不来的判断与修复:依赖关系查看、强制启动顺序、依赖损坏的应急处理。
简短答案
SQL Server 引擎本身几乎不依赖其他 Windows 服务(共享内存协议依赖的依赖很少),但安装过程中可能被写入依赖项,或被系统安全工具、域策略改过。服务启动报「依赖服务不存在或未启动」类错误时,先看属性里的依赖列表,逐个把缺失的依赖启动或移除。
现象对照
| 现象 | 原因 | 处理 |
|---|---|---|
| 启动提示 1075(依赖服务不存在) | 依赖列表里有被卸掉的组件 | 从依赖列表移除该项 |
| 启动提示 1068/1053(无法启动) | 依赖服务未运行或被禁用 | 启动依赖服务并设自动 |
| 域环境里启动延迟明显 | 域控/AD 相关依赖 | 检查域控可达性 |
处理步骤
services.msc→ SQL Server 服务属性 → 「依赖项」页签,看依赖了哪些服务。- 逐个核对依赖服务状态:
services.msc里找同名服务,看是否存在、是否被禁用;被禁用的改自动并启动。 - 依赖项指向已被卸载的组件(如旧版客户端共享组件残留):编辑 SQL Server 服务的注册表依赖项,移除失效项后重启服务。
- 用 PowerShell 快速核对:
Get-Service "MSSQLSERVER" | Select-Object Status, StartType
sc.exe qc MSSQLSERVER | findstr DEPEN
- 修复后启动服务,在 SSMS 里验证可连;各版本服务结构见 SQL Server 2022 Developer、SQL Server 2025 Developer 条目页。
正常安装的默认实例依赖列表很短;如果列表长得出奇,多半是历史卸载残留或组策略写入,逐项核实再删,不要整列清空。
操作小结
- 看「依赖项」页签,逐个核对依赖服务是否存在、是否运行。
- 失效依赖从注册表依赖项中移除。
- 修完重启服务,SSMS 连上验证。