安装或者升级Sql Server 2008 R2 企业版时提示错误为“Could not open key: UNKNOWN\Components\7ABFE44842C12B390AF18C3B9B1A1EE8\000021599B0090400100000000F01FEC.”
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
昨天帮一个速达的客户处理问题,看了一下客户使用的是Windows10家庭版,数据库装的是msde版本,不知道为啥,我很反感这种版本,我升级到了sql2008R2竟然没啥卵用,我修复也依然出现各种错误,最后实属没办法,就卸载了,最后在装SQL 2008R2就提示各种错误,就比如下列错误;
标题: Microsoft SQL Server 2008 R2 安装程序
------------------------------
出现以下错误:
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
出现这种错误,根据上面那一串,就晓得其实就是没有注册表权限,但是想了一下,去研究一下注册表,给予权限一下吧;
在操作这些权限的时候,记得一点,需要把注册表备份一下,防止以外发生;备份完成后开始操刀;
定位到注册表位置:HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>windows> CurrentVersion>Installer>UserData>S-1-5-18>Components下找到
7ABFE44842C12B390AF18C3B9B1A1EE8值,点开可以看到000021599B0090400100000000F01FEC但提示没有权限;如下图;(因为当时没有截图,后续的错误才截图)
在7ABFE44842C12B390AF18C3B9B1A1EE8值上右键权限,选择所有者为本机所在账户,然后勾选 替换子容器和对象的所有者,以及下方的使用可从此对象继承的权限项目一环子对象的权限项目;然后点确定即可,就会重置了权限;
按照上面的重置权限后,噩梦来了,简直就是噩梦,你重置完了1、2、3、4的权限,就会发现还有5、6、7、8各种的权限等着你重置,进度条也就进入了一半,这要搞下去还不得死;然后就想着全部重置权限;
依次点击开始,所有程序,附件,右键单击命令提示符,选择以管理员身份运行,输入以下语句并运行
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
类似上图,待运行完成后,重新尝试安装,但,对我并无任何的卵用;
以上命令解析:总得来说,这条命令的意思是把系统安全配置重置为系统默认设置;defltbase.inf是系统安全配置模版,defltbase.sdb 是系统安全配置库,就是以系统默认安全模版重写系统安全配置库。这条命令可以解决很多安装软件遇到的权限问题,这些权限问题大多是之前安装过相同的软件,卸载不完全造成的注册表项锁死,无法更改权限或删除表项。
最后也不想尝试了,准备想做系统了,简直就是整个的噩梦;不过网上还有说;
1、说下载此补丁即可 https://support.microsoft.com/kb/313222 这补丁应该是远古时代的东西,貌似是server 2003系统的;也没必要尝试了;
2、给予Components目录统一的权限;重置为当前管理员权限,么有去尝试;
3、安装一个名叫 subinacl的,来达到重置权限,如下图所说,不让复制,直接截图了一张;
我感觉上面的意思跟我下面这篇文章的解说很像,但并未尝试,感觉还是无效的说;
Windows系统安装或卸载Microsoft visual c++(2012、2013、2015等)时显示0x80070005-拒绝访问的解决办法
在网上又看到一个说法:暂未尝试,感觉略有用
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步的时候,由于不同的机器会有不一样的原因,会出现”注册表无法再当前选项修改,由于出于安全问题会无法修改”(大致描述)
这时候其实只需要修改当前用户的权限即可,无需替换子容器和对象什么的,如图:
其中由于么每个人的用户名称不一样,所以应根据具体的情况来判断和选择。
写在最后,实属没办法了,准备用重装大法来解决问题,实属这些权限让人弄的脑壳疼;但有些事儿又不能不做;
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!