十万火急,SQL Server数据库恢复?(200分)

  • 主题发起人 主题发起人 李长柱
  • 开始时间 开始时间

李长柱

Unregistered / Unconfirmed
GUEST, unregistred user!
由于服务器C盘突然损坏,幸好数据库在D:盘上(数据库大小为27GB),重新更换C:盘后,
SQL Server在读取数据库时,发生读取信息错误,经分析是数据库存取信息不完整所致,
由于该数据库存有大量重要信息,同时有没有其它备份,请问,SQL Server是否提供
对已经损坏的数据库的修复功能,解决问题者将获得相应报酬!
注:我们已经采用重建数据库的方法,常规的处理方法我们都已经试验过了。
 
setup sqlserver
 
象这种情况,不知master库备份没有?要是没有的话,恐怕就难了,
库的大小是27Gb?有没搞错,这么大,
 
我上次出现这种情况是因为第二次安装的sql server同原来的order 或者charset
不一样,你看看会不会也是这种情况呢?
 
象这种情况,不知master库备份没有?要是没有的话,恐怕就难了,
库的大小是27Gb?有没搞错,这么大,
 
建一个一模一样的数据库,然后把SQL停了,用这个27G的数据库把新建的数据库文件覆盖了,再启动,试试
 
我是指数据库结构需要一模一样。数据库有两个文件,一个数据库主体文件,另一个日志文件,两个不能少其中一个
 
先建一个空的数据库,而后启动 Sql Enterprise,找到相应的数据库,选择
restore database,选择from device,……(这几步操作你应该会吧),注意,option页中
一定要将force restore over existing database 选项选上,这样,只有你那个27G的备份
是备份出来的,那就肯定可以恢复数据的(只要你那个Sql 7是server 版),不选那个
force……选项的话,在恢复的时候是会报什么错误的。
试试,应该可以的,我拿这个方法恢复过一个10几个G的数据库
 
如果是 Backup 数据就包办了,李长柱大虾的 D 盘数据肯定不是 Backup 的,应该是 MDB 和 LDB 文件。
试一试 SP_Attach_DB 吧,我原来这样装上去过。
 
使用sp_init_dev,sp_attach_db好象可以把数据库文件挂回到SQL*SERVER里。
以前我做过(是我无意中破坏了MASTER后只好把数据库重新挂接),
好象是这两个存储过程。不过我记不清楚了。
你可以试试。
 
枫的办法管用,如果是backup一个一个表restore
 
用 枫 的方法吧,
我也用此法恢复过。
 
谢谢大家:
我也是替朋友帮忙,27G的数据库存有大量房产图片信息,文件为MDB 和 LDB 方式,
而不是用BackUp备份出来的,数据库版本为SQL Server 7.0,枫的办法我早已试过了,
数据库能够连接到SQL Server上,但数据库信息读不出来,我确认是数据库文件在C盘
突然损坏的情况下,数据库存储有问题(可能是索引信息错误),现在的问题是如何能
使用SQL Server的命令修复?
多谢!
 
请试试下面的方法:
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:/mssql7/data/pubs.mdf'
 
如果是两个文件:(mdf and ldf)
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:/mssql7/data/pubs.mdf',
@filename2 = N'c:/mssql7/data/pubs_log.ldf'
 
同意sportsman的方法,我也用过.
 
你重新安装后是否拷贝了master.dat出来?
如果有:
select * from sysdevices
select * from sysdatabases
在sysdevices里指定了设备的路径,你看看所指定的路径是否和目前一致!请小心检查,如
果不一致请update!修改完毕后看sysdatabases里status字段是否大于256,你的数据库假如
是suspect状态,那么肯定这个值是大于256的,把这个值改为X-256,X为原来的值。重新启
动就OK了!
如果没有:如果你用7.0,可以用sp_attachdb来把库加上去。
 
是SQL SERVER 7.0 还是SQL SERVER 6.5?
 
后退
顶部