转帖-MSDE2000数据库故障恢复
作者:qqking 日期:2006-10-09
有天突然碰到了一个MSDE2000的数据库坏了,需要恢复。第一次用SQL,查了一些资料,终于恢复过来了(瞎猫碰死老鼠),呵呵,把过程贴一下,发
贴纪念。
---正文,感谢同事YML的整理^_^
MSDE2000没有自己的用户界面,因为它主要设计在后台运行,所以也叫”SQL Server桌面引擎,MSDE 2000提供的唯一工具是osql.
osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运行 Transact-SQL 语句和脚本文件。osql 工具使用 ODBC 数据库应用程
序编程接口 (API) 与服务器通讯。
当MSDE2000出现灾难性故障,无法正常运行,需重新安装,只要data文件存在,即数据库的数据文件还存在,重新安装MSDE2000后仍可以恢复数据库,恢复
步骤如下:
1、 确认MSDE 2000正在运行;
2、 在承载您要连接的 MSDE 2000 实例的计算机上打开一个命令窗口。
3、 键入下面的命令,然后按 ENTER 键:
osql –E
这可以通过使用 Windows 身份验证将您连接到 MSDE 2000 的本地默认实例。
如要连接到 MSDE 2000 的一个命名实例,请键入:
osql -E -S servername\instancename
如果您收到了下面的错误消息,表明 MSDE 2000 可能未在运行,或者您可能为安装的 MSDE 2000 的命名实例提供了错误的名称:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).
如果您成功连接到了该服务器,就会出现下面的提示:
1>
此提示表示 osql 已启动
4、 使用sp_detach_db 存储过程将数据库从SQL Server 的当前实例中分离出来:
下面的示例是恢复单位帐务系统中的名为dwzwconnect的数据库,首先将名为dwzwconnect的数据库从实例中分离出来,然后在附加到当前实例数据库
存放绝对路径,键入命令如下:
exec sp_detach_db @dbname = 'dwzwconnect'
EXEC sp_attach_single_file_db @dbname = 'dwzwconnect’,
@physname = 'C:\Program Files\方正春元\预算单位帐务系统\data\dwzwconnect_Data.MDF'
go
5、 同样单位帐务系统中的名为dwzw2006的数据库恢复步骤如上
执行以上5步操作,即可完全恢复帐务系统数据库,让帐务系统恢复运行(针对安装了MSDE2000数据库的帐务系统)