SQL SERVER 2008 R2 SP1更新時,遇上共享功能更新失敗的問題,可作如下嘗試:
更新失敗后,在windows的【事件查看器→應用程序】中找到來源為MsiInstaller,事件ID為10005的日志記錄,如圖:
其中標明了錯誤代碼,即-2147467259。另有一條同樣來源,事件ID為1023的日志:
其中標明了更新SP1的日志文件所在位置,打開該日志文件,搜索上一條日志中獲得的錯誤代碼-2147467259,第一個跳就發現了問題:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.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下面即可