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