今天工作的时候竟然出了这样一个问题,我的SqlServer2000的企业管理器不能用了,错误提示:MMC创建无法管理单元!
分析原因是因为误装了sql server2005 导致注册表修改。上次也碰到这个问题。
搜索网络,得到解决方案,与大家分享。
方案一:
运行mmc,然后操作,控制台–添加/删除管理单元–添加–找到Microsoft SQL 企业管理器–添加–关闭–确定(注:此处点击添加完后就可以关闭了,不要等待响应,如果你多次点击了添加,后来可以看到n多个sql企业管理器。。。),再回到控制台–选项–控制台模式选择”用户模式完全访问”–将下面的选择全部取消。最后,从控制台–另存为–存储为:C:/Program Files/Microsoft SQL Server/80/Tools/BINN/SQL Server Enterprise Manager.MSC(即SqlServer的安装目录下的binn文件夹)。 这样就好了。
方案二:
1. [开始]-->[运行] regedit 回车
2. 找到以下注册表子项:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/80/Tools/ClientSetup
3. 右键单击 ClientSetup 注册表子项, [新建]-->[字串值]。
4. 重命名注册表子项,创建 SqlPath , 然后按 Enter。
5. 双击, SqlPath 注册表子项, 然后键入“C:/Program Files/Microsoft SQL Server Server/80/Tools” 在数值 数据框中。
6. 单击[确定],然后关闭注册表编辑器。
7. [开始]-->[运行] cmd,输入 regsvr32 "C:/Program Files/Microsoft SQLServer Server/80/Tools/Binn/sqlmmc.dll" 然后单击[确定]。
但结果还不行!!!方案一,我的管理单元中根本没这个选项,只有一个sql配置选择。随后使用第二种方案,将 sqlmmc.dll 替换,注册。
结果启动管理器报出了新的错误:
“管理单元初始化失败,
名称,企业管理器sql
CLSID:{00100100-1816-11D0-8EF5-00AA0062C58F}”错误
随继续查找资料:这应该是sql2000的某些注册组件在卸载sql2005的时候被破坏了,需要重新注册。
解决方法:通过批处理将SQL相关组件全部重新注册一遍来解决这个问题。
把以下内容粘贴到记事本作成*bat文件执行。
regsvr32 autoplt.dll /s
regsvr32 autowiz.dll /s
regsvr32 axscphst.dll /s
regsvr32 cdwtasks.dll /s
regsvr32 cdwtskui.dll /s
regsvr32 colctrl.dll /s
regsvr32 comnevnt.dll /s
regsvr32 ctasksui.dll /s
regsvr32 custtask.dll /s
regsvr32 dtsffile.dll /s
regsvr32 dtspkg.dll /s
regsvr32 dtspump.dll /s
regsvr32 dtsui.dll /s
regsvr32 dtswiz.dll /s
regsvr32 hhsetup.dll /s
regsvr32 objmgr.dll /s
regsvr32 pfclnt80.dll /s
regsvr32 pfutil80.dll /s
regsvr32 psdcscm.dll /s
regsvr32 sdiclnt.dll /s
regsvr32 semcomn.dll /s
regsvr32 Semcros.dll /s
regsvr32 Semdll.dll /s
regsvr32 semdts.dll /s
regsvr32 SEMEXEC.dll /s
regsvr32 semmap.dll /s
regsvr32 semnt.dll /s
regsvr32 Semobj.dll /s
regsvr32 semrepl.dll /s
regsvr32 semsfc.dll /s
regsvr32 Semsys.dll /s
regsvr32 semwebwz.dll /s
regsvr32 Semwiz.dll /s
regsvr32 sqdedev.dll /s
regsvr32 SQLDMO.dll /s
regsvr32 sqlftwiz.dll /s
regsvr32 sqlgui.dll /s
regsvr32 sqllex.dll /s
regsvr32 sqlmmc.dll /s
regsvr32 sqlns.dll /s
regsvr32 sqlqry.dll /s
regsvr32 sqlresld.dll /s
regsvr32 sqlsui.dll /s
regsvr32 sqlsvc.dll /s
regsvr32 sqlvdir.dll /s
regsvr32 stardds.dll /s
regsvr32 svrnetcn.dll /s
regsvr32 w95scm.dll /s
有人说如果这样还不行,需要重新安装sp4,再运行这个bat一次。其实原因还是未能注册到binn下的所有dll,或者版本不一致导致的。