You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SQL Server服务无法启动且数据库引擎无法访问的紧急求助

SQL Server服务无法启动且数据库引擎无法访问的紧急求助

别慌,这种电脑崩溃后SQL服务启动失败、数据库连不上的情况,大多是系统或SQL关键文件损坏、配置异常导致的,我给你列几个优先级高的排查修复步骤,你一步步来试试:

1. 先查SQL Server错误日志,揪出启动失败的核心原因

服务启动失败的具体原因肯定会写在SQL的错误日志里,找它的方法很简单:

  • 打开文件资源管理器,导航到SQL Server的默认日志路径(比如C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Log,具体路径得根据你的SQL版本和实例名调整)
  • 找到ERRORLOG或者ERRORLOG.1文件,用记事本打开,直接拉到最底部看最新的几条日志,里面会明确告诉你为啥启动失败——比如文件损坏、权限不够、依赖组件丢了之类的。

2. 修复内核电源崩溃导致的系统文件损坏

你提到有Microsoft-Windows-Kernel-Power的严重错误,说明崩溃时大概率弄坏了系统或SQL相关的系统文件,先把系统修好:

  • 以管理员身份打开命令提示符(Win+R输入cmd,右键选“以管理员身份运行”)
  • 先运行系统文件扫描修复命令:sfc /scannow,等它扫描完,会自动修复找到的损坏文件
  • 如果sfc搞不定,接着运行DISM命令:DISM /Online /Cleanup-Image /RestoreHealth,这个会从官方源修复系统镜像,解决更深层的系统问题。

3. 检查SQL服务的权限配置

崩溃后可能会导致服务账户的权限丢失,这也是服务启动不了的常见原因:

  • 按Win+R输入services.msc打开服务管理器
  • 右键点MSSQLSERVER或者MSSQL$SQLEXPRESS服务,选“属性”→“登录”选项卡
  • 确认服务账户是系统内置的NT Service\MSSQLSERVER(对应默认实例)或NT Service\MSSQL$SQLEXPRESS(对应Express实例),如果之前改了其他账户,试着切回系统内置账户,然后再重启服务
  • 另外,别忘了检查这个服务账户对SQL的安装目录、数据目录(默认是C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA)有没有读写权限。

4. 尝试修复SQL Server实例本身

如果是SQL自己的二进制文件损坏了,用安装程序修复就行:

  • 找到对应版本的SQL Server安装包(没有的话下载对应版本的安装介质)
  • 运行安装程序,选“维护”→“修复”,跟着向导一步步走,这个过程会自动修复损坏的SQL核心文件。

5. 紧急恢复数据的备选方案(如果前面都没用)

要是你急着拿数据,服务死活启动不了的话,可以试试这个:

  • 先找到SQL的数据文件(.mdf.ldf,默认在刚才说的DATA目录里)
  • 把这些文件复制到安全的地方(比如外接U盘、硬盘)
  • 找另一台正常的SQL Server机器,打开SSMS,右键“数据库”→“附加”,选择你复制过来的.mdf文件,按提示操作就行——如果.ldf文件损坏了,可以试试只附加.mdf,让SQL自动重建日志文件。

要是在排查过程中看到具体的错误提示(比如错误日志里的内容),可以把内容贴出来,这样能更精准地帮你定位问题~

备注:内容来源于stack exchange,提问作者tobymax

火山引擎 最新活动