天天看点

SQL Server配置管理WMI问题

SQL Server配置管理WMI问题

  每次连接数据库的时候总是会出各种各样的问题,都见怪不怪了。但是这个问题还是第一次遇到呢,起初还有新鲜劲,但是这个问题捣鼓了一个下午+晚上1小时。就开始变得纠结了。为了纪念一下这个难的的问题,还是写篇博客吧。

  问题初期:新鲜劲来了, 好奇的是wmi是什么东西啊?

  既然提示无法连接到wmi提供程序,那就是服务没开启呗。先查看wmi服务: 计算机—>管理—>双击服务—>找到wmi

SQL Server配置管理WMI问题

  第二,去网上找了相关的问题,大部分都是给出这三种解决方案:

  1.权限问题:管理员(administrator)没有 network service的权限,所以 wmi无法打开。

  右击“我的电脑”-->“管理”

  在“本地用户和组”内的administrators组上双击,出现添加属性对话框。

  单击“添加”按钮,出现添加用户对话框

  单击“高级”按钮,再单击“搜索”(或是“立即查找”)按钮。注:此'nt authority\network service'用户为系统内置帐户,无法直接添加。

  在“搜索结果”内选择“network service”用户后,单击“确定”

  2.检查一下 windows下的system32 中是否有framedyn.dll这个系统文件,如果没有到system32 下的wbem文件中拷贝framedyn.dll到system32 目录下。 我进到system32目录找framedyn.dll文件,果然没有找到,再进入system32\wbem目录,找framedyn.dll,拷贝到system32目下。

  经查找,有该文件!

  3.在doc命令中输入:mofcomp.exe "c:\program files\microsoft sql server\90\shared\sqlmgmproviderxpsp2up.mof"

  但是运行之后,出现了下面的错误:

SQL Server配置管理WMI问题

  提示找不到文件,在网上查找问题,都是这三种解决方案。捣鼓了一下午之后,感觉自己快要放弃的时候,这时候看到八期的师哥过来了,拉着他一起帮忙解决。同样是查找相关的问题。

  捣鼓了一段时间还是不行。此时已经能明确的确定引起这个问题的主要原因是sqlmgmproviderxpsp2up.mof 这个文件。该文件的作用主要是由于上一次sql安装失败之后,将存储在该文件之中,所以需要进行更新该文件。

 后来又发现有个小小的问题,就是有的解决方案给出的路径是不一样的。有的是:mofcomp.exe "c:\program files(x86)\microsoft sql server\90\shared\sqlmgmproviderxpsp2up.mof" 或者是 mofcomp.exe "c:\program files\microsoft sql server\100\shared\sqlmgmproviderxpsp2up.mof" 。

  注意观察他们的区别,这时候就知道肯定是路径上的问题。但是这个文件该去哪找呢?想查一下sqlmgmproviderxpsp2up.mof  这个文件,但是网上都没有介绍。 正当再次要放弃的时候,观察sql server的目录组织结构。

SQL Server配置管理WMI问题

  既然有人在90和100中找到了,那为什么不到110 下面去找呢。最后在该文件下找到了sqlmgmproviderxpsp2up.mof  这个文件。

  运行结果:

SQL Server配置管理WMI问题

  主要原因是路径上的错误,sqlmgmproviderxpsp2up.mof 这个文件的路径,在每个系统上存放的路径是不一样的。

  注意program files(x86)和program files的区别。

  在64位系统的系统盘中会存在program files和program files(x86)两个文件夹。前者用来存放64位文件,后者用来存放32位文件。这两个文件夹的存在使得目前64为操作系统可兼容32为程序,也可以说是为了兼容32位程序,program files(x86)这个文件夹才会存在。

  所以,在遇到解决路径上问题的时候一定要事先了解这些基本知识。同时在遇到问题的寻求解决方案的时候,一定不要一味的相信别人的,要慎思根据自己的实际情况来解决。

最新内容请见作者的github页:http://qaseven.github.io/