之前用的SQL SERVER数据库的试用期到了,然后就出现了数据库无法打开,提示没有权限的错误。
这个错误的相信很多人都遇到过,处理方法也有很多,前期的工作可以从网上找。
下面说说我的处理方法:首先明白WMI是什么,以下摘自百度百科:WMI,是Windows 2K/XP管理系统的核心;对于其他的Win32操作系统,WMI是一个有用的插件。WMI以CIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API;相反,操作系统的不同部分都可以插入WMI。
第二步:检查WMI服务是否打开:win+R——输入service.mrc,打开服务——找到WMI服务——检查是否打开。
第三步:win+R——输入cmd——输入mofcomp “C:\Program Files (x86)\Microsoft SQLServer\100\Shared\sqlmgmproviderxpsp2up.mof(这里是SQL数据库的安装目录下的shared文件夹下的sqlmgmproviderxpsp2up.mof的路径,我的shared是在100目录下)”——回车运行。如果到此解决了问题,那么恭喜,如果没有解决,那么看第四步。第三步不能完成的作用在于没有Network Service的用户权限,下面就给它加上权限。
第四步:右击“我的电脑”——属性——高级系统设置——系统属性——环境变量
在path中添加C:\Windows\System32\wbem路径。
第5步:在wben文件夹下找到framedyn.dll,右键单击属性——安全——更改权限下的编辑——添加——高级——全部查找——选中NetworkService,一路确定。
重新执行第3步,可以得到如下结果:
通过对比,上面的那个失败的就是第4、5步之前的结果,通过4、5步的添加权限,最终得到了正确的结果。下面打开SQL配置管理器:
就可以顺利的打开,没有了那么多的烦心事。到此这个过程就是圆满结束了。
我最大的收获就是找到方法后要根据自己具体的错误进行处理。我从网上找了好长时间的方法,发现千篇一律的都是那么4个方法。刚开始我也是按着方法做了,但是却没有成功,因为我的wbem文件夹下没有framedyn.dll文件,跟网上说的错误正好相反,而且我的SQL下的shared文件夹是在100下,网上的解决方法有的在90上有的在110上,都不是自己的问题解决的正确方法。也正是通过对这些方法进行了对比分析,最终发现了解决问题的符合自己的方法。这个过程也锻炼了自己解决问题的信心,积累了经验。