升级Windows 11后SQL Server服务无法启动求助
解决SQL Server在Windows 11无法启动(sqllang.dll故障)的方案
1. 修复系统文件
Windows 11升级可能导致系统文件损坏,影响SQL Server依赖组件:
- 以管理员身份打开命令提示符,执行:
sfc /scannow - 扫描完成后,再执行DISM修复:
DISM /Online /Cleanup-Image /RestoreHealth - 重启电脑后尝试启动SQL Server服务。
2. 配置实例目录权限
sqllang.dll故障常和权限不足相关:
- 定位SQL Server安装目录(例:
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL) - 右键文件夹选择「属性」→「安全」选项卡
- 确认
NT Service\MSSQLSERVER(命名实例为NT Service\MSSQL$<实例名>)账户拥有完全控制权限 - 若账户不存在,点击「编辑」→「添加」,输入账户名并验证,赋予完全控制权限后应用设置,重启服务。
3. 查看SQL Server错误日志获取详情
事件查看器信息有限,检查SQL Server自带日志:
- 日志路径通常为
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG - 用记事本打开,查找启动失败时段的具体报错,重点关注
sqllang.dll相关的错误码或描述,定位精准问题(如数据库文件损坏、资源不足)。
4. 修复系统数据库
若系统数据库(master、model、msdb)损坏导致组件加载失败:
- 以管理员身份打开命令提示符,进入SQL Server的Binn目录:
cd "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn" - 单用户模式启动SQL Server:
sqlservr.exe -m - 保持该窗口打开,另开一个管理员命令提示符,启动sqlcmd连接:
sqlcmd -S .\MSSQLSERVER - 执行系统数据库修复(替换为你的安装介质路径):
USE master; GO ALTER DATABASE model SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO RESTORE DATABASE model FROM DISK = 'D:\SQL2019\Setup\SQLServer2019\x64\Setup\model.mdf' WITH REPLACE; GO ALTER DATABASE model SET MULTI_USER; GO - 关闭两个命令提示符窗口,重新启动SQL Server服务。
5. 临时禁用Windows Defender实时保护测试
Win11 Defender可能误拦截SQL Server核心文件:
- 打开「Windows安全中心」→「病毒和威胁防护」→「管理设置」
- 临时关闭「实时保护」,尝试启动SQL Server服务
- 若服务启动成功,将SQL Server的Binn目录(
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn)添加到Defender排除项,再重新开启实时保护。
内容的提问来源于stack exchange,提问作者rgv
相关产品推荐
相关产品推荐

