SQL Server 2012 Express的修复/删除/安装过程卡住或挂起

时间:2015-02-01 19:06:06

标签: sql-server sql-server-express repair

SQL Server 2012 Express的一个实例在某种程度上被破坏了 我怀疑它在某种程度上与我对Entity Framework的使用有关,但还没有证据。

尝试修复实例时,修复过程似乎停留在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中得到解决。

7 个答案:

答案 0 :(得分:8)

这对我有用。

解决方案1:
  - 停止" SQL Server(SQLEXPRESS)" &安培; " SQL Server VSS Writer"服务    并将其启动类型设置为"手动"。
  - 重新启动电脑   - 运行修复过程   - 将启动类型更改回"自动"并重新启动服务。

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

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

答案 1 :(得分:1)

在我的情况下,卸载程序卡在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'); (走) 请注意,这些文件具有不同的名称和不同的扩展名(.mdf,.ldf)
  • 退出sql server(退出)
  • 关闭服务NET STOP MSSQL$SQLEXPRESS

答案 2 :(得分:1)

尝试sbEnable = 1

这个advice from TechNet为我工作:

以下注册表项必须设置为1 [...]:

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

就我而言,注册表目录根本不存在。并且卸载仍然停留在该位置数分钟(不到10分钟)。但是最终它继续并结束了。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

setup.exe /Action=Uninstall

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

仅供参考:

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

答案 5 :(得分:0)

在自定义安装中,将 SQL Server数据库引擎的帐户名更改为“ NT AUTHORITY \ SYSTEM”修复了SQL Server Express 2017的安装问题。

有关详细信息:http://woshub.com/sql-server-database-engine-startup-handle/

答案 6 :(得分:0)

就我而言,我试图卸载在安装过程中在 SqlEngineDBStartConfigAction_install_configrc_Cpu64 步骤中卡住的SQL Server 2008 R2实例。 卸载陷入 SqlEngineConfigAction_remove_validation_Cpu64 步骤。这些步骤帮助了我:

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

希望它能起作用。