在开发环境中,我们经常会遇到 SQL Server Evaluation(评估)版过期的问题。最直接的解决方案是将其升级到免费的 Developer(开发者)版。然而,这个过程并非总是一帆风顺。本文将详细复盘我在升级 SQL Server 2017 过程中遇到的“卡死”与“无法连接”问题,以及最终的解决思路。

问题背景

我的 SQL Server 2017 Evaluation 版即将过期,需要升级到 Developer 版以继续使用。按照常规流程,通过安装中心进行“版本升级”即可,但在实际操作中,升级程序多次卡死,进度条不动,甚至升级完成后无法连接数据库。

常见报错现象

在升级过程中,你可能会遇到以下两种典型情况:

  1. 升级卡死:任务管理器中 Sql Server Setup Bootstrapper 等进程 CPU 占用为 0,磁盘读写也为 0,安装界面长时间无响应。
  2. 升级后无法连接:升级显示“成功”,但打开 SSMS 连接时提示“无法连接到服务器”,错误信息为 Named Pipes Provider, error: 40

根本原因分析

经过排查,导致上述问题的主要原因有两点:

  • 残留进程干扰:之前的安装或升级尝试失败后,留下了僵死的 SQL Server 相关进程,锁定了系统资源。
  • 权限不足:直接双击 setup.exe 运行,未以管理员身份执行,导致安装程序无法修改系统级配置。

终极解决方案

以下是经过验证的、能够成功升级的步骤。请务必严格按照顺序操作。

第一步:彻底清理环境

在重新开始升级前,必须先“打扫战场”,确保没有残留进程干扰。

  1. 停止所有 SQL Server 服务

    • 按 Win + R,输入 services.msc 回车,打开“服务”管理器。
    • 找到以下服务,右键点击“停止”:
      • SQL Server (MSSQLSERVER)
      • SQL Server Agent (MSSQLSERVER)
      • SQL Server Analysis Services (MSSQLSERVER)
      • SQL Server Reporting Services
      • SQL Server Integration Services
    • 注意:如果某些服务停止失败,没关系,尽量停止能停止的即可。
  2. 结束所有相关进程

    • 打开任务管理器(Ctrl + Shift + Esc)。
    • 找到所有名字里带 SQL 的进程(如 Sql Server Setup BootstrapperSql Server Telemetry Client 等),右键“结束任务”。

第二步:以管理员身份运行安装程序

这是最关键的一步,也是很多人忽略的地方。

  1. 找到安装包:找到你下载的 SQL Server 安装包(.iso 文件),右键点击,选择“装载”。
  2. 定位 setup.exe:在弹出的资源管理器窗口中,找到 setup.exe 文件(通常位于 ~:\SQLServer2017Media\Evaluation_CHS 文件夹中)。
  3. 右键“以管理员身份运行”
    • 千万不要直接双击运行!
    • 必须右键点击 setup.exe,选择“以管理员身份运行”。

第三步:执行版本升级

  1. 在安装中心界面,选择左侧的“维护”,然后点击右侧的“版本升级”。
  2. 输入 Developer 版密钥:22222-00000-00000-00000-00000
  3. 勾选接受许可条款,点击“下一步”。
  4. 在“选择实例”页面,确保选中了你想要升级的实例(通常是默认实例 MSSQLSERVER)。
  5. 点击“升级”按钮,耐心等待。
    • 如何判断是否卡死:打开任务管理器,搜索 sqlserver,观察对应进程的 CPU 占用。如果长时间为 0,且磁盘读写也为 0,则说明可能卡死,需要重启电脑并重复上述步骤。

第四步:升级后验证与故障排除

升级完成后,如果仍然无法连接数据库,请按以下步骤检查:

  1. 检查服务状态

    • 再次打开 services.msc
    • 找到 SQL Server (MSSQLSERVER),确保其状态为“正在运行”。如果未运行,请手动启动。
  2. 检查网络协议

    • 打开“SQL Server 配置管理器”(SQLServerManager14.msc)。
    • 展开“SQL Server 网络配置” -> “MSSQLSERVER 的协议”。
    • 确保 TCP/IP 和 Named Pipes 均为“已启用”状态。
  3. 测试连接

    • 打开 SSMS,服务器名称输入 . 或 (local),尝试连接。

总结

SQL Server 的版本升级看似简单,但极易因权限不足或环境残留而失败。核心要点在于:

  • 彻底清理:停止所有服务和进程。
  • 管理员权限:必须右键“以管理员身份运行” setup.exe
  • 耐心观察:升级过程中留意任务管理器,及时发现卡死情况。

希望这篇复盘能帮助到遇到同样问题的你!

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐