我的同事的機器,在安裝SQL SERVER 2000時,出現了以下提示:
“以前的某個程式安裝已在安裝電腦建立掛起的檔案。運行安裝程式之前必須重新啟動”。
在以往遇到這個問題時,我一般會選擇重新安裝系統來解決。因為有時即使尋找了很久的原因,始終不能裝上,最後還是浪費時間,因此,最快的辦法就是重新安裝系統。我自己的機器一直沒有遇到這個問題,因為,我必須要用SQL SERVER的,所以我會在裝上系統,裝完驅動程式之後就安裝,這樣就沒有問題。看來這還是SQL SERVER的軟體相容性的問題。
但目前的問題是,現在的軟體安裝得越來越多,重新安裝系統實在太費時間了,還是想辦法解決比較好。
於是,我查到這個問題的解決辦法:
開啟登錄編輯程式,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations項目,並刪除它。這樣就可以清除安裝暫掛項目。
當然這個辦法不僅僅適用於安裝SQL SERVER,其它的軟體安裝時出現此類提示,也可這樣處理。
但問題到此並沒有解決。隨後又出現了以下的問題:
“command line option syntax error.Type command/? for help”。
接下來再尋找原因。有人認為應該重新安裝MDAC,但我記得在SQL SERVER安裝之前是先安裝MDAC的;也有人說要修改註冊表:找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\setup,刪除ExceptionComponents,但這個我沒有去嘗試。
我把我的軟體安裝程式程式從“D:\應用軟體\PersonalSQL”中COPY至“D:\PersonalSQL”,再次執行安裝時,並沒有出現這個提示。
但問題還是沒有解決。隨後在安裝結束時又出現了以下的問題:
“安裝程式設定管理員失敗。參考伺服器錯誤日誌和c:\windows\sqlstp.log瞭解更多資訊”。
這簡直是在折磨我啊。
查看日誌時看到如下的資訊:
1###############################################################################
2
3正在啟動?
4Chinese_PRC_CI_AS
5-m -Q -T4022 -T3659
6正在與服務?
7driver={sql server};server=LIB;UID=sa;PWD=;database=master
8[Microsoft][ODBC 驅動程式管理器] 未探索資料源
9driver={sql server};server=LIB;UID=sa;PWD=;database=master
10[Microsoft][ODBC 驅動程式管理器] 未探索資料源
11driver={sql server};server=LIB;UID=sa;PWD=;database=master
12[Microsoft][ODBC 驅動程式管理器] 未探索資料源
13SQL Server 配置?
14###############################################################################
15
1614:00:08 Process Exit Code: (-1)
1714:00:13 安裝程式設定管理員失敗。參考伺服器錯誤日誌和 C:\WINDOWS\sqlstp.log 瞭解更多資訊。
為瞭解決這個問題,我在命令列下執行了如下的命令:
1odbcconf.exe /S /Lv odbcconf.log /F %systemroot%\system32\mdaccore.rsp
2odbcconf.exe /S /Lv odbcconf.log /F %systemroot%\system32\sqlclnt.rsp
3odbcconf.exe /S /Lv odbcconf.log /F %systemroot%\system32\odbcconf.rsp
4odbcconf.exe /S /Lv odbcconf.log /F %systemroot%\system32\redist.rsp
但為了保險,還是在安裝時選擇了“進階選項”,在下一步時選擇“重建註冊表”。最後安裝成功了!
當時很高興,啟動了SQL SERVER的服務,開啟企業管理器。又出現了問題!控制台不可用!我只好再重裝,不過這次我還是選擇了“進階選項”,然後執行添加刪除群組件,把所有的組件都選擇上了。重新安裝,很快就結束,再次進入企業管理器,現在看到服務了。
但仍然提示無法串連,編輯註冊屬性,將認證方式修改為Windows/Sql 混合方式,將sa的口令修改為空白。
終於成功了!