SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败的问题,可作如下尝试:
更新失败后,在windows的【事件查看器→应用程序】中找到来源为MsiInstaller,事件ID为10005的日志记录,如图:
其中标明了错误代码,即-2147467259。另有一条同样来源,事件ID为1023的日志:
其中标明了更新SP1的日志文件所在位置,打开该日志文件,搜索上一条日志中获得的错误代码-2147467259,第一个跳就发现了问题:
C:Program FilesMicrosoft Visual Studio 9.0Common7IDEdevenv.exe.config
经检查,发现目录存在而文件不存在,猜测也许这个就是更新失败的原因所在。可上哪儿去找这么个devenv.exe.config文件呢
文中提到的方法是将IDE目录下的devenv.exe.config拷至下级PrivateAssemblies目录中并改名。而我的情况是IDE目录下不存在devenv.exe.config文件,但PrivateAssemblies目录存在devenv.exe.config.tmp文件,看来要反其道而行,遂将:
PrivateAssemblies目录中的devenv.exe.config.tmp拷至上级IDE中,更名为devenv.exe.config,未经重启,直接再次更新,成功!
还有一种情况是PrivateAssemblies目录中没有devenv.exe.config,而IDE中有devenv.exe,同理,将devenv.exe重命名为devenv.exe.config
放在PrivateAssemblies下面即可