自己花了2个多小时都没有解决的问题。最终在这篇中给搞定了。太苦了。
-------------------------------------------------------------------------------------------
SQL 2005 SP3(KB955706) 更新“数据库服务”失败 一、问题出现: 1 、将 SQL 2005 SP3 安装到两台 WINDOWS SERVER 2003 上都出现部分失败,失败的原因相同,即是: ---------------------------------------------------------------------------------- Product : 数据库服务 (MSSQLSERVER) Product Version (Previous): 1399 Product Version (Final) : Status : 失败 Log File : C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB955706_sqlrun_sql.msp.log Error Number : 29565 Error Description : MSP Error: 29565 由于以前的升级没有完成,因此 SQL Server 安装程序无法升级指定的实例。请启动远程注册表服务,然后转到“添加 / 删除程序”,对 Microsoft SQL Server 2005 选择“更改”按钮,然后选择 SQL 实例 MSSQLSERVER 并完成安装。 ---------------------------------------------------------------------------------- 除了以上服务以外的其他服务都安装成功。 说明:这两台服务器都是从 SQL SERVER 2000 升级到 SQL SERVER 2005 的。操作系统都是 WINDOWS SERVER 2003 ; SQL 也都是企业版的。 2 、将 SQL 2005 SP3 安装到我电脑 WINDOWS XP 上,安装成功。没有出现“数据库服务”安装失败的问题。 说明:本机的 SQL 是开发版的,且是直接安装了 SQL SERVER 2005 。操作系统是 XP 。 3 、分析成功与失败差别: 1 ) SQL 版本区别:开发版和企业版所有的功能和组件几乎相同,所差别的是权限限制,所以在“数据库服务”的组件上应该是没有区别的,可以排除因 SQL 版本问题产生的失败 2 )操作系统的差别:一般情况下,操作系统版本区别对一个应用程序的更新应该不会有影响的,但因为 SQL 也是微软的产品,且与操作系统的整合度特别高,所以不好区别。且 KB955706 补丁除了是 SP3 的代号外,也是 WINDOW SERVER 2003 和 2008 的一个补丁代号。所以不好区别。因为操作系统的差别而导致 SP3 安装失败的可能性是存在的。 3 )升级区别:因为 XP 上面的 SQL 是直接安装 2005 版,而不是从 2000 升 级;而 WINDOWS SERVER 上的都是从 2000 升 级到 2005 ,进而升级到 SP3 。会不会是因为从 2000 升 级到 2005 没有完善而导致错误?从失败提示的原因:【由于以前的升级没有完成,因此 SQL Server 安装程序无法升级指定的实例。】,可以判断失败的很大部分原因就在这里。可以在一个纯 WINDOWS SERVER 2003 上面直接安装 SQL SERVER 2005 再升级到 SP3 来测试一下。 二、故障排除方法 1 、在网上找到一个问题比较类似的方案: http://blog.chinaunix.net/u/249/showart_1821631.html http://support.microsoft.com/kb/925976/zh-cn 1 )别人的解决方案: 因为生产测试用,所以在 VMWARE 做了一个 SQL2005SP2 的模版,要用的话,克隆一下就可以了,克隆后一般都会修改 SID 和机器名,所以问题来了,在升级 SP3 的时候, Analysis Services 和数据库服务不能升级 错误如下 : 2009-2-9 17:53:02 MsiInstaller 信息 无 11729 ICM-SQL2005\Administrator ICM-SQL2005 产品 : Microsoft SQL Server 2005 Analysis Services -- 配置失败。 2009-2-9 17:53:02 MsiInstaller 错误 无 1023 ICM-SQL2005\Administrator ICM-SQL2005 产品 : Microsoft SQL Server 2005 Analysis Services - 无法安装更新 'SQL Server Analysis Services 2005 Service Pack 3 CHS (KB955706)' 。错误码 1603 。可以在日志文件 C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\OLAP9_Hotfix_KB955706_sqlrun_as.msp.log 中找到其他信息。 2009-2-9 17:53:02 MsiInstaller 错误 无 10005 ICM-SQL2005\Administrator ICM-SQL2005 " 产品 : Microsoft SQL Server 2005 Analysis Services -- 错误 29528 。安装程序在 正在设置内部属性 期间遇到错误。错误为 : 安装时发生严重错误 " 经 google 查找后,在 MS 官方上找到解决办法: http://support.microsoft.com/kb/925976/zh-cn 删除 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Setup] 下的 AGTGroup 、 SQLGroup 、 FTSGroup ,但找不到官方所说的 ASGroup,,, 安装的时候数据库服务安装上了,但是 Analysis Services 却没安装上,郁闷呀,后来查找,发现 ASGroup 在 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.2\Setup] 上,将其删除, Analysis Services 就安装了了,,升级也就完成了 2 )对该方案的测试结果: 在对上面的方案测试,得出结果是:无法解决本次“数据库服务”升级失败的问题。因为以上的注册列表的删除主要是因为错误【错误 29528 。安装程序在设置内部属性时遇到错误】。而我遇到的问题不是因为这个,而是因为从 2000 升级到 2005 没有完善而遇到问题。 2 、自己摸索解决方案一: 1 )经以上案列提示,在路径:【 C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix 】上查找里面的升级提示日记文件 在 WINDOWS SERVER 上之所以出现哪些 0 、 1 、 2 的序号,是因为我在上面重试了四遍 SP3 升级。里面的“ Sumary.tex ”记录升级的概要。而记录“数据库服务”升级的就是那个蓝色的文件。 2 )对 XP 和 SERVER 上的 SQL9_Hotfix_KB955706_sqlrun_sql.msp.log 文件比较 A : XP (安装成功)上的文件达到 7 万多行,而 SERVER (安装失败)上的文件内容才只有 4 千行。 B 、寻找两文件开始出现差异的行数。在行 3188 行的时候发现了两个文件开始出现差异: C 、差异终结:在 XP 中,到 74453 行;而在 SERVER 中,到 3228 行。 D 、大概再跨越 500 行左右即 3728 行的时候,两者又出现了差异。 E 、通过以上分析,找到两个错误代码: a 、产品 : Microsoft SQL Server 2005 -- 错误 29565 。由于以前的升级没有完成,因此 SQL Server 安装程序无法升级指定的实例。请启动远程注册表服务,然后转到“添加 / 删除程序”,对 Microsoft SQL Server 2005 选择“更改”按钮,然后选择 SQL 实例 MSSQLSERVER 并完成安装。 错误 29565 。由于以前的升级没有完成,因此 SQL Server 安装程序无法升级指定的实例。请启动远程注册表服务,然后转到“添加 / 删除程序”,对 Microsoft SQL Server 2005 选择“更改”按钮,然后选择 SQL 实例 MSSQLSERVER 并完成安装。 <EndFunc Name='LaunchFunction' Return='29565' GetLastError='0'> b 、产品 : Microsoft SQL Server 2005 - 无法安装更新“ SQL Server Database Services 2005 Service Pack 3 CHS (KB955706) ”。错误代码 1603 。可以在日志文件 C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB955706_sqlrun_sql.msp.log 中找到其他信息。 MSI (s) (50:8C) [10:57:47:406]: Windows Installer 已安装一个更新。产品名称 : Microsoft SQL Server 2005 。产品版本 : 9.3.4035.00 。产品语言 : 2052 。更新名称 : SQL Server Database Services 2005 Service Pack 3 CHS (KB955706) 。安装成功或错误状态 : 1603 。 3 )通过对以上信息的分析,确定出现是 29565 错误。于是查找这个错误资料,在网上找到一个说明:【 http://coogor.blog.163.com/blog/static/11451339200882195724471/ 】和【 http://sheepshell.blog.163.com/blog/static/890338200891362120355/ 】 4 )根据说明总结,安装失败主要是因为【 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Setup \Resume 】的键值影响,将 Resum 的键值从 1 改为 0. 重新安装 SP3 补丁。哈哈 ~~~ 这么久没有提示错误?哈哈 ~~~~ 等待安装 ~~~~ 哈哈哈哈哈哈哈哈 ~~~~~~ 安装成功了!!!!!!!!!!!!!!!!!!!!!!花了一上午和中午时间,终于搞定了!! 三、总结 在将 SQL SERVER 2000 升级到 SQL SERVER 2005 的过程中,可能会有部分注册表信息不能及时移除和更新,所以在进一步操作时(如升级到 SP3 ),这些旧的注册表信息就会产生消极影响。 1 、 SQL 2000 SP 4 升 级到 SQL 2005 再到 SQL 2005SP3 的步骤: 1 )在对 SQL 2000 SP 4 升 级前,可以先下载一个“ SQL SERVER 2005 升 级顾问”来对服务器进行分析,一般来说,不会有大问题。小警告难免,但是这个不影响。【“ SQL SERVER 2005 升 级顾问”的下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=1470e86b-7e05-4322-a677-95ab44f12d75&DisplayLang=zh-cn 】 2 )分析没有问题了,那就开始安装 SQL SERVER 2005 ,这个的安装几乎跟 2005 的纯安装没什么区别,主要是操作名称由“安装”变为“升级安装”。这个就按照提示安装完就行 3 )安装完了后, SQL 2005 的版本号为 9.0.1399 ,这是初始版本,现在要将它升级到 SP3 (版本号 9.0.4035 )。【 SP3 的下载地址: http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=AE7387C3-348C-4FAA-8AE5-949FDFBE59C4&displaylang=zh-cn 】 4 )打开注册表【 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Setup \Resume 】,将 AGTGroup 、 SQLGroup 、 FTSGroup ,和 ASGroup ( MSSQL. 2 )删除。这四个文件是 SQL 2000 遗留下来的注册表问题。如果不删除,也不影响 SP3 的安装。 但是如果不删除也许会出现其他问题吧,例如:上面说的解决方案 1 就是这个引起的。反正删掉也不影响。备份一下,删除。 5 )重要一步 :在注册表中【HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Setup \ 】将文件 Resume 的键值由 1 改为 0. 6 )开始安装 SP3 ,按照提示一步步走。安装成功