今天早上来,发现放数据库那个盘不见了,SQL也挂了,因是做得RAID5,修复后盘能打开了,数据库文件还在可是启动之后就显示为质疑状态,我通过操作终于把数据修复了(具体操作方法见这里http://www.db-recovery.com/raid5-sun-huai-hui-fu-hou-sql-shu-ju-ku-wu-fa-fu-jia-ti-shi-823-cuo-wu-cheng-gong-xiu-fu.html#more-67),
打开一看除了一个关键存放数据得表(此数据特别多有几千万)不能开启,
别的所有表都能开启,大家知道能用什么方法,把这个表得数据恢复,目前直接打不开
打开一看除了一个关键存放数据得表(此数据特别多有几千万)不能开启,
别的所有表都能开启,大家知道能用什么方法,把这个表得数据恢复,目前直接打不开
解决方案 »
- SQL:使用READTEXT是提示“向 READ TEXT 函数传递了 NULL textptr (text、ntext 或 image 指针)”?
- 能否在sysobjects系统表中查到用户未加密的存储过程名称
- E-R图绘制
- 关于sql查询时自动生成流水号字段解法!对我来说一个select实现很难
- CASE 抽多个字段问题
- 一个触发器的修改问题
- 这句 sql 怎么写?
- 请问如何用SQL语句把表的结构导出到另一个表?
- ORACLE字符集问题!!!愁!!请高手指点
- ??? 简单SQL语句,动态表 ???
- SQLServer惊天大BUG? [code=SQL] select * from table_name where col_date<='2010-6-28
- 表 'SF_BRJSK' 是外联接子句的内部成员。如果该表同时也包含在常规联接子句中,那么这种情况是不允许的。
GO
sp_dboption '问题数据库', 'single user', 'true'
Go
DBCC CHECKDB('问题数据库', REPAIR_ALLOW_DATA_LOSS)
Go
USE '问题数据库'go
exec sp_msforeachtable 'DBCC CHECKTABLE("问题表",REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX("问题表")'
go
sp_dboption '问题数据库', 'single user', 'false'
Go
后来把RAID5修复了下,E盘又回来了,而且数据都在
再启动SQL服务器之后,就显示那个数据为质疑状态我就通过一楼那个网上说的方法恢复之后,现在就剩下一个最关键的表无法打开
别的表都能开启而且数据都在现在的问题是怎么修复这个表(这个表的数据比较大,大概有几千万笔吧),别的表都以及OK了
物理损坏的话,很难修复.
----这个肯定是不行了,因为根本就无法执行SELECT
2.再停掉sql server
3.用suspect数据库的文件覆盖掉这个新建的同名数据库
4.再重启sql server
5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='his222'
Go
sp_dboption 'test', 'single user', 'true'
Go
DBCC CHECKDB('test')
Go
update sysdatabases set status =28 where name='test'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'test', 'single user', 'false'
Go
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧
企业管理器--右键你的数据库--所有任务--导出数据
--目标标数据库选择新建
--选择"在两个sql数据库之间复制对象和数据"
--把"包含扩展属性"选上,其他的根据需要选择
--最后完成
修復了11個多小時,最後的提示是(我的是繁体系统):checktable在资料表"SFC"上发现了0个配置错误和2020680个一致性错误
建议还是不要省这个钱 找数据修复公司处理, 一、浪费时间 二、知道修复的人也不可能会告诉你。还有,你上述所指 “硬盘e分区丢失,后来把RAID5修复了下,E盘又回来了” 你所做修复操作是什么? 是重新同步raid了还是其他什么操作? 有些操作都可能是导致数据损坏所在。 光问怎么恢复,又不说是sql在报什么错,让别人想帮你都帮不了。
修復了11個多小時,最後的提示是(我的是繁体系统): checktable在资料表"SFC"上发现了0个配置错误和2020680个一致性错误