zoukankan      html  css  js  c++  java
  • SQL Server配置管理WMI问题

       今天在打开数据库的时候,连接不上。一看错误就知道肯定是SQL Server的服务没开启,所以自然而然的去SQL Server配置管理中去打开,但是打开配置管理器的时候出现了下面的错误: 




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

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


        WMI,Windows管理规范(Windows Management Instrumentation) 是一项核心的Windows管理技术;用户可以使用WMI管理本地和远程计算机。 

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


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

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

        • 右击“我的电脑”-->“管理” 
        • 在“本地用户和组”内的Administrators组上双击,出现添加属性对话框。 
        • 单击“添加”按钮,出现添加用户对话框 
        • 单击“高级”按钮,再单击“搜索”(或是“立即查找”)按钮。注:此'NT AUTHORITYNETWORK SERVICE'用户为系统内置帐户,无法直接添加。 
        • 在“搜索结果”内选择“Network Service”用户后,单击“确定” 
    经测试,此方法无效!问题依然存在!

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


    经查找,有该文件!     


        3.在doc命令中输入:mofcomp.exe "C:Program FilesMicrosoft SQL Server90Sharedsqlmgmproviderxpsp2up.mof" 

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



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


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

      后来又发现有个小小的问题,就是有的解决方案给出的路径是不一样的。有的是:mofcomp.exe "C:Program Files(x86)Microsoft SQL Server90Sharedsqlmgmproviderxpsp2up.mof" 或者是 mofcomp.exe "C:Program FilesMicrosoft SQL Server100Sharedsqlmgmproviderxpsp2up.mof" 。 


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

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

    运行结果:

     

         

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

       注意Program Files(x86)和Program Files的区别。


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


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


  • 相关阅读:
    一个丰富的通知工具类 --第三方开源--NotifyUtil
    RecycleView出现折叠效果--第三方开源--SectionedExpandableGridRecyclerView
    Socket TCP连接相互通信
    InputStream与String,Byte之间互转
    socket调试工具
    可直接导入studio的 android-Ultra-Pull-To-Refresh-master
    纯手写验证码MVC中
    Upload图片-单张
    C#、SQL中的事务
    MVC、控件、一般处理程序中的session and cookie
  • 原文地址:https://www.cnblogs.com/riasky/p/3481839.html
Copyright © 2011-2022 走看看