安裝或者升級Sql Server 2008 R2 企業(yè)版時(shí)提示錯(cuò)誤為“Could not open key: UNKNOWN\Components\7ABFE44842C12B390AF18C3B9B1A1EE8\000021599B0090400100000000F01FEC.”
[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
昨天幫一個(gè)速達(dá)的客戶處理問題,看了一下客戶使用的是Windows10家庭版,數(shù)據(jù)庫裝的是msde版本,不知道為啥,我很反感這種版本,我升級到了sql2008R2竟然沒啥卵用,我修復(fù)也依然出現(xiàn)各種錯(cuò)誤,最后實(shí)屬沒辦法,就卸載了,最后在裝SQL 2008R2就提示各種錯(cuò)誤,就比如下列錯(cuò)誤;
標(biāo)題: Microsoft SQL Server 2008 R2 安裝程序
------------------------------
出現(xiàn)以下錯(cuò)誤:
Could not open key: UNKNOWN\Components\7ABFE44842C12B390AF18C3B9B1A1EE8\000021599B0090400100000000F01FEC. Verify that you have sufficient access to that key, or contact your support personnel.
有關(guān)幫助信息,請單擊: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=10.50.1600.1&EvtType=0xDF039760%25401201%25401
出現(xiàn)這種錯(cuò)誤,根據(jù)上面那一串,就曉得其實(shí)就是沒有注冊表權(quán)限,但是想了一下,去研究一下注冊表,給予權(quán)限一下吧;
在操作這些權(quán)限的時(shí)候,記得一點(diǎn),需要把注冊表備份一下,防止以外發(fā)生;備份完成后開始操刀;
定位到注冊表位置:HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>windows> CurrentVersion>Installer>UserData>S-1-5-18>Components下找到
7ABFE44842C12B390AF18C3B9B1A1EE8值,點(diǎn)開可以看到000021599B0090400100000000F01FEC但提示沒有權(quán)限;如下圖;(因?yàn)楫?dāng)時(shí)沒有截圖,后續(xù)的錯(cuò)誤才截圖)
在7ABFE44842C12B390AF18C3B9B1A1EE8值上右鍵權(quán)限,選擇所有者為本機(jī)所在賬戶,然后勾選 替換子容器和對象的所有者,以及下方的使用可從此對象繼承的權(quán)限項(xiàng)目一環(huán)子對象的權(quán)限項(xiàng)目;然后點(diǎn)確定即可,就會重置了權(quán)限;
按照上面的重置權(quán)限后,噩夢來了,簡直就是噩夢,你重置完了1、2、3、4的權(quán)限,就會發(fā)現(xiàn)還有5、6、7、8各種的權(quán)限等著你重置,進(jìn)度條也就進(jìn)入了一半,這要搞下去還不得死;然后就想著全部重置權(quán)限;
依次點(diǎn)擊開始,所有程序,附件,右鍵單擊命令提示符,選擇以管理員身份運(yùn)行,輸入以下語句并運(yùn)行
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
類似上圖,待運(yùn)行完成后,重新嘗試安裝,但,對我并無任何的卵用;
以上命令解析:總得來說,這條命令的意思是把系統(tǒng)安全配置重置為系統(tǒng)默認(rèn)設(shè)置;defltbase.inf是系統(tǒng)安全配置模版,defltbase.sdb?是系統(tǒng)安全配置庫,就是以系統(tǒng)默認(rèn)安全模版重寫系統(tǒng)安全配置庫。這條命令可以解決很多安裝軟件遇到的權(quán)限問題,這些權(quán)限問題大多是之前安裝過相同的軟件,卸載不完全造成的注冊表項(xiàng)鎖死,無法更改權(quán)限或刪除表項(xiàng)。
最后也不想嘗試了,準(zhǔn)備想做系統(tǒng)了,簡直就是整個(gè)的噩夢;不過網(wǎng)上還有說;
1、說下載此補(bǔ)丁即可 https://support.microsoft.com/kb/313222? 這補(bǔ)丁應(yīng)該是遠(yuǎn)古時(shí)代的東西,貌似是server 2003系統(tǒng)的;也沒必要嘗試了;
2、給予Components目錄統(tǒng)一的權(quán)限;重置為當(dāng)前管理員權(quán)限,么有去嘗試;
3、安裝一個(gè)名叫 subinacl的,來達(dá)到重置權(quán)限,如下圖所說,不讓復(fù)制,直接截圖了一張;
我感覺上面的意思跟我下面這篇文章的解說很像,但并未嘗試,感覺還是無效的說;
Windows系統(tǒng)安裝或卸載Microsoft visual c++(2012、2013、2015等)時(shí)顯示0x80070005-拒絕訪問的解決辦法
在網(wǎng)上又看到一個(gè)說法:暫未嘗試,感覺略有用
1、使用組合鍵 Win+R 打開"運(yùn)行"對話框,輸入 regedit 并回車(可能需要管理員權(quán)限)
2.找到這個(gè)鍵值 :HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData
3.右擊"UserData" 選擇"權(quán)限(P)..."
4.點(diǎn)擊"高級(V)"按鈕
5.選定"Administrators……",勾選"替換子容器和對象的所有者(R)",點(diǎn)擊"應(yīng)用(A)";將所有者更改為Administrators,注意不是Administrstor。
以上4步都沒有問題,但是在第5步的時(shí)候,由于不同的機(jī)器會有不一樣的原因,會出現(xiàn)”注冊表無法再當(dāng)前選項(xiàng)修改,由于出于安全問題會無法修改”(大致描述)
這時(shí)候其實(shí)只需要修改當(dāng)前用戶的權(quán)限即可,無需替換子容器和對象什么的,如圖:
其中由于么每個(gè)人的用戶名稱不一樣,所以應(yīng)根據(jù)具體的情況來判斷和選擇。
寫在最后,實(shí)屬沒辦法了,準(zhǔn)備用重裝大法來解決問題,實(shí)屬這些權(quán)限讓人弄的腦殼疼;但有些事兒又不能不做;
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!