10

SQL Server 2012 Express 的一个实例不知何故损坏了。
我怀疑它在某种程度上与我使用实体框架有关,但还没有证据。

尝试修复实例时,修复过程似乎卡在 SqlEngineConfigAction_repair_validation_Cpu64 步骤。
在那一步很长一段时间没有明显的CPU使用率,所以我最终取消了修复过程。

尝试删除实例时,卸载过程似乎挂在 SqlEngineConfigAction_remove_validation_Cpu64 步骤。

尝试安装第二个实例时,安装过程似乎挂在 SqlEngineDBStartConfigAction_install_configrc_Cpu64 步骤。

对于某些尝试,SQL Server 服务并未事先手动停止。对于其他尝试,服务被手动停止,并从“自动”更改为“手动”。

数据库损坏的症状,以防这有帮助:
“SQL Server (SQLEXPRESS)”服务在系统重新启动时的状态为“已启动”,但在使用“重新启动”选项手动重新启动服务时卡在“正在启动”状态。

当服务被手动停止然后启动时,它会显示这个错误:

Windows 无法在本地计算机上启动 SQL Server (SQLEXPRESS) 服务。错误 1053:服务未及时响应启动或控制请求。

SSMS (SQL Server Management Studio) 无法连接到实例。它要么永远尝试,不显示超时或错误,要么显示以下错误:

与服务器成功建立连接,但在登录前握手期间发生错误。(提供者:SSL 提供者,错误:0 - 等待操作超时。)(Microsoft SQL Server,错误:258)

编辑:我猜投反对票是因为这不是以问题的形式说明的。所以澄清一下,问题是如何解决修复、删除或安装过程挂起的问题?

EDIT2:作为后续,事实证明损坏的根本原因是在没有首先明确停止 SQL Server 服务的情况下关闭了 Windows 7 PC,即使当时没有积极使用 SQL Server Express。

EDIT3:问题似乎已在 SQL Server 2014 Express 中得到解决。

4

7 回答 7

9

这对我有用。

解决方案 1:
- 停止“SQL Server (SQLEXPRESS)”和“SQL Server VSS Writer”服务并将它们的启动类型设置为“手动”。
- 重新启动电脑。
- 运行修复过程。
- 将启动类型更改回“自动”并重新启动服务。

解决方案 2:
- 停止“SQL Server (SQLEXPRESS)”和“SQL Server VSS Writer”服务并将它们的启动类型设置为“已禁用”。
- 重新启动电脑。
- 运行删除进程以完全卸载 SQL Server Express(实例 + 共享组件)。
- 重新启动电脑。
- [可选] 运行您喜欢的注册表清理程序,例如 CCleaner。
- 安装 SQL Server Express(除非您的目标只是卸载它)。

注意:在解决方案 2 场景中,我在第一台 PC 重启后尝试了修复过程,但它卡在了步骤 SqlEngineConfigAction_repair_validation_Cpu64。

于 2015-02-01T19:27:58.307 回答
3

就我而言,卸载程序卡住的原因 SqlEngineConfigAction_repair_validation_Cpu64是SQL 服务器系统表中的文件路径无效。

为了纠正这个问题,允许卸载,这对我有用:

1)设置服务使用本地帐户(开始->本地服务-> SQL-Server->属性->登录->本地系统帐户)

2)按照这里的步骤: https ://social.technet.microsoft.com/wiki/contents/articles/31786.sql-server-not-starting-after-fresh-installation.aspx

3) 重试卸载。

如果上面的链接不可用,这里有一个简短的摘要:

  • 在恢复模式下启动 SQL server 服务: NET START MSSQL$SQLEXPRESS /f /T3608
  • 连接到服务器:SQLCMD -S .\SQLEXPRESS
  • 列出系统表中引用的文件: SELECT name, physical_name, state_desc FROM sys.master_files ORDER BY database_id;(go)
  • 无论文件路径指向无效的内容(例如丢失的驱动器),请使用以下方法对其进行调整:ALTER DATABASE model MODIFY FILE ( NAME = modeldev, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS01\MSSQL\DATA\model.mdf'); (go)请注意,文件具有不同的名称和不同的扩展名(.mdf,.ldf)
  • 退出sql server(退出)
  • 关闭服务NET STOP MSSQL$SQLEXPRESS
于 2016-10-17T08:11:25.080 回答
1

尝试 sbEnable=1

TechNet的这条建议对我有用:

以下 Registry-Key 必须设置为 1[...]:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat\sbEnable = 1

在我的情况下,注册表目录根本不存在。并且卸载仍然停留在该位置数(不到 10)分钟。但最终它继续并完成了。

于 2020-01-24T17:47:42.143 回答
1

我发现刚刚从任务管理器停止 SQL Server 后台进程以解除阻止它。SQL Server 实例似乎无法在 Services.msc 中停止

于 2020-09-25T07:01:27.097 回答
0

我安装了两个版本的 SQL Server。卸载一个后,它冻结在 SqlEngineConfigAction_remove_validation_Cpu64 上。对我有用的解决方案只是从媒体运行卸载。我猜在卸载一个版本后,它会弄乱卸载文件;所以从控制面板的其他卸载添加删除冻结。所以我安装了 SQLServer iso 并从那里运行

setup.exe /Action=Uninstall

请记住从添加/删除程序中卸载 SQL Server 的所有其他条目(当然,导致问题的条目除外,即 Microsoft SQL Server 2008 R2(64 位))。

供参考:

  1. 我已经在挂载的 iso 文件夹中执行了setup.exe /Action=Uninstall from cmd(以管理员身份运行)。
  2. 另外请在其他条目卸载后重新启动。这样所有的SQL服务都停止了。
  3. 确保在重新启动之前停止或禁用所有 SQL Server 服务。

于 2019-10-11T05:25:19.977 回答
0

在自定义安装中,将SQL Server Database Engine的帐户名称更改为“NT AUTHORITY\SYSTEM”修复了 SQL Server Express 2017 的此安装问题。

详情:http ://woshub.com/sql-server-database-engine-startup-handle/

于 2019-12-08T03:03:56.547 回答
0

就我而言,我试图卸载在SqlEngineDBStartConfigAction_install_configrc_Cpu64步骤安装期间卡住的 SQL Server 2008 R2 实例。卸载卡在SqlEngineConfigAction_remove_validation_Cpu64步骤。帮助我的是以下步骤:

  1. 开始菜单 -> 查看本地服务 -> SQLSERVER(YOUR INSTANCE NAME) -> 属性 -> 将启动类型设置为禁用。注意:服务在启动时被卡住。
  2. 重新启动计算机。
  3. 再次检查本地服务。现在 SQL Server 服务将不会处于启动状态。
  4. 现在再次卸载 SQL 服务器。

希望它有效。

于 2020-05-06T15:08:27.623 回答