[移文]SQL Server 2008 Express Edition 安裝失敗?!

[移文]SQL Server 2008 Express Edition 安裝失敗?!

SQL Server 2005 Express Edition 雖然功能沒有正式版的強大,但看在使用方便以及免費的份上,其實也沒有甚麼好挑剔的,相信很多人拿來當作測試用的資料庫環境。不過,在異質資料的處理上,SQL Server 2005 Express Edition 少了資料匯入與匯出的功能,某些時候確實不方便,畢竟跟其他部門同事協同作業時,匯出 EXCEL、CSV,或者反向匯入都是常常發生的需求,好在看了一下 SQL Server 2008 Express Edition 所支援的功能,大大方方地列出「具有執行 SQL 工作和基本來源、轉換及目的地的 SQL Server 匯入和匯出精靈」:

01.ImportAndExportWiz

衝著這項功能,更新為 SQL Server 2008 Express Edition 是勢在必行了!連上微軟網站並下載完成,開始了安裝程序,其中安裝的步驟,比起以往的版本更複雜了一點,對於初次安裝的我,還真的有點忐忑不安,一步步仔細設定後,終於開始安裝:

02.StartInstall

不過,等待了約20分鐘...竟然給我跳出安裝失敗...

03.InstallFailed

揪~竟是怎麼一回事呢?仔細查看安裝紀錄,失敗原因似乎跟 MSXML6 有關,請看下圖:

04.Log

在掌握更進一步的證據之前,不能胡亂下定論,這時候就要放狗 Google 找一下了,我分別以錯誤紀錄裡的訊息「產品: MSXML 6.0 Parser (KB933579) -- 安裝失敗」,還有「SQL Server 2008 安裝失敗」這兩個關鍵"句"作搜尋,可以分別查到兩篇文章:

已經安裝 MSXML 的核心服務 6.0 Service Pack 2 時,SQL Server 2005 安裝程式失敗
MSXML 6 SP2 會造成 SQL Server 2008 安裝失敗

這下子可是罪證確鑿了!兇手就是 MSXML 6 Service Pack 2 (KB954459),原因可以參考上面搜尋到的第二個連結 (後來發現是百敬老師的部落格),簡單說就是 SQL Server 2008 (所有版本) 內附的 MSXML 版本比較舊,一旦你的作業系統上過 KB954459 這更新,那麼安裝 SQL Server 2005、2008 所有版本時 (SQL Server 2008 SP1 不確定是否已修正此問題),都會發生安裝失敗,解法就是先解除安裝 KB954459,再安裝 SQL Server 就會成功了,然後再透過線上更新將 KB954459 補上。


備註:本篇重點在安裝 SQL Server 2008 時的失敗原因以及解決方法,安裝的系統需求以及過程都略過不提,有這些問題的人可以參考底下兩個連結,有詳細解說:

安裝 SQL Server 2008 的硬體和軟體需求
SQL Server 2008 Enterprise Evaluation 安裝步驟