卸載sql server 2008的錯誤解決

自己學習sql server,用win7 home basic安裝了sql server 2008,後來看到版本出了 2008 r2,所以也安上了,其實主要使用管理工具查查數據。後來發現eclipse裏可以通過架包達到相同的效果,而且eclipse是綠色的體積小。就決定卸載sql server相關的功能。從此不幸就開始了。

在控制面板中看到和sql server相關的功能要卸載,大部分都卸載成功。但最後幾個(sql server 2008,sql server 2008 r2, sql server 2008 setup(English) )就總是提示出錯。出錯內容就是提示程序已經被卸載了,錯誤代碼0x84B30002。重新運行卸載程序,提示是相同的。重新把sql server安裝上,再卸載還是相同的提示。最後找到了下面的文章(從google上找到的,百度裏的結果都是關於卸載數據庫實例的,真不理解爲什麼搜索引擎會自作聰明把  sql server 看成是 sql server 實例)

http://sqlblog.com/blogs/aaron_bertrand/archive/2010/10/25/fun-with-software-uninstalling-sql-server-2008-r2-evaluation-edition.aspx

原文是英文的,作者和我一樣點背。錯誤提示與我的完全相同,最後他是在註冊表中找到相關信息,用批處理命令解決的。

在註冊表位置

        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

找到sql sever相關的信息。對應把命令中的GUID改成註冊表中的。因爲他和我安裝都是sql server r2 64位,所以GUID相同,我就直接運行了。

命令如下:

rem SQL Server 2008 R2 Common Files
msiexec /x "{234F6B0D-10AE-4BB7-B2F3-E48D4861952D}"

rem SQL Server 2008 R2 Common Files
msiexec /x "{36F70DEE-1EBF-4707-AFA2-E035EEAEBAA1}"

rem SQL Server 2008 R2 Database Engine Shared
msiexec /x "{A2122A9C-A699-4365-ADF8-68FEAC125D61}"

rem Microsoft SQL Server 2008 Setup Support Files
msiexec /x "{C0C690C8-F335-4BA4-A2AD-675EAD1DFA90}"

rem SQL Server 2008 R2 Database Engine Shared
msiexec /x "{C942A025-A840-4BF2-8987-849C0DD44574}"

rem Microsoft SQL Server 2008 R2 (64-bit)
msiexec /x "{20E42995-BBE9-4697-8394-FCDC4338706B}"

rem Microsoft SQL Server 2008 R2 Setup (English)

msiexec /x "{C3E48238-5FA0-4C82-9509-36D47E371A29}"

註冊表與命令對應關係如圖


如果sql server的版本不同,GUID應該是不同的,所以用的時候要仔細看一下註冊表。我執行完批處理命令後,再運行控制面板裏的卸載,系統就提示程序已經被卸載,條目可以刪除。相應的在開始菜單上雙擊sql server 安裝中心(我的有中英文兩份),系統就會提示相應文件已經清除,可以刪除快捷方式了。

這樣刪除後控制面板和系統菜單都是乾淨的,並且對系統沒有危險。但系統的program files下還是有sql server 的文件夾(如果是64位系統,program files(x86)也有)。這時刪除這兩個文件夾就可以了。刪除時系統也不會提示文件被鎖定,說明系統中的sql server已經安全刪除。

當然卸載sql server一般步驟如下:

1、停止和sql server相關的服務。在管理工具 -  服務裏停止。

2、卸載數據庫實例(就是保存數據庫數據和信息的主體),卸載前要備份數據信息,卸載後數據會被一起刪除。

3、在控制面板卸載名字中帶有sql server的程序。順序上最好是先卸載組件,最後卸載主程序。

其它補充:

1、我遇到的這個錯誤提示代碼其實作用不大,當數據庫實例卸載出錯,數據庫升級(體驗版Evaluation 升級到其它版本)出錯時也會提示相同的錯誤代碼。

2、在運行卸載程序時會提示

  在創建窗口句柄之前,不能在控件上調用 Invoke 或 BeginInvoke。

   這個情況是要求在運行卸載程序前關閉機器上所有IE內核的瀏覽器,卸載程序就可以正常運行,網上也有說刪除註冊表中的一個鍵值,但相同位置我的機器上沒有(win7 64位)。我是關了瀏覽器,卸載程序就正常了,從這點上我估計,所謂的IE與操作系統分離可能是個謊子,即使到了win7,IE還是和操作系統共生的,估計以後win7和XP有相同的結局(瀏覽器被攻擊,系統也會崩潰)。

以前卸載visual studio也很痛苦,所以已經習慣微軟這種莫名妙的問題。寫下來讓有相同問題的人不再頭痛就好。

發佈了43 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章