我的问题是我无法删除实例。这是一个例子,我现在有两个实例
SQLEXPRESS
SQLEXPRESS2012
我有SQL Server 2012,为了删除实例我转到Control Panel -> Add and remove programs ->
选择Microsoft Sql Server
然后我会进入UI,我可以用不同的东西做不同的操作。
在此用户界面中,我可以删除SQLEXPRESS2012
但我无法选择SQLEXPRESS
。此外,当我在SQL Server Management Studio中时,我可以连接到SQLEXPRESS2012
服务器,但无法连接到SQLEXPRESS
服务器,它会给我错误:40和2。
我的猜测实例不存在,但有些存在于寄存器中。任何建议如何删除实例而不去控制面板 - >添加和删除程序 - >选择Microsoft Sql Server。谢谢你的时间
答案 0 :(得分:11)
确认SQL Server的“添加/删除程序”中只有一个条目。我有多个,每个版本的SQL Server安装一个:
如果控制面板中确实只有一个条目,那么您可能会遇到某种类型的损坏安装。 Microsoft has a guide here for 2005,在更现代的版本中可能仍然有用(从您的问题中不清楚旧实例的版本)。我写过removing an expired instance of SQL Server before;这将是类似的。在以下注册表项中找到“卸载”下列出的GUID(这可能需要一些手动操作)不涉及SQL Server 2012:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
例如,以下是我机器上2008数据库引擎服务的条目:
对于每一个,将显示名称(在注释中)和GUID文件(在msiexec /x
后面)复制到.bat
文件,例如
REM SQL Server 2008 Database Engine Services
msiexec /x "{32445783-54FC-4AA7-A51A-3B528E8A5E3B}"
您拥有的条目数量取决于版本,版本,所选功能等。复制完所有条目后,请保存.bat
文件并双击它。根据文件中条目的顺序,您可能会收到一些“意外错误”结果,或者可能出现类似这样的错误:
如果你得到任何一个,你应该再次运行批处理文件。
当然,如果您不想冒任何系统损坏的风险,您可以随时使用SQL Server配置管理器禁用SQLEXPRESS实例的服务,并假装它未安装。