有关数据恢复的问题,500分,请各位高手帮帮我!

pobosskey 2003-04-02 07:18:28
用的是sqlserver 7.0 版本

由于硬盘磁道有坏,系统不能正常使用了,

重新安装了系统后,用sp_attach_single_file_db和sp_attach_db 都不能将数据库恢复过来,提示mdf文件I/O错误,还有说什么数据页的指针发生错误,

想把mdf文件拷贝出来,发现不能成功,可能是扇区坏掉的原因,对应的ldf文件读写很正常,另外还有一个一个月以前的一个bak的备份文件,靠这个文件能把系统正常恢复,但是一个月的所有数据全部丢失。

请问有办法把这个月的所有的数据都找回来吗?
...全文
93 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqc 2003-04-09
  • 打赏
  • 举报
回复
关注
八爪鱼-杭州 2003-04-07
  • 打赏
  • 举报
回复
gz
pobosskey 2003-04-07
  • 打赏
  • 举报
回复
而且,在重复上次的工作后,提示说这个log文件已经存在了, 那么怎么重新建立??
pobosskey 2003-04-07
  • 打赏
  • 举报
回复
to :大力
我执行到重新建log的那步就进行不下去了, 因为提示没有找到我要恢复的数据库, 这是怎么会事情啊》?
pobosskey 2003-04-07
  • 打赏
  • 举报
回复
怎么我就这样不行的呢??
seamanhailing 2003-04-06
  • 打赏
  • 举报
回复
好像是可以,谢谢大力了。
pobosskey 2003-04-03
  • 打赏
  • 举报
回复
今天白天尝试了下,不行 ,还有别的办法吗??
愉快的登山者 2003-04-02
  • 打赏
  • 举报
回复
1.备份整个DATA路径文件;
2.重新安装SQL;
3.用备份的DATA路径的文件覆盖新的DATA路径文件;
4.重新启动SQL.
zqllyh 2003-04-02
  • 打赏
  • 举报
回复
同情,这种办法不一定行!
找找卖火柴的吧
pobosskey 2003-04-02
  • 打赏
  • 举报
回复
to :大力

已经把那个ldf文件覆盖了??

还是只覆盖mdf 然后重新建立ldf文件,路径是没有覆盖的原来存放ldf文件的地方??
happydreamer 2003-04-02
  • 打赏
  • 举报
回复
status 32768 紧急模式
-32768 只读/脱机/紧急模式
272 置疑

还可以
update sysdatabases set status = status^256 where name = 'dbname'
把状态从置疑改为正常

pengdali 2003-04-02
  • 打赏
  • 举报
回复
1、你停止服务后覆盖数据库文件后再启动,你就会看到它是置疑的!
2、改为你的路径和文件
pobosskey 2003-04-02
  • 打赏
  • 举报
回复
to :大力

还有,请问怎么把数据库设置成紧急模式后然后再看数据库的内容??
生活真美好 2003-04-02
  • 打赏
  • 举报
回复
GZ
pobosskey 2003-04-02
  • 打赏
  • 举报
回复
请问怎么才能把数据库被设未suspect??

你说的“把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )


是不是就是把ldf文件改为你的演示的那个'E:\fdzz\database\fdzz1204_Log.LDF??
pengdali 2003-04-02
  • 打赏
  • 举报
回复
新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数

据库文件,启动数据库,该数据库被设未suspect

然后把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'

把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )

恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override

然后用DBCC CHECKDB ('数据库名')看看有没有错误

如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧