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

SQL Server安装故障求助:Database Engine Services失败,出现对象引用未实例化错误

解决SQL Server 2016/2017安装时Database Engine Services失败的问题

看到你在安装SQL Server 2016和2017的企业版、开发版时,反复碰到Database Engine Services安装失败,错误提示是*"Object reference not set to an instance of an object"*,而且已经确认过.NET Framework 3.5和4都已启用,日志也没找到有效线索——这个问题确实挺棘手的,我之前帮同事排查过类似情况,分享几个亲测有效的解决思路:

  • 彻底清理之前的SQL Server残留
    很多时候这类安装失败都是旧安装的残留文件/注册表项干扰导致的:

    1. 先用SQL Server官方卸载工具(可在安装介质的Setup\SQLServer2017\x64\Setup Bootstrap\SQLServer2017目录找到SQLServerSetup.exe,选择卸载)移除所有相关组件
    2. 手动删除以下路径的残留文件夹:
      • C:\Program Files\Microsoft SQL Server
      • C:\Program Files (x86)\Microsoft SQL Server
      • C:\ProgramData\Microsoft\SQL Server(这是隐藏目录,需先开启显示隐藏文件)
    3. 谨慎清理注册表:打开regedit,备份后删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL ServerHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server下的相关键值
  • 修复系统组件和.NET环境
    系统文件损坏或.NET Framework异常也可能引发这个错误:

    • 以管理员身份打开命令提示符,依次运行:
      dism /online /cleanup-image /restorehealth
      sfc /scannow
      
    • 重新安装.NET Framework 3.5和4.8(建议下载官方离线安装包,避免在线安装的网络问题)
  • 调整安装介质的使用方式
    如果是用ISO镜像直接挂载安装,建议把镜像内容完整提取到本地非系统盘的一个文件夹(比如D:\SQL_Setup),然后右键点击setup.exe选择以管理员身份运行,同时在兼容性设置里勾选“以Windows 7兼容模式运行”(部分Win10/Win11环境下能解决兼容性冲突)

  • 修改服务账户配置
    在安装向导的「服务器配置」步骤中,不要使用默认的NT SERVICE\MSSQLSERVER账户,尝试切换为本地管理员账户(域环境用域管理员),确保账户拥有创建服务、访问系统目录的完整权限

  • 启用详细安装日志定位问题
    摘要日志信息有限,你可以通过命令行启动安装并生成详细日志:

    setup.exe /ACTION=INSTALL /FEATURES=SQLEngine /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS="你的管理员账户名" /LOGPATH="D:\SQL_Install_Logs" /INDICATEPROGRESS
    

    安装失败后,去D:\SQL_Install_Logs目录查看详细日志,搜索"Object reference"附近的内容,通常能找到具体是哪个组件或配置环节出了问题

如果以上方法都不行,还可以尝试检查Windows事件查看器里的「应用程序日志」,看看安装失败时有没有相关的错误事件,可能会有更明确的提示。

内容的提问来源于stack exchange,提问作者Kristian

火山引擎 最新活动