SQL2000 企业管理器不能打开:MMC无法创建管理单元

SQL2000 MMC无法创建管理单元解决方案

今天工作的时候竟然出了这样一个问题,我的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文件执行。 

@echo on
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,或者版本不一致导致的。


 


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
//附加数据库 sp_attach_db 当使用 sp_attach_db 系统存储过程附加数据库时。 sp_attach_db:将数据库附加到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n' 数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。 参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。 该列表还必须包括数据库分离后所有被移动的文件。 返回代码值:0(成功)或 1(失败) eg:下面的示例将 pubs 中的两个文件附加到当前服务器。 EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf' EXEC sp_attach_db @dbname = N'Ty20051029101451aaa', @filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf', @filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf' ---解决问题了 //删除数据库 DROP DATABASE 从Microsoft? SQL Server? 删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。 语法 :DROP DATABASE database_name [ ,...n ] 参数 :database_name 指定要删除的数据库名称。从 master 数据库中执行 sp_helpdb 以查看数据库列表。 eg: exec sp_helpdb database_name exec Drpo DataBase [Ty20051029101451aaa] //分离数据库 可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。 sp_detach_db Archive GO CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft sqlserver\mssql\data\archdat1.mdf') FOR ATTACH GO //显示当前数据库信息 --select * from Master..sysDatabases //新建---不行啊 CREATE DATABASE TestOA ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE TestOA From disk='C:\Documents and Settings\Administrator\桌面\帐套\data\Template.Dat' ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE exec sp_detach_db Km20051030011601 --分离数据库 exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'--只附加.mdf文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值