SQL7.0中连接数据库
EXEC sp_attach_db @dbname = Npaxhos2002,
@filename1 = ND:\paxhospital_new\hos2002\paxhos2002_data.mdf,
@filename2 = ND:\paxhospital_new\hos2002\paxhos2002_log.ldf
运行出错
Server: Msg 823, Level 24, State 1, Line 1
I/O error (bad page ID) detected during read of BUF pointer = 0x1279a80, page ptr = 0x1fd44000, pageid = (0x1:0x45c), dbid = 7, status = 0x801, file = D:\paxhospital_new\hos2002\paxhos2002_data.mdf.
Connection Broken
因为26日CIH病毒,硬盘被损坏,这是我重坏硬盘里找回来的数据库表,不知道能不能修复
新建一同名数据库,然后停止数据库服务,用原来文件替换新建的数
据库文件,启动数据库,该数据库被设未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 (数据库名)看看有没有错误
如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库
晕~~你也太不小心了吧,啥年代了还中,呵呵:)
数据库没有备份吗?
下次要注意备份.
好像很困难了,因为你copy 出来的数据库文件本身就有问题,在附加的时候,系统会检查的,如果有错误是不能附加的。
要是你的.mdf文件坏了,就不能附加了,用文件修复软件试试能修好么