SQL Server配置管理WMI问题
2023-09-11 14:19:44 时间
今天在打开数据库的时候,连接不上。一看错误就知道肯定是SQL Server的服务没开启,所以自然而然的去SQL Server配置管理中去打开,但是打开配置管理器的时候出现了下面的错误:
每次连接数据库的时候总是会出各种各样的问题,都见怪不怪了。但是这个问题还是第一次遇到呢,起初还有新鲜劲,但是这个问题捣鼓了一个下午+晚上1小时。就开始变得纠结了。为了纪念一下这个难的的问题,还是写篇博客吧。
问题初期:新鲜劲来了, 好奇的是WMI是什么东西啊?
WMI,Windows管理规范(Windows Management Instrumentation) 是一项核心的Windows管理技术;用户可以使用WMI管理本地和远程计算机。
既然提示无法连接到WMI提供程序,那就是服务没开启呗。先查看WMI服务: 计算机— 管理— 双击服务— 找到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"
但是运行之后,出现了下面的错误:
提示找不到文件,在网上查找问题,都是这三种解决方案。捣鼓了一下午之后,感觉自己快要放弃的时候,这时候看到八期的师哥过来了,拉着他一起帮忙解决。同样是查找相关的问题。
捣鼓了一段时间还是不行。此时已经能明确的确定引起这个问题的主要原因是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的目录组织结构。 既然有人在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)这个文件夹才会存在。 所以,在遇到解决路径上问题的时候一定要事先了解这些基本知识。同时在遇到问题的寻求解决方案的时候,一定不要一味的相信别人的,要慎思根据自己的实际情况来解决。 最新内容请见作者的GitHub页:http://qaseven.github.io/
后来又发现有个小小的问题,就是有的解决方案给出的路径是不一样的。有的是: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的目录组织结构。 既然有人在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)这个文件夹才会存在。 所以,在遇到解决路径上问题的时候一定要事先了解这些基本知识。同时在遇到问题的寻求解决方案的时候,一定不要一味的相信别人的,要慎思根据自己的实际情况来解决。 最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
- windows server r2 安装vs2017 更新补丁Windows8.1-KB2919355-x6
- SQL SERVER 查询死锁
- SessionStateMode之SQL Server共享session
- 【异常】ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock
- SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
- SQL Server调优系列基础篇(并行运算总结篇二)
- SQL Server 2008连接字符串写法大全{转}
- SQL Server 2008开启sa用户名和远程连接
- SQL Server replication requires the actual server name to make a connection to the server.错误解决
- nginx default_server的作用
- HTTP 错误 500.19 - Internal Server Error
- SQL SERVER中Case的使用方法
- SQL Server 2008 R2 新建数据库
- SQL SERVER服务器链接连接(即sql server的跨库连接)
- sql server判断某个表是否存在
- Sql Server强制清空所有数据表中的记录
- Sql Server中sql语句自动换行
- SQL SERVER服务器链接连接(即sql server的跨库连接)
- mysql 的 limit 与sql server 的 top n
- sql server中的怎么把数值型转换为字符串