由于之前先安装了vs2010,再安装的SQL Server 2008 R2,导致SQL Server出现一些问题(例如:begin...end...无法折叠,导致看几百行的存储过程非常痛苦),所以索性直接重装SQL Server。
卸载重装SQLServer是个比较麻烦的问题,参照其他人的方法卸载(http://blog.csdn.net/wl_ldy/article/details/7882806),并清理了注册表,重新安装时出现以下错误:
Could not open key: UNKNOWNComponentsABFE44842C12B390AF18C3B9B1A1EE8021599B0090400100000000F01FEC.Verify that you have sufficient access to that key, or contact your support personnel.
解决方法如下:
以管理员身份运行CMD命令提示符,输入以下语句并运行就OK了
secedit /configure /cfg %windir%infdefltbase.inf /db defltbase.sdb /verbose
按照错误提示,去找到了注册表项000021599B0090400100000000F01FEC,但这项administrator权限下无法授权,更无法删除,知道是这里的问题,但怎么着就是无法更改,一些注册表工具使用了也无济于事,这条命令就是重置系统权限配置。
红字部分命令解析:总得来说,这条命令的意思是把系统安全配置重置为系统默认设置;defltbase.inf是系统安全配置模版,defltbase.sdb 是系统安全配置库,就是以系统默认安全模版重写系统安全配置库。这条命令可以解决很多安装软件遇到的权限问题,这些权限问题大多是之前安装过相同的软件,卸载不完全造成的注册表项锁死,无法更改权限或删除表项。